Log4j2 定期/定大小生成日志文件
来源:互联网 发布:html静态网页源码 编辑:程序博客网 时间:2024/06/05 19:09
Log4j2 对于生成日志文件时,可以通过对<File>中的<Policies>进行设置,来完整日志文件各种生成方案
定期生成日志文件
log4j2.xml
1
<Configuration status="WARN" monitorInterval="300">
2
<properties>
3
<property name="LOG_HOME">user/logs</property>
4
</properties>
5
6
<Appenders>
7
<RollingRandomAccessFile name="logfile" fileName="${LOG_HOME}/app.log"
8
filePattern="${LOG_HOME}/app-%d{yyyy-MM-dd}.log">
9
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
10
<Policies>
11
<TimeBasedTriggeringPolicy interval="1" modulate="true" />
12
</Policies>
13
</RollingRandomAccessFile>
14
<DefaultRolloverStrategy max="20"/>
15
</Appenders>
16
17
<Loggers>
18
<Root level="debug">
19
<AppenderRef ref="logfile" />
20
</Root>
21
</Loggers>
22
</Configuration>
此时日志按天数产生,及每天产生一个新的日志文件,其中关键的地方在于 <RollingRandomAccessFile> filepattern属性和<TimeBasedTriggeringPolicy> 的设置;
<RollingRandomAccessFile > filepattern 中的日期格式精确位数决定了生成日志的日期单位,<TimeBasedTriggeringPolicy> interval 决定该单位下的间隔数,如果在上面例子中 interval 设置为 5,那么就是5天生成一个日志;
如果按月生成日志,那么 filePath 修改为 "${LOG_HOME}/app-%d{yyyy-MM}.log";
按小时生成日志,filePath = "${LOG_HOME}/app-%d{yyyy-MM-dd-HH-mm}.log";
上面例子中的 <DefaultRolloverStrategy max="20"/> 用于设置符合同个filePath的日志文件的最大数量,超过这个数量时,新产生的日志文件会覆盖旧的日志文件,没有设置时,默认值为7;
定大小生成日志文件
log4j2.xml
1
<Configuration status="WARN" monitorInterval="300">
2
<properties>
3
<property name="LOG_HOME">user/logs</property>
4
</properties>
5
6
<Appenders>
7
<RollingRandomAccessFile name="logfile" fileName="${LOG_HOME}/app.log"
8
filePattern="${LOG_HOME}/error-%i.log">
9
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
10
<Policies>
11
<SizeBasedTriggeringPolicy size="10 MB" />
12
</Policies>
13
</RollingRandomAccessFile>
14
<DefaultRolloverStrategy max="20"/>
15
</Appenders>
16
17
<Loggers>
18
<Root level="debug">
19
<AppenderRef ref="logfile" />
20
</Root>
21
</Loggers>
22
</Configuration>
其中 <SizeBasedTriggeringPolicy size="10 MB" /> 用于设置单个日志文件的大小上限,<RollingRandomAccessFile> filepattern 中的 "%i" 输出文件的次序,<DefaultRolloverStrategy> 设置设置符合同个filePath的日志文件的最大数量;
阅读全文
0 0
- Log4j2 定期/定大小生成日志文件
- Log4j2介绍和特性实例(七)--代码中指定日志文件的名字
- 服务器定期清理日志文件
- 12.4.2 定期清理日志文件
- 定期清除Kloxo日志文件脚本
- SQL定期自动清理数据库日志文件
- shell脚本:定期删除日志文件
- Log4j使用笔记(二):每天生成一个日志文件、按日志大小生成文件
- Maven Log4j2 Marker 不同类型的日志写入不同的文件
- Log4j2 日志分级别输出到不同文件
- log4j2配置日志文件以时间方式显示
- 生成指定大小文件
- 生成任意大小文件
- SQLSERVER数据库日志文件过大,如何压缩并定期清理 ?
- logrotate定期备份日志文件的配置文件样例
- log4j2配置mybatis日志
- log4j2 按天分日志
- Java日志-Log4J2
- Log4j2 快速使用
- 静态内部类和非静态内部类区分
- Log4j2 日志分级别输出到不同文件
- 三星gearvr控制器及手柄全部输入
- Ubuntu 安装sublime text 3并设置使用搜狗输入法中文输入
- Log4j2 定期/定大小生成日志文件
- IDEA 创建 JUnit
- JUnit 断言和注解
- 训练自己的数据
- JUnit Ant/Maven集成
- IDEA 创建 JUnit
- 冒泡排序和快速排序
- 德-摩根定律
- Python随手记