我有一个Spring 3独立应用程序,我正在使用log4j进行日志记录。 Log4j设置是下面粘贴的xml中的设置。我将日志输出写入控制台,但没有任何内容写入日志文件。
Log4j在类 Main 中按语句
初始化DOMConfigurator.configure("abanol-loader-log4j.xml");
我已经尝试过更改记录器级别值,方法是在记录器文件中更改属性 additivity 的值,甚至删除它。我将输出写入控制台但没有写入日志文件(但它已创建)。
我已经成功验证了XML文件,我搜索了一个解决方案,但我什么都没得到。有什么想法吗?
提前致谢。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" threshold="debug" debug="false">
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p %c - %m%n"/>
</layout>
</appender>
<appender name="file" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="abanol-loader.log"/>
<param name="MaxFileSize" value="25MB"/>
<param name="MaxBackupIndex" value="20"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%5p-%d{ISO8601}-[%t]-%C.%M:%L(%c{1}) - %m%n"/>
</layout>
</appender>
<logger name="es.pack1.mypackage" additivity="true">
<level value="DEBUG"/>
<appender-ref ref="file"/>
<appender-ref ref="console"/>
</logger>
<logger name="org.springframework" additivity="true" >
<level value="WARN"/>
<appender-ref ref="file"/>
</logger>
<logger name="net.sf.jasperreports" additivity="false">
<level value="DEBUG"/>
<appender-ref ref="file"/>
</logger>
<root>
<level value="DEBUG" />
<appender-ref ref="console"/>
<appender-ref ref="file"/>
</root>
</log4j:configuration>
答案 0 :(得分:0)
您已在log4j.xml中配置“Console Appender”和“RollingFile Appender”
因此,Log4j默认选择第一个。即,Console Appender作为日志记录。
因此,它正在Console(System.out.println)
中写入日志报告请删除Console Appender,然后它会自动将日志保存在文件中...........
答案 1 :(得分:0)
我最后用属性文件替换了log4j XML配置。我认为它与我使用的XML相同,但它可以工作,而XML则不然。我真的不知道为什么。
log4j.rootCategory=DEBUG, S, file
log4j.logger.es.bod.freenergy.abanol=DEBUG, file
log4j.appender.S = org.apache.log4j.ConsoleAppender
log4j.appender.S.layout = org.apache.log4j.PatternLayout
log4j.appender.S.layout.ConversionPattern =%5p-%d{ISO8601}-[%t]-%C.%M:%L(%c{1}) - %m%n
log4j.appender.file = org.apache.log4j.RollingFileAppender
log4j.appender.file.File =abanol-loader.log
log4j.appender.file.MaxFileSize = 10Mb
log4j.appender.file.MaxBackupIndex=25
log4j.appender.file.Append = false
log4j.appender.file.layout = org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%5p-%d{ISO8601}-[%t]-%C.%M:%L(%c{1}) - %m%n
感谢谁回答了我的问题。