如何使用 Log4j?
1、 Log4j 是什么?
Log4j 可以帮助调试(有时候 debug 是发挥不了作 用的)和分析,要下载和了解更详细的内
容,还是访问其官方网站吧: http://jakarta.apache.org/log4j 。
2、Log4j 的概念
Log4j 中有三个主要的组件,它们分别是 Logger、Appender 和 Layout,Log4j 允许开发
人员定义多个 Logger,每个 Logger 拥有自己的名字,Logger 之间通过名字来表明隶属关系。
有一个 Logger 称为 Root,它永远 存在,且不能通过名字检索或引用,可以通过
Logger.getRootLogger()方法获得,其它 Logger 通过 Logger.getLogger(String name)
方法。
Appender 则是用来指明将所有的 log 信息存放到什么地方,Log4j 中支持多种
appender,如 console、!les、GUI components、NT Event Loggers 等,一个 Logger
可以拥有多个 Appender,也就是你既可以将 Log 信息输出到屏幕,同时存储到一个文件中。
Layout 的作用是控制 Log 信息的输出方式,也就是格式化输出的信息。
Log4j 中将要输出的 Log 信息定义了 5 种级别,依次为 DEBUG、INFO、WARN、ERROR
和 FATAL,当输出时,只有级别高过配置中规定的 级别的信息才能真正的输出,这样就很方
便的来配置不同情况下要输出的内容,而不需要更改代码,这点实在是方便啊。
3、Log4j 的配置文件
虽然可以不用配置文件,而在程序中实现配置,但这种方法在如今的系统开发中显然是不可
取的,能采用配置文件的地方一定一定要用配置文件。Log4j 支持两 种格式的配置文件:XML
格式和 Java 的 property 格式,本人更喜欢后者,首先看一个简单的例子吧,如下:
log4j.rootLogger=debug,stdout, R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller's !le name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t](%F:%L)- %m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=example.log
log4j.appender.R.MaxFileSize=100KB
# Keep one backup !le
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
首先,是设置 root,格式为 log4j.rootLogger=[level],appenderName,...,其中 level
就是设置需要输出信息的级别,后面是 appender 的输出的目的地,appenderName 就是指
定日志信息输出到哪个地方。您可以同时指定多个输出目的地。 配置日志信息输出目的地
评论0
最新资源