java - 使用任何文件附加程序的 Log4j 每日轮换和每月保留
问题描述
是否可以使用任何 log4j 附加程序编写具有特定轮换时间和保留限制的日志。
目标是:
- 每天都有一个日志文件;在午夜为新日志创建一个新文件
- 保留日志文件并在一定时间后自动删除它们;所以删除早于 X 天(例如 30 天)的日志文件
似乎可以进行轮换,但 log4j 无法限制保留时间
log4j 版本是 1.2。
解决方案
这个 log4J 属性对我有用
log4j.rootLogger=DEBUG, stdout, file
# Redirect log messages to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
# Redirect log messages to a log file, support file rolling.
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File=/opt/cronjob/logs/cronlogs.log
log4j.appender.file.MaxFileSize=1028MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
推荐阅读
- google-cloud-platform - Google Cloud gcloud 命令显示“区域 'us-east1-b' 中不存在名称为 'f1-micro--subnet=default' 的机器类型”
- algorithm - 为“不倒翁问题”开发一种算法
- c# - C#中2个位图图像之间的距离/相似度
- math - 盒子上离线最近的点
- java - 哈希攻击:找到长度为 2^N 且具有相同 hashCode() 的字符串
- java - 如何从 json 使用 Objectnode 中删除特定元素?
- php - 动态加载的表单,嵌套在表中不检索输入值
- sql - 如何在postgresql中按顺序选择不同的?
- javascript - 通过每个索引对象值从多维数组创建数组
- java - 多次运行同一个 Gradle 任务