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 stub
logger.debug("hello, log4j");
}

}

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

配置文件解析过程如下:
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的类名获得一个日志对象。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值