一、简介
Log4j是Apache的一个开源项目,可以到官方网址下载 log4j.jar。Log4j主要有三个组件组成
1、logger组件
中文解释为记录器,用来负责现产生日志
2、Appender组件
用来将日志信息输出到目的地
3、Layout组件
用来格式化输出的日志信息
二、使用步骤
简单的说,Log4j的使用,先是得到一个记录器,即上面所说的logger组件,然后为记录器指定appender,以及得到指定的日志格式化方式。这样就可以使用记录器,操作日志了。下面分步介绍。
1、得到记录器
对于根记录器,通过Logger.getRootLogger() 获得。其它记录器则用Logger.getFLogger(String name)获取,我们一般都不使用根记录器。
2、读取配置文件
读取配置文件就是为记录器指定appender以及layout。可以通过程序配置,也可以通过配置文件配置。在程序中通过BasicConfigurator.configure(),就给记录器指定了一个简单的配置环境.而通过PropertyConfigurator.configure(String FileName),则从配置文件中读入配置环境,看示例,一个配置文件
log4j.rootLogger=INFO,console //为根记录器指定一个名为console的Appender
log4j.testLog=,file //定义testLog记录器,指定其Appender为file
log4j.additivity.testLog=false //testLog的记录叠字加性为false
log4j.appender.console=org.apache.log4j.ConsoleAppender //定义名为console的Appender
log4j.appender.console.layout=org.apache.log4j.SimpleLayout //console Appender的输出格式
log4j.appender.file=org.apache.log4j.FileAppender //定义名为file的Appender
log4j.appender.file.File=D:/tomcat/webapps/play/test.log //指定file Appender的日志输出路径
log4j.appender.file.layout=org.apache.log4j.PatternLayout //指定file的layout为PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%c]-[%-5p]%m%n%n //指定file的输出格式
3、使用
完成以上两步,就可以使用日志记录器了,看以下示例:
public static void main(String[] args) {
private static Logger logger = logger1.getLogger("testLog");
PropertyConfigurator.configure("D://tomcat//webapps//play//log4j.properties");
//BasicConfigurator.configure();
logger.debug("你好");
logger.info("hello");
}
三、补充
配置文件除了用properties,还可以用xml文件,配置项与properties大同小异,只要撑握其xml的文档格式即可。在java的web应用中,这两个配置都可以通过web.xml读入,然后可以在servlet中初始化一个单例。另外还可以把日志信息写入数据库,只需要修改配置文件即可。最后简单介绍一下NDC和MDC,这两个功能相似,都是为了区分不同客户端的日志,说白了就是给每一个客户端产生的日志加上ip,以示区别。