我需要每天配置我的日志,并希望每天创建单独的日志文件,只有每 24 小时的日志。如何在我的 XML 中适应它。
任何人都可以帮助我重构它,因为它对我来说看起来很业余。
我不需要根据大小滚动,请建议,因为我的 logback.xml 共享如下:
logback.xml
<?xml version="1.0" encoding="UTF-8"?>
<timestamp key="bySecond" datePattern="yyyy-MM-dd_HHmmss" />
<!-- Send debug messages to System.out -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n
</pattern>
</encoder>
</appender>
<appender name="ROLLING"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.folder}/TM-${bySecond}.log</file>
<rollingPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${log.folder}/Archive-%d{yyyy-MM-dd}.%i.log
</fileNamePattern>
<maxFileSize>10MB</maxFileSize>
<maxHistory>30</maxHistory>
<totalSizeCap>1GB</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>TM ID [%X{TMId}] %d{HH:mm:ss.SSS} [%thread]
%-5level %logger{5} - %msg%n</pattern>
</encoder>
</appender>
<appender name="PS"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.folder}/PS/TM-PS-%d{yyyy-MM-dd}.log
</fileNamePattern>
<maxHistory>30</maxHistory>
<totalSizeCap>1GB</totalSizeCap>
</rollingPolicy>
<triggeringPolicy
class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>10MB</maxFileSize>
</triggeringPolicy>
<encoder>
<pattern>TM ID [%X{TMId}] %d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern>
</encoder>
</appender>
<appender name="R1"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.folder}/R1/TM-R1-%d{yyyy-MM-dd}.log
</fileNamePattern>
<maxHistory>30</maxHistory>
<totalSizeCap>1GB</totalSizeCap>
</rollingPolicy>
<triggeringPolicy
class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>10MB</maxFileSize>
</triggeringPolicy>
<encoder>
<pattern>TM ID [%X{TMId}] %d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern>
</encoder>
</appender>
<appender name="D1"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.folder}/D1/TM-D1-%d{yyyy-MM-dd}.log
</fileNamePattern>
<maxHistory>30</maxHistory>
<totalSizeCap>1GB</totalSizeCap>
</rollingPolicy>
<triggeringPolicy
class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>10MB</maxFileSize>
</triggeringPolicy>
<encoder>
<pattern>TM ID [%X{TMId}] %d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern>
</encoder>
</appender>
<appender name="TRANSACTIONSIFTER" class="ch.qos.logback.classic.sift.SiftingAppender">
<discriminator>
<key>transactionData</key>
<defaultValue>default-data</defaultValue>
</discriminator>
<sift>
<appender name="trancsactionFileAppender"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.folder}/PS/Transactions/TM-PS-${transactionData}-%d{yyyy-MM-dd}.log
</fileNamePattern>
<maxHistory>30</maxHistory>
<totalSizeCap>1GB</totalSizeCap>
</rollingPolicy>
<triggeringPolicy
class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>10MB</maxFileSize>
</triggeringPolicy>
<encoder>
<pattern>TM ID [%X{TMId}] %d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern>
</encoder>
</appender>
</sift>
</appender>
<logger name="in.smartbox.TM" level="info" additivity="false">
<appender-ref ref="ROLLING" />
<appender-ref ref="STDOUT" />
</logger>
<logger name="in.smartbox.TM.PS" level="info"
additivity="false">
<appender-ref ref="PS" />
<appender-ref ref="STDOUT" />
<appender-ref ref="TRANSACTIONSIFTER" />
</logger>
<logger name="in.smartbox.TM.R1" level="info"
additivity="false">
<appender-ref ref="R1" />
<appender-ref ref="STDOUT" />
</logger>
<logger name="in.smartbox.TM.D1" level="info"
additivity="false">
<appender-ref ref="D1" />
<appender-ref ref="STDOUT" />
</logger>
<!-- By default, the level of the root level is set to DEBUG -->
<root level="info">
<appender-ref ref="ROLLING" />
<appender-ref ref="STDOUT" />
</root>