研究log4j 的xml配置文件,花了我将近一天的时间,真是郁闷。公司还很热,头疼死了。不过终于搞明白了 其实也很简单
log4j在初始化的时候 会先在classpath中寻找 log4j.porperties,当找不到该文件时,会接着寻找log4j.xml
研究了一下xml配置文件的书写方式,提供一个样例,具体的可以参考 log4j.dtd
通过<logger></logger>的定义可以将各个包中的类日志输出到不同的日志文件中
以下是完整的log4j.xml
java 代码
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
-
- <log4j:configuration xmlns:log4j='http:
- <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
- <layout class="org.apache.log4j.PatternLayout">
- <param name="ConversionPattern"
- value="[%d{dd HH:mm:ss,SSS\} %-5p] [%t] %c{2\} - %m%n" />
- </layout>
- </appender>
-
- <appender name="activex_appender" class="org.apache.log4j.DailyRollingFileAppender">
- <param name="File" value="E:/activex.log" />
- <param name="DatePattern" value="'.'yyyy-MM-dd'.log'" />
- <layout class="org.apache.log4j.PatternLayout">
- <param name="ConversionPattern" value="[%d{MMdd HH:mm:ss SSS\} %-5p] [%t] %c{3\} - %m%n" />
- </layout>
- </appender>
-
- <logger name="com.runway.bssp.activeXdemo" additivity="false">
- <level value="debug" />
- <appender-ref ref="activex_appender" />
- </logger>
- <root>
- <appender-ref ref="STDOUT"/>
- </root>
- </log4j:configuration>
-