log4j问题,定义的Log文件内容为空。请高手指点
天下有雪 2011-11-18 01:28:06 ------log4j.xml------
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="CONSOL" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p (%c:%L)- %m%n" />
</layout>
</appender>
<appender name="SIMPLE" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="./log/testlog4jxml_simple.log" />
<param name="Append" value="true" />
<param name="MaxFileSize" value="1MB" />
<param name="MaxBackupIndex" value="10000" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p (%c:%L)- %m%n" />
</layout>
</appender>
<logger name="simple" additivity="false">
<level value="DEBUG" />
<appender-ref ref="SIMPLE"/>
</logger>
<root>
<level value="ERROR" />
<appender-ref ref="CONSOL" />
</root>
</log4j:configuration>
-----java-----------
package log4jSample;
import org.apache.log4j.Logger;
import org.apache.log4j.xml.DOMConfigurator;
public class Sample {
static Logger logger = Logger.getLogger(Sample.class);
/**
* @param args
*/
public static void main(String[] args) {
DOMConfigurator.configure("log4j.xml");
logger.fatal("fatal error!");
logger.error("data format error!");
logger.warn("this is a warnning!!");
logger.info("is running!");
logger.debug("OK");
}
}
-----问题------
log信息,写不进定义的文件里。不知为什么。另,如果在<root>里,加上<appender-ref ref="SIMPLE"/>的话,log文件里就有信息。