老蔡的个人专栏正式成立,以后工作中遇到的技术问题,或者生活中对一些事物的见解,都会和大家分享!独乐乐不如众乐乐!

项目日志管理 Log4j 配置

网站部署 BlandonTsai 867℃ 0评论

log4j icon

Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可以用 key=value 格式的设置或 xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。

一、配置文件

Log4J配置文件的基本格式如下:

其中 [level] 是日志输出级别,共有7级:

上面这些级别是定义在 org.apache.log4j.Level 类中。Log4j只建议使用4个级别,优先级从高到低分别是error、warn、info和debug。通过使用日志级别,可以控制应用程序中相应级别日志信息的输出。例如,如果使用b了info级别,则应用程序中所有低于info级别的日志信息(如debug)将不会被打印出来。

Appender 日志输出目的地

Layout日志输出格式

打印参数

Log4J采用类似C语言中的printf函数的打印格式格式化日志信息,如下:

%m 输出代码中指定的消息
%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
%r 输出自应用启动到输出该log信息耗费的毫秒数
%c 输出所属的类目,通常就是所在类的全名
%t 输出产生该日志事件的线程名
%n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式
(比如:%d{yyy MMM dd HH:mm:ss , SSS},输出类似:2002年10月18日 22:10:28 , 921)
%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java: 10)

二、在代码中初始化Logger

1.得到记录器

使用Log4j,第一步就是获取日志记录器,这个记录器将负责控制日志信息。其语法为:

通过指定的名字获得记录器,如果必要的话,则为这个名字创建一个新的记录器。Name一般取本类的名字,比如:

2.读取配置文件

当获得了日志记录器之后,第二步将配置Log4j环境,其语法为:

3.插入记录信息(格式化日志信息)

当上两个必要步骤执行完毕,您就可以轻松地使用不同优先级别的日志记录语句插入到您想记录日志的任何地方,其语法如下:

三、为不同的 Appender 设置日志输出级别

当调试系统时,我们往往注意的只是异常级别的日志输出,但是通常所有级别的输出都是放在一个文件里的,如果日志输出的级别是DEBUG!?那就慢慢去找吧。
这时我们也许会想要是能把异常信息单独输出到一个文件里该多好啊。当然可以,Log4j已经提供了这样的功能,我们只需要在配置中修改Appender的Threshold 就能实现,比如下面的例子:

运行一下,看看异常信息是不是保存在了一个单独的文件error.log中。

转载请注明:似水流年 » 项目日志管理 Log4j 配置

如果觉得文章还不错,欢迎打赏
喜欢 (0)or分享 (0)
发表我的评论
取消评论