簡體   English   中英

配置Tomcat日志輪換窗口

[英]Configure Tomcat Log rotation windows

我使用tomcat 9.0,slf4j進行日志記錄。 問題在於日志文件太大(17GM-我看到的最大值)。 我創建了基於Java的日志刪除系統。 因為tomcat每天都會創建新的日志文件。 但是,這是一個出乎意料的時刻。 Tomcat會隨時創建日志文件,有時可能會使用舊文件。 例如今天是16日。 該文件可以使用到18日。 這就是為什么尺寸變大的原因。 即使配置正確(針對我的情況)日志創建,我也可能在一個文件中保留2天的日志。 例如,從16日1:00 pm到17日12:00 am。

因此,我想以某種方式配置旋轉。 有人可以幫忙嗎?

slf4j只是一個接口,您必須使用log4j,logback,common-logging等(slf4j的示例)。

如果使用slf4j + logback,則可以在logback.xml文件中設置rollingPolicy。 它可以是TimeBasedRollingPolicy,Size或兩者的組合。

例如,要設置基於時間的策略以每天創建日志文件並將較舊的文件移動到歸檔文件夾並僅保留最近30天的日志,則可以將其添加到logback.xml文件中

<appender name="app" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${catalina.home}/logs/appname/app.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  <fileNamePattern>${catalina.home}/logs/archive/appname/app.%d{yyyy-MM-dd}.old.log</fileNamePattern>
  <maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
  <pattern>[%X{key}]%date{"yyyy-MM-dd'T'HH:mm:ss,SSSXXX", UTC} %-5level %logger{35}.%M[%L]-[%t] - %msg %n</pattern>
</encoder>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM