Java logback在名称为当前日期的文件夹中创建日志文件

Java logback在名称为当前日期的文件夹中创建日志文件,java,logback,appender,Java,Logback,Appender,在我当前的项目中,我想按日期创建日志文件,即日志文件应位于日志文件中 名称为日期的文件夹。 此外,存档应在该特定文件夹中进行 我当前使用的appender如下所示(它根据大小对日志文件进行归档) ${PROJECT\u HOME}\\projectname\\audits\\myproject.log 真的 ${PROJECT\u HOME}\\projectname\\audits\\myproject\%d{yyyy-MM-dd}.%i.zip 10 10KB %日期%msg%n 如的文档

在我当前的项目中,我想按日期创建日志文件,即日志文件应位于日志文件中
名称为日期的文件夹。 此外,存档应在该特定文件夹中进行

我当前使用的appender如下所示(它根据大小对日志文件进行归档)


${PROJECT\u HOME}\\projectname\\audits\\myproject.log
真的
${PROJECT\u HOME}\\projectname\\audits\\myproject\%d{yyyy-MM-dd}.%i.zip
10
10KB
%日期%msg%n

如的文档中所述,您可以指定多个%d令牌,以便将日期放入存档文件名的文件夹名称中:

<fileNamePattern>${PROJECT_HOME}\\projectname\\audits\\%d{yyyy-MM, aux}\\myproject_%d{yyyy-MM-dd}.%i.zip</fileNamePattern>
${PROJECT\u HOME}\\projectname\\audits\\%d{yyyyy-MM,aux}\\myproject\uu%d{yyyy-MM-dd}。%i.zip
请注意,只有一个%d令牌可以是主令牌,所有其他令牌必须通过传递“aux”参数标记为辅助令牌

但是,如果还希望将其放在非归档文件名的文件名中,则有两个选项:

  • 使用
    元素设置在路径中使用的变量。但是这个时间戳只会在启动时设置一次,所以它适合于批处理运行,但不适合于服务

  • 如上文(1)所述,但使用
    筛选追加器
    包装
    ,如果使用logback>=1.0.12版本,则可重新评估时间戳。不确定您想要如何配置
    SiftingAppender
    。但希望这能让你走上正轨


  • 谢谢你的回复。这对我真的很有帮助。
    <fileNamePattern>${PROJECT_HOME}\\projectname\\audits\\%d{yyyy-MM, aux}\\myproject_%d{yyyy-MM-dd}.%i.zip</fileNamePattern>