请正确初始化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。
有什么帮助吗?
相关文章:
1. javascript - h5上的手机号默认没有识别2. css - div display: inline-block; 置中?3. angular.js - ionic 弹窗样式4. python - 网站显示的图片与爬虫获取到的图片不同,应该如何确定问题?5. 极光推送 - Android app消息推送 百度 极光 个推 信鸽哪个好一些?6. javascript - ajax中的 textStatus 报错为 parsererror?7. javascript - 在html中写了个<video>视频,浏览器却是一片空白为什么呢?360浏览器?8. javascript - 如何保证数据库里的信息安全?9. css3 - Firefox 字号相对IE、Chrome更大,如何在CSS中统一?10. vue.js - weex scroller搭配refresh在android平台上拉会触发refresh