Java – logback creates a log file in a folder named the current date

In my current project, I want the date to create a log file, that is, the log file should reside in it

The current appender I'm using looks like this (it archives log files according to size)

<appender name="AUDITFILE"
    class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${PROJECT_HOME}\\projectname\\audits\\myproject.log</file>
    <append>true</append>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <fileNamePattern>${PROJECT_HOME}\\projectname\\audits\\myproject_%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>

Solution

As described in the documentation for filenamepattern, you can specify multiple% d tags to place the date in the folder name of the archive file name:

<fileNamePattern>${PROJECT_HOME}\\projectname\\audits\\%d{yyyy-MM,aux}\\myproject_%d{yyyy-MM-dd}.%i.zip</fileNamePattern>

Note that only one% d tag can be the primary tag, and all other tags must be marked as secondary tags by passing the 'aux' parameter

However, if you also want to put it in a file name other than the archive file name, you have two options:

>Use the < timestamp / > element to set the variables used in the path However, this timestamp is only set once at startup, so it is good for batch operation, but not for services. > As described above (1), but the packaging < appender / > and < timestamp / > use the siftingappender, if logback > = 1.0 In version 12, the timestamp will be re evaluated Not sure how you want to configure siftingappender But I hope it will get you on track

The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>