我从2010年开始使用log4j。很棒的工具。 在一个新软件中,我导入了相同的配置和库,但在部署时,应用程序以日志级别DEBUG开始(但我没有设置调试级别)。 它记录所有struts2和hibernate配置(大约500行)! 在hibernate和struts2启动之后,最后,软件调用init方法并将loggin级别设置为ERROR。 (并且一切正常)
我不喜欢这种行为:我想立即将所有日志记录在ERROR级别。 在我的所有其他软件中,它工作正常。
我习惯了这个标准配置: 我在init方法的servlet中加载log4j.properties,在我使用的web.xml中(我也试过0和-1):
<load-on-startup>1</load-on-startup>
servlet的Init方法
@Override
public void init() {
PropertyConfigurator.configure(log4j_address);
}
这是log4j.properties:
log4j.rootCategory=error, stdout
log4j.logger.org=error
log4j.logger.com=error
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%7p %d{DATE} %-20F:%3L - %m%n