这些消息有些棘手,足以使人们创建此消息使其更加清晰:https
:
//issues.apache.org/bugzilla/show_bug.cgi?
id =25747
关于它们的棘手之处在于,如果Log4j找不到其
log4j.properties(或
log4j.xml)文件,并且该文件既好又花哨但从配置的角度来看它的内容不完整,则会写警告。
以下段落摘自此处:http
:
//svn.apache.org/repos/asf/logging/log4j/tags/v1_2_9/docs/TROUBLESHOOT.html
日志输出通过使用附加程序写入目标。 如果没有任何附加程序附加到类别或其任何祖先,则在尝试登录时会收到以下消息:
log4j: No appenders could be found for category (some.category.name).log4j: Please initialize the log4j system properly.
Log4j没有默认的日志记录目标。 用户有责任确保所有类别都可以继承附加程序。通过将附加器附加到根类别,可以轻松实现这一点。
您可以
log4j.rootLogger在log4j
文档中找到有关如何配置root
logger()的信息,基本上在文件开头添加了以下内容:
log4j.rootLogger=debug, stdoutlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
这应该清除您在启动时收到的WARN消息
(确保您尚未有名为appender的附加程序
stdout;还要注意您为root记录程序指定的级别,
debug它非常冗长,并且应用程序中的每个库都将开始向控制台)。
关于
log4j.properties/
log4j.xml,我建议您放置该文件,
/WEB-INF/classes因为将其公开以进行不同的调整(激活/停用日志,更改日志级别等)非常重要。您也可以将其放在类路径的JAR中(如注释中所指定),但是它将被包含在存档中(希望位于存档中的正确位置),并且不会像它那样容易处理在
/WEB-INF/classes。



