首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

Log4j怎么解析配置文件

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

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的类名获得一个日志对象。

热点排行