ARTIFACTORY: How to rotate Artifactory and Access logs daily using logback.xml
JFrog Artifactory uses the logback framework for Artifactory and Access services. Logback is a popular open-source Java-based logging framework designed for efficient and flexible logging in Java applications.
To rotate your Artifactory and Access logs daily and archive them for n number of days, please use the sample appender using time based rolling policy along with
Artifactory Version 7:
Below is the example of rotating artifactory-service/access/request.log daily and keeping them for 30 days.
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${log.dir}/artifactory-service.log</File>
<encoder>
<pattern>%date{yyyy-MM-dd'T'HH:mm:ss.SSS, UTC}Z [jfrt ] [%-5p] [%-16X{uber-trace-id}] [%-30.30(%c{3}:%L)] [%-20.20thread] - %m%n</pattern>
</encoder>
<!-- http://logback.qos.ch/manual/appenders.html#TimeBasedRollingPolicy -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- rollover daily -->
<FileNamePattern>${log.dir.archived}/artifactory-service/%d{yyyy-MM-dd}/artifactory-service.%d{yyyy-MM-dd}.log.gz</FileNamePattern>
<!-- keep logs for 30 days -->
<maxHistory>30</maxHistory>
</rollingPolicy>
</appender>
<appender name="REQUEST" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${log.dir}/artifactory-request.log</File>
<encoder>
<pattern>%m%n</pattern>
</encoder>
<!-- http://logback.qos.ch/manual/appenders.html#TimeBasedRollingPolicy --> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${log.dir.archived}/artifactory-request/%d{yyyy-MM-dd}/artifactory-request.%d{yyyy-MM-dd}.log.gz</FileNamePattern>
<!-- keep logs for 30 days -->
<maxHistory>30</maxHistory>
</rollingPolicy>
</appender>
<appender name="ACCESS" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${log.dir}/artifactory-access.log</File>
<encoder>
<pattern>%m%n</pattern>
</encoder>
<!-- http://logback.qos.ch/manual/appenders.html#TimeBasedRollingPolicy -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${log.dir.archived}/artifactory-access/%d{yyyy-MM-dd}/artifactory-access.%d{yyyy-MM-dd}.log.gz</FileNamePattern>
<!-- keep logs for 30 days -->
<maxHistory>30</maxHistory>
</rollingPolicy>
</appender>