系统自动生成了一些代码,里面都是用的common-logging做的日志,无奈,只要加入log4j两个配置文件内容如下
commons-logging.propertiesorg.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLoggerlog4j.properties### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
### root logger option ###
log4j.rootLogger=info, stdout
### Hibernate logging options ###
log4j.logger.net.sf.hibernate=info
### log JDBC bind parameters ###
log4j.logger.net.sf.hibernate.type=info
### log PreparedStatement cache activity ###
log4j.logger.net.sf.hibernate.ps.PreparedStatementCache=info
在web-inf\classes下也有这两个文件,但是启动的时候就是报错
log4j:WARN No appenders could be found for logger (org.apache.commons.digester.Digester.sax).
log4j:WARN Please initialize the log4j system properly.请帮我解决一下,谢谢

解决方案 »

  1.   

    在web-inf\classes下也有这两个文件,但是启动的时候就是报错
    log4j:WARN No appenders could be found for logger (org.apache.commons.digester.Digester.sax).
    log4j:WARN Please initialize the log4j system properly. 你确定这个是log4j.properties找不到吗?我这里也是一直报这个错,但是
    log还是正常打出来了
      

  2.   

    加一个root配置,因为一直用xml配置,想不起来properties的配置格式了。
    <root>
    <priority value="error" />
    <appender-ref ref="file" />
    <appender-ref ref="console" />
    </root>
      

  3.   

    最简单的方法 log4j.properties放到src下面 不就不报了啊
      

  4.   

    你先吧commons-logging.properties去掉看看,log4j能否正常使用
      

  5.   

    如果我没猜错的话,那些log是common-logging打出来的
      

  6.   

    那就是log4j的配置有问题,或者换个log4j的jar包看看
      

  7.   

    和他们所有人说的都没关系,相信我,我说的绝对是正确的
    log4j.rootLogger=OFF, stdout出现这个问题的原因是,tomcat(假设你是tomcat,其他类似)启动的时候,之前都是都是加载tomcat,用的是tomcat\conf\logging.properties,同时还没有加载你工程,没有log4j什么事情,这个阶段,日志没什么问题接下来加载工程,按照web.xml的load-on-startup优先度,加载Servlet,一般第一个是Struts的ActionServlet。而ActionServlet的第一件事情,又是去使用org.apache.commons.digester.Digester读取struts-config,这个时候,由于使用的是你的工程对应的类加载器,classpath中存在log4j,而org.apache.commons.digester.Digester类中的日志对应的分类,就是org.apache.commons.digester.Digester,而你的log4j配置没有为他配置过,所以有警告。之后就不会有这个警告。只要配置一下默认的输出关闭(或只输出高级别错误信息)即可。