在Ubuntu上實現Java日志自動化處理,可通過以下工具和方法配置:
logrotate工具
sudo apt-get install logrotate
/etc/logrotate.d/
下創建配置文件(如my-java-app
),設置輪轉策略(按天/大?。?、保留天數、壓縮等,例如:/path/to/java/logs/*.log {
daily
rotate 7
compress
missingok
notifempty
create 640 root adm
}
systemd-journald
/etc/systemd/journald.conf
,設置日志大小限制和保留策略,如:[Journal]
SystemMaxUse=500M
SystemMaxFiles=5
sudo systemctl restart systemd-journald
,通過journalctl -u your-service
查看日志。Java日志框架自帶功能
RollingFileAppender
設置按時間/大小滾動,例如:<!-- Log4j2示例 -->
<RollingFile name="RollingFile" fileName="/var/log/myapp.log"
filePattern="/var/log/myapp-%d{yyyy-MM-dd}-%i.log.gz">
<Policies>
<TimeBasedTriggeringPolicy />
<SizeBasedTriggeringPolicy size="100MB"/>
</Policies>
<DefaultRolloverStrategy max="7"/>
</RollingFile>
第三方工具(高級需求)
選擇建議:
logrotate
或Java日志框架的滾動策略。