【问题标题】:logback how to store log file in folder having name as current datelogback如何将日志文件存储在名称为当前日期的文件夹中
【发布时间】:2018-06-25 12:31:05
【问题描述】:

以下 logback.xml 将创建一个日志文件,但我想每天创建一个与当前日期同名的新文件夹并存储新的日志文件

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <property name="DEV_HOME" value="/home/gaurav/flinklogs" />


   <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${DEV_HOME}/logFile.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <!-- daily rollover -->
      <fileNamePattern>logFile.%d{yyyy-MM-dd}.log</fileNamePattern>

      <!-- keep 30 days' worth of history capped at 3GB total size -->
      <maxHistory>30</maxHistory>
      <totalSizeCap>3GB</totalSizeCap>

    </rollingPolicy>

    <encoder>
      <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
    </encoder>
  </appender> 

  <root level="ERROR">
    <appender-ref ref="FILE" />
  </root>

</configuration>

我也尝试了以下文件名模式,但它不起作用

<fileNamePattern>${DEV_HOME}/%d{yyyy/MM, aux}/logFile.%d{yyyy-MM-dd}.log</fileNamePattern>

它是在 home/gaurav/flinklogs/logFile.log 中创建日志文件

【问题讨论】:

标签: logback


【解决方案1】:

如果同时指定了&lt;file&gt;&lt;fileNamePattern&gt;,则当前日志文件位于&lt;file&gt; 中指定的位置,存档日志文件位于&lt;fileNamePattern&gt; 中指定的位置 - 请参阅documentation

您需要删除&lt;file&gt;${DEV_HOME}/logFile.log&lt;/file&gt;,然后将&lt;fileNamePattern&gt;logFile.%d{yyyy-MM-dd}.log&lt;/fileNamePattern&gt; 更改为&lt;fileNamePattern&gt;${DEV_HOME}/%d{yyyy/MM, aux}/logFile.%d{yyyy-MM-dd}.log&lt;/fileNamePattern&gt;,它应该可以按照您希望的方式工作。

【讨论】:

  • 感谢它的工作,但首先创建年份文件夹,然后在它的月份文件夹下,我希望它作为一个文件夹,名称为当前日期
  • 因为%d{yyyy/MM, aux} 模式中有一个斜线。将其更改为%d{yyyy-MM, aux},您每月将拥有一个文件夹,例如。 2018-06%d{yyyy-MM-dd, aux} 每天有一个文件夹,例如。 2018-06-26.
【解决方案2】:

我使用“Konrad Botor”的答案制作了一个示例代码。 参考以下代码。

<appender name="dailyAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${payloadLoggingFilePath}-%d{yyyy-MM-dd}.log</fileNamePattern>
        </rollingPolicy>
        <encoder>
            <pattern>%m%n</pattern>
        </encoder>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-01
    • 2019-12-21
    • 2020-05-16
    • 2014-11-13
    • 1970-01-01
    • 2012-02-06
    相关资源
    最近更新 更多