遇到一个问题,log4j中我想让文件写在logs中的某个目录,然后按照时间来管理,比如logs/wb/20121008/login,logs/wb/20121008/order,按照时间和模块分好文件夹,文件名字我知道怎么弄,现在就是logs/后面这个当天时间怎么表示。求大神支招。。
我现在配置:
appender name="LOG_DEBUG"
class="com.ffcs.component.log.ProDailyRollingFileAppender">
<param name="File" value="${catalina.base}/logs/wb/debug/" />
<param name="DatePattern" value="'client-'yyyyMMdd" />
<param name="MaxFileSize" value="50MB" />
<param name="MaxBackupIndex" value="99" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="&lt;log level=%p time=%d{yyyyMMddHHmmss} position=%C:%M:%L&gt;%m&lt;/log&gt;%n" />
</layout>就是<param name="File" value="${catalina.base}/logs/wb/debug/" />这一个配置想加个时间 类似<param name="File" value="${catalina.base}/logs/wb/时间/debug/" />

解决方案 »

  1.   

    不知这样行不行
    value="${catalina.base}'/logs/wb/'yyyyMMdd'/debug/'"
    或者
    value="${catalina.base}/logs/wb/%d{yyyyMMdd}/debug/"
      

  2.   

    文件名称中添加时间可以在log4j.properties中配置就好了.目录名称道理应该是一样的.
    log4j.appender.LOGFILE.File=${webapp.root}/projectname/debug_log.log
    把project改成带时间的格式
    log4j.appender.TRACE.File=${web_home}/${projectname}/debug_log.log
    然后把projectname的值,根据当前时间设置一下
    String date = "2012-10-08";
    System.setPropertity("projectname",date)试试行不行.
      

  3.   

    这个是用properties的配置文件配得,有没有XML的啊