`

log4j:WARN No appenders could be found for logger

阅读更多

log4j:WARN No appenders could be found for logger (org.apache.catalina.startup.Embedded).

log4j:WARN Please initialize the log4j system properly.

 

启动tomcat发现日志中有红色的警告信息,以前没有看到过这种警告,在重启tomcat之前我做了一个事情:把一个lcds项目需要的jar包中lib目录下的jar文件全部拷贝到了tomcat -common-lib下面。在网上查找解决方案时找到的说法很多,最终是确定property文件没问题,删除common-lib下面的log4j.jar。

 

 

网上找到的两段话帮助我解决这个问题:

1.log4j:WARN No appenders could be found for logger log4j:WARN Please initialize the log4j system properly. “正常”配置log4j后,启动Tomcat,报告上述错误。看到这段信息给我的感觉是,在log4j.properties属性文件中,没有找到与指定logger对应的appender,让我初始化log4j。可是我已经在环境变量里指定属性文件log4j.properties了,每次运行启动Tomcat还是报告上述信息。虽然是WARN信息,而且日志还是可以正常输出,但是,心理还是别扭,肯定是在配置环境的时候哪里出现了问题。一般情况下,程序报告错误信息,我都认为是人的问题,不是计算机的问题。于是我开始了艰苦卓绝地查找错误的旅程。上网搜索一下相关的错误信息,发现有很多类似的帖子,虽然错误信息稍有所差别,但是共同的是都有上面警告信息。里面所写的相关的解决方法,也都不是很有效。这个问题折磨了我好久,郁闷!无意中看到这么一句话,“一个干净的运行环境对程序来说,是非常重要的。”顿时我有一种醍醐灌顶的感觉,帅!可能是我放jar包的位置不对。但是,该放的地方都放了。问题就在这儿了,就是有可能不该放的地方也放了。这是一个在程序员工作中经常出现的问题,在运行过很多的程序的环境下,其中的jar包可能到处都是,如果没有及时的进行清理工作,将会对后面开发的程序不一定什么时候,产生意想不到的影响。回到正题,现在我想到的问题是有可能在程序还没有读取到我指定的log4j.properties属性文件时,就已经开始运行与log4j相关的log4j-1.2.8.jar文件了,所以才会出现报告没有初始化的警告信息。那么究竟是在哪里提前执行了log4j-1.2.8.jar文件了呢?引起我最大怀疑的就是C:\Borland\JBuilder2005\thirdparty\jakarta-tomcat-5.0.27\common\lib下的这个jar文件。事实也确实是这样,当我将这个jar文件删除掉的时候,从新运行启动Tomcat后,这个信息就再也没有出现。现在回头来想一下,为什么会出现这种情况呢?我自己分析有可能是因为以下的原因。由于是在JBuilder中集成的第三方软件,当启动JBuilder中的Tomcat时,首先他会自动查找工程中用到的自身文件夹下的common\lib下的jar文件,如果找到的话,就进行加载,然后才查找conf\下的log4j.properties等相关的配置文件,正是因为这样,才会报告没有初始化的信息。如果在common\lib下没有找到工程中要用到的jar文件,就先配置conf\下的配置文件,然后到工程中自身包含的lib下查找所用到的jar文件,这时就先把log4j的初始化工作作完了,所以这时在启动Tomcat时就不再提示没有初始化的警告信息了。总结:在配置各种运行环境的时候,不要认为将要用到的jar文件拷贝到所有的相关的lib文件夹下,就会省很多事,想当然地认为用到时会自动调用,但是当相关配置有先后顺序的时候,会带来很多不必要的麻烦以及意想不到的问题。所以要充分地了解jar文件的用途以及他应该在的位置。提示:在环境变量中可以设置以下两个变量 CATALINA_OPTS -Dlog4j.configuration=file:/C:/Borland/JBuilder2005/thirdparty/jakarta-tomcat-5.0.27/conf/log4j.properties CLASSPATH C:\Borland\JBuilder2005\lib\log4j-1.2.8.jar; 但是我运行成功后,我将这两个变量分别删掉后,程序运行仍然正常。如果你的程序运行时出现了某些问题,建议还是将这两个环境变量加上。


2.在Eclipse中开发相关项目时,在控制台经常看到如下信息: 

 log4j:WARN No appenders could be found for logger 
 log4j:WARN Please initialize the log4j system properly. 
        此处输出信息并不是错误信息而仅只是警告信息,因为log4j无法输出日志,log4j是一个日志输入软件包。可以将Struts或Hibernate等压缩包解压,内有log4j.properties文件,将它复制到项目src文件夹或将log4j.properties放到 \WEB-INF\classes文件夹中即可。

分享到:
评论
1 楼 夏天的风 2009-09-16  
收益了……谢谢

相关推荐

    log4j:WARN No appenders could be found for logger (org.springframework.context.s

    NULL 博文链接:https://wait7758521.iteye.com/blog/1933964

    log4j日志报错解决办法

    提示:log4j:WARN Please initialize the log4j system properly,log4j:WARN No appenders could be found for logger错误的处理办法

    log4j.properties

    1.log4j:WARNNoappenderscouldbefoundforlogger(org.apache.hadoop.util.Shell). 2.log4j:WARNPleaseinitializethelog4jsystemproperly. 3.log4j:WARNSeehttp://logging.apache.org/log4j/1.2/faq....

    JAVACCC.DLL

    log4j:WARN No appenders could be found for logger org apache commons beanutils ConvertUtils 出现这个错误 在web inf classes路径下加了log4j properties文件还是这个错误log4j:WARN Please initialize the ...

    quartz log4j

    log4j:WARN No appenders could be found for logger (com.mchange.v2.log.MLog). log4j:WARN Please initialize the log4j system properly.

    log4j-1.2.14.jar

    报错WARN No appenders could be found for logger 或 WARN Please initialize the log4j system properly时需要引入的包。用法可以参考https://blog.csdn.net/u010912188/article/details/79761894

    schemacrawler-hive:适用于Apache Hive的SchemaCrawler插件

    模式爬虫配置单元 不幸的是,到目前为止, 似乎是不切实际的。 从hive-1.1.0(CDH5.4)开始,...log4j:WARN No appenders could be found for logger (org.apache.hive.jdbc.Utils). log4j:WARN Please initialize the

    log4j-appenders

    dotcms 中使用的 log4j ASYNC Appender

    hadoop-2.6.0-hadoop.dll-winutils.exe

    log4j:WARN No appenders could be found for logger (org.apache.hadoop.metrics2.lib.MutableMetricsFactory). log4j:WARN Please initialize the log4j system properly. log4j:WARN See ...

    clj-hbase:小型且不完整的 hbase 0.98.3 clojure 包装器

    clj-hbase 这是一个用于 hbase 0.98.3 的小型且仍然不完整的 clojure 包装器 用法 假设我们有一个带有列族“byte-data...log4j:WARN No appenders could be found for logger ( org.apache.hadoop.metrics2.lib.Mutabl

    hanging-chad:演示两个ZK客户可以一次认为自己是领导者

    玩具应用程序可证明参加动物园管理员领导者选举食谱的多个客户可以随时认为自己是领导者。 建造 建立: $ ../gradlew jar 这将在build / libs中创建...log4j:WARN No appenders could be found for logger (org

    struts2驱动包

    log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader). log4j:WARN Please initialize the log4j system properly. 2009-8-29 14:02:12 org.apache.catalina.core....

Global site tag (gtag.js) - Google Analytics