读书人

Log4j怎么解析配置文件

发布时间: 2012-08-16 12:02:15 作者: rapoo

Log4j如何解析配置文件
新建java项目,引入log4j-1.2.16.jar;
在src下创建配置文件log4j.properties,写入如下内容

log4j.rootLogger=debug,appender1  log4j.appender.appender1=org.apache.log4j.ConsoleAppender    log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout

编写java代码如下:
import org.apache.log4j.Logger;public class HelloWorldLog4j {/** * @param args */private static Logger logger = Logger.getLogger(HelloWorldLog4j.class);public static void main(String[] args) {// TODO Auto-generated method stublogger.debug("hello, log4j");}}

运行HelloWorldLog4j控制台将打印
[main] DEBUG HelloWorldLog4j - hello, log4j

配置文件解析过程如下:
Logger.getLogger方法内调用LogManager.getLogger(clazz.getName())方法,要想调用LogManager.getLogger必须初始化类LogManager,初始化会执行LogManager类的静态语句块,就是在此静态语句块内完成的配置文件加载操。在静态语句块内使用当前类加载器的getResource方法获得URL对象,先默认搜索log4j.xml,如果不存在,再搜索log4j.properties,得到log4j.properties的绝对路径,如果得到的xml文件则使用OptionConverter类的instantiateByClassName静态方法解析配置文件,否则使用PropertyConfigurator类的doConfigure解析配置文件,然后根据解析的配置文件得到LoggerRepository,就可以根据HelloWorldLog4j的类名获得一个日志对象。

读书人网 >开源软件

热点推荐