//=========================
问题一:我不清楚log4j在什么时候加载?(我用的ssh sturts1)//===========================
我只是引入log4j的包,然后从网上找了一个log4j.properties手动改了改配置放到工程的src下,也没有在web.xml中配置可是在工程中可以使用的 我在工程中这样写在我的日志文件中也有输出 protected Logger logger = Logger.getLogger(this.getClass().getName()); logger.error("===========begin===========");我见你们还要在web.xml中配置你的代码:web.xml<servlet>
<servlet-name>log4j-init</servlet-name> 
    <servlet-class>com.boxun.masoa.common.Util.Log4jInit</servlet-class> 
    <init-param> 
      <param-name>log4j</param-name> 
      <param-value>WEB-INF/classes/log4j.properties</param-value> 
    </init-param> 
  <load-on-startup>1</load-on-startup> </servlet>
而且有人还在使用log4j时写上以下代码:  PropertyConfigurator.configure("log4j.properties");
也是加载log4j.properties这个文件。//=========================
问题二:我不清楚log4j在使用 DailyRollingFileAppender什么时候生成我重新命名的日志文件。(据说是午夜十二点可是我自己调时间试验了一下没有成功)//===========================
下面是我的log4j.properties
#++++++++++++++++++++++++++++++++++++++++++WARN+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
log4j.logger.WarnAppender=warn
log4j.appender.WarnAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.WarnAppender.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.WarnAppender.File=${catalina.home}/logs/warn
log4j.appender.WarnAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.WarnAppender.Threshold = WARN 
log4j.appender.WarnAppender.Append=true 
log4j.appender.WarnAppender.layout.ConversionPattern=%d{HH\:mm\:ss} %-5p [%C] (%F\:%L) - %m%n#+++++++++++++++++++++++++++++++++++++++++++ERROR++++++++++++++++++++++++++++++++++++++++++log4j.logger.ErrorAppender=error
log4j.appender.ErrorAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.ErrorAppender.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.ErrorAppender.File=${catalina.home}/logs/error
log4j.appender.ErrorAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.ErrorAppender.Threshold = ERROR 
log4j.appender.ErrorAppender.Append=true 
log4j.appender.ErrorAppender.layout.ConversionPattern=%d{HH\:mm\:ss} %-5p [%C] (%F\:%L) - %m%n
#++++++++++++++++++++++++++++++++debug++++++++++++++++++++++++++++++++++++++++++++++++++++
log4j.logger.DebugAppender=debug
log4j.appender.DebugAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.DebugAppender.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.DebugAppender.File=${catalina.home}/logs/debug.log
log4j.appender.DebugAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.DebugAppender.Threshold = Debug
log4j.appender.DebugAppender.Append=true 
log4j.appender.DebugAppender.layout.ConversionPattern=%d{HH\:mm\:ss} %-5p [%C] (%F\:%L) - %m%n

解决方案 »

  1.   

    <servlet> 
    <servlet-name>log4j-init </servlet-name> 
        <servlet-class>com.boxun.masoa.common.Util.Log4jInit </servlet-class> 
        <init-param> 
          <param-name>log4j </param-name> 
          <param-value>WEB-INF/classes/log4j.properties </param-value> 
        </init-param> 
      <load-on-startup>1 </load-on-startup> </servlet> 
    这个不用配置,只要把你的log4j.properties 放到src下即可,log4j的API已经提供了加载的方法。建议你看下log4j的配置,网上一堆