日志记录(log4j)

来源:互联网 发布:淘宝支付宝账号怎么改 编辑:程序博客网 时间:2024/05/29 15:23

Log4j日志记录


Log4j(Log for java)是Apache的一个开源项目,是一个日志记录组件,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等。

我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。

Log4j由三个重要的组件构成:

日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。

日志信息的优先级从高到低有FTTAL、ERROR、WARN、INFO、DEBUG(TRACE),分别用来指定这条日志信息的重要程度

日志信息的输出目的地指定了日志将打印到控制台还是文件中

而输出格式则控制了日志信息的显示内容。


Log4j支持两种配置文件格式,一种是XML格式的文件,一种是Java特性文件(键=值)

配置日志信息输出目的地Appender

配置日志信息的格式(布局)

Maven添加日志记录依赖

Log4j属性配置文件

参考地址:

http://blog.csdn.net/azheng270/article/details/2173430/

http://www.iteye.com/topic/378077

http://www.codeceo.com/article/log4j-usage.html


日志记录

日志记录是在软件开发过程中常常需要考虑的关键因素。当产品运行出错时,日志文件通常是我们进行错误分析的首要选择。而且,在很多情况下,它们是我们手上唯一可以用来查明发生状况和问题根本原因的信息。

5条规则

1)、日志是面向读者的(日志消息不仅要对书写(日志)代码的人有意义,也应该对日志文件的读者有意义)

实体名字和其逻辑关键字足以识别在表格中的一条记录了。

2)、匹配日志等级和执行环境

Java系统中提供的所有日志管理工具和引擎都有日志等级(ERROR、INFO……)的概念,这将有可能过滤掉等级过低的消息。例如,Java util logging使用如下的等级:SEVERE、WARN、INFO、FINE、FINER、FINEST(+ CONFIG和OFF)。

相反,两个最受欢迎的日志管理工具,Apache Commons LoggingSLFJ更倾向于如下的等级:FATAL、ERROR、WARN、INFO、DEBUG、TRACE。

(3)、提交前去除编码帮助日志

编码时,我们常常会使用logger或是System.out在代码中添加日志消息,来更好地掌握应用程序在执行、调试期间发生的状况。非测试驱动开发中很受欢迎。

一旦你已经完成开发工作,在将代码提交到使用中的 SCM 系统(Gitsvn……)之前,要去除所有临时的和不必要的日志消息。

4)、log debug消息之前检查日志等级

每次你想要log一个DEBUG消息时(在使用了规则3后的留下的所有消息),需要在前面添加一个检查来明确是否启用了DEBUG日志。可以阻止代码去创建日志消息和调用logger,提高产品运行程序的效率。

5)、了解你的logger

我们应该查阅所选择的日志管理工具、引擎的javadoc文档,了解使用它们logger的最有效的方法。

服务端的日志应该根据客户端的行为或客户端看到的提示来划分:

第一类日志:运行日志

适用情况:客户端发出请求后,服务端进行了正常处理,并最后将结果响应给客户端,比如“操作成功”。

记录内容:运行日志记录客户端的各类行为,为以后的系统逻辑错误提供依据。

第二类日志:异常日志

适用情况:客户端的操作请求不满足条件,比如,“参数不足”,或“没有相关权限”,这属于正常的异常情况。

记录内容:异常日志记录什么时间、什么人、什么条件、操作了什么内容,运行日志为解答客户疑问提供帮助。

第三类日志:错误日志

适用情况:系统在测试阶段没有发现的各种bug,比如,“空指针错误”,“堆栈溢出”,“下标越界”等等

记录内容:除了记录什么时间、什么人、什么条件、操作了什么内容外,还需要记录exception的详细信息,甚至代码位置

参考地址

http://blog.csdn.net/debugdegug/article/details/47128141

http://blog.csdn.net/zollty/article/details/53958428

http://blog.csdn.net/fengqilove520/article/details/52755914

http://blog.csdn.net/u011050631/article/details/48394633?locationNum=6&fps=1

原创粉丝点击