您的位置:首页技术文章
文章详情页

请正确初始化log4j系统。在运行Web服务时

【字号: 日期:2024-04-25 15:23:33浏览:45作者:猪猪
如何解决请正确初始化log4j系统。在运行Web服务时?

这些消息有些棘手,足以使人们创建此消息使其更加清晰: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文档中找到有关如何配置rootlogger()的信息,基本上在文件开头添加了以下内容:

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

(确保您尚未有名为appender的附加程序stdout;还要注意您为root记录程序指定的级别,debug它非常冗长,并且应用程序中的每个库都将开始向控制台)。

关于log4j.properties/ log4j.xml,我建议您放置该文件,/WEB-INF/classes因为将其公开以进行不同的调整(激活/停用日志,更改日志级别等)非常重要。您也可以将其放在类路径的JAR中(如注释中所指定),但是它将被包含在存档中(希望位于存档中的正确位置),并且不会像它那样容易处理在/WEB-INF/classes。

解决方法

问这个问题似乎很愚蠢,但我很困惑。我提到了配置Log4j属性,但这似乎无济于事。

我已经编写了一个简单的Web服务HelloWorld。而在运行它时,我得到这样的错误:

log4j:WARN找不到记录器的附加程序(org.apache.axis.transport.http.AxisServlet)。log4j:WARN请正确初始化log4j系统。

我不确定为什么会这样。

我正在使用Eclipse生成Web服务,并将其部署在Tomcat6.0中。我查看了《Axis开发人员指南》并根据它们

log4j.configuration =log4j.properties使用此系统属性可以指定Log4J配置文件的名称。如果未指定,则默认配置文件为log4j.properties。axis.jar中提供了一个log4j.properties文件。

我在中找不到log4j.properties axis.jar。

有什么帮助吗?

标签: web
相关文章: