java – logback在名称为当前日期的文件夹中创建日志文件
发布时间:2020-12-15 04:09:39 所属栏目:Java 来源:网络整理
导读:在我当前的项目中,我希望日期创建日志文件,即日志文件应该驻留在里面 名称为日期的文件夹. 归档也应该在该特定文件夹中进行. 我正在使用的当前appender看起来像这样(它根据大小存档日志文件). appender name="AUDITFILE" class="ch.qos.logback.core.rolling
在我当前的项目中,我希望日期创建日志文件,即日志文件应该驻留在里面
名称为日期的文件夹. 归档也应该在该特定文件夹中进行. 我正在使用的当前appender看起来像这样(它根据大小存档日志文件). <appender name="AUDITFILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${PROJECT_HOME}projectnameauditsmyproject.log</file> <append>true</append> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${PROJECT_HOME}projectnameauditsmyproject_%d{yyyy-MM-dd}.%i.zip </fileNamePattern> <maxHistory>10</maxHistory> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>10KB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> <encoder> <pattern>%date %msg%n </pattern> </encoder> </appender> 解决方法
如
fileNamePattern的文档中所述,您可以指定多个%d标记,以便将日期放在存档文件名的文件夹名称中:
<fileNamePattern>${PROJECT_HOME}projectnameaudits%d{yyyy-MM,aux}myproject_%d{yyyy-MM-dd}.%i.zip</fileNamePattern> 请注意,只有一个%d标记可以是主标记,所有其他标记必须通过传递’aux’参数标记为辅助标记. 但是,如果您还想将其放在非归档文件名的文件名中,那么您有两个选择: >使用< timestamp />元素,用于设置在路径中使用的变量.但是这个时间戳只会在启动时设置一次,所以它对批量运行有好处,但对于服务却没有.>如上所述(1),但包装< appender />和< timestamp />使用SiftingAppender,如果使用logback> = 1.0.12版本,将重新评估时间戳.不确定您要如何配置SiftingAppender.但希望这会让你走上正轨. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |