我的TOMCAT下,webapps 下有目录abc, 
进行了如下设置: 
    
<Context path="" docBase="d:\tomcat6\webapps\abc" debug="0" reloadable="true"> 
</Context> 
想设置LOG4J中每天一份日志,如下设置: 
log4j.appender.LOGFILE=org.apache.log4j.DailyRollingFileAppender #log4j.appender.LOGFILE=org.apache.log4j.FileAppender log4j.appender.LOGFILE.File=${catalina.base}/logs/abc_ log4j.appender.file.DatePattern=yyyy-MM-dd'.log' 但运行后,当第二天时,不能切换日志,说如下错误,为什么呢? 
failed to rename: 

解决方案 »

  1.   

    log4j.appender.LOGFILE.File=${catalina.base}/logs/abc_  ?
      

  2.   

    failed to rename:  ???
    这个后面的信息呢?
      

  3.   

    Log4j的组成:
    Log4j由三个重要的组成构成:日志记录器(Loggers),输出端(Appenders)和日志格式化器(Layout)。A).Logger对象的获得或创建:
    Logger被指定为实体,由一个String类的名字识别。Logger的名字是大小写敏感的,且名字之间具有继承关系,子名用父名作为前缀,用点“.”分隔,例如x.y是x.y.z的父亲。
    root Logger(根Logger)是所有Logger的祖先,它有如下属性:
    1.它总是存在的。
    2.它不可以通过名字获得。B)日志级别
    每个Logger都被了一个日志级别(log level),用来控制日志信息的输出。日志级别从高到低分为:
    A:off         最高等级,用于关闭所有日志记录。
    B:fatal       指出每个严重的错误事件将会导致应用程序的退出。
    C:error      指出虽然发生错误事件,但仍然不影响系统的继续运行。
    D:warm     表明会出现潜在的错误情形。
    E:info         一般和在粗粒度级别上,强调应用程序的运行全程。
    F:debug     一般用于细粒度级别上,对调试应用程序非常有帮助。
    G:all           最低等级,用于打开所有日志记录。C)输出端Appender
    Appender用来指定日志信息输出到哪个地方,可以同时指定多个输出目的地。Log4j允许将信息输出到许多不同的输出设备中,一个log信息输出目的地就叫做一个Appender。
    每个Logger都可以拥有一个或多个Appender,每个Appender表示一个日志的输出目的地。可以使用 Logger.addAppender(Appender app)为Logger增加一个Appender,也可以使用Logger.removeAppender(Appender app)为Logger删除一个Appender。
    以下为Log4j几种常用的输出目的地。
    a:org.apache.log4j.ConsoleAppender:将日志信息输出到控制台。
    b:org.apache.log4j.FileAppender:将日志信息输出到一个文件。
    c:org.apache.log4j.DailyRollingFileAppender:将日志信息输出到一个日志文件,并且每天输出到一个新的日志文件。
    d:org.apache.log4j.RollingFileAppender:将日志信息输出到一个日志文件,并且指定文件的尺寸,当文件大小达到指定尺寸时,会自动把文件改名,同时产生一个新的文件。
    e:org.apache.log4j.WriteAppender:将日志信息以流格式发送到任意指定地方。
    f::org.apache.log4j.jdbc.JDBCAppender:通过JDBC把日志信息输出到数据库中。
      log4j.rootCategory=DEBUG, stdout, R#Console config
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=<%d> <%-5p> <%c> - %m(%F:%M:%L)%n#File configlog4j.appender.R=org.apache.log4j.DailyRollingFileAppender
    #每天输出一个日志文件
    log4j.appender.R.DatePattern='_'yyyy-MM-dd'.log'
    #昨天的日志文件名Sendmsg+“昨天日期”.log
    log4j.appender.R.File=${catalina.home}/webapps/SSH/logs/Sendmsg.log
    #日志文件的路径,${catalina.home} 即Tomcat下
    log4j.appender.R.layout=org.apache.log4j.HTMLLayout
    #日志文件输出格式
    log4j.appender.R.layout.ConversionPattern=%d{yyyy:MM:dd:HH:mm:ss} %-5p [%C] (%F:%L) - %m%n
    给LZ参考下
      

  4.   

    设置是绝对没错的了,我看了下,说要改LOG4J代码?