Java Log4j没有将日志写入文件
Log4j.xmlJava Log4j没有将日志写入文件,java,logging,log4j,Java,Logging,Log4j,Log4j.xml <appender name="U_R_A" class="org.apache.log4j.DailyRollingFileAppender"> <param name="Threshold" value="fatal" /> <param name="Append" value="true" /> <param name="File" value="/logs/log_file.log" />
<appender name="U_R_A" class="org.apache.log4j.DailyRollingFileAppender">
<param name="Threshold" value="fatal" />
<param name="Append" value="true" />
<param name="File" value="/logs/log_file.log" />
<param name="DatePattern" value="'.'yyyy-MM-dd-HH" />
<layout class="org.apache.log4j.PatternLayout" />
</appender>
<logger name="U_Q_R" additivity="false">
<!-- Overridding from fatal to error -->
<level value="ERROR" />
<appender-ref ref="U_R_A" />
</logger>
Log4j没有将错误写入文件log\u file.log。
如果我将阈值更改为error,则它正在将内容写入文件。请帮助我理解。记录器有级别
错误
,它不会覆盖附加器的阈值
日志记录器将接受>=ERROR
的日志消息,因为您已将级别定义为ERROR
。然后,您的记录器只定义了一个appender,其阈值为致命
,这意味着appender将处理级别为=致命
的日志。这就是为什么error
level日志不会保存在日志文件中的原因
当您更改
阈值时,请参见此链接:谢谢,这真的很有帮助。
public class Main{
private static Logger logger = Logger.getLogger("U_Q_R");
public static void main(String[] args) {
DOMConfigurator.configure("log4j.xml");
logger.error("Some error happened!!");
}
}