每天生成一个
log4j
日志
文件
,如果只需要将最近一段
时间
内的
日志
文件
保留,以前或更早的
文件
不用保留。例如只保留最近一周的
日志
,
日志
文件
保留3天等等这些。。。通过这个jar包就可以实现。
log4j
.properties
文件
在包中,拷贝出来用就可以了
log4j
.appender.A2=org.apache.
log4j
.RollingFileAppender
#定义A2输出到哪个
文件
log4j
.appender.A2.File=./log/test.log
#保留最近15天的
日志
log4j
.appender.A2.MaxBackupIndex = 15
#最近15天的
日志
最大限制为3MB
log4j
.ap
当
log4j
使用DailyRollingFileAppender进行
日志
归档时,需要对
日志
的个数进行控制。
此时需要对DailyRollingFileAppender进行重写。
package org.apache.
log4j
;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
因为现场的定时调度框架是前辈写的,前辈已高就,现场使用因为涉及到一天几亿数据需要提取出来,转换为其他表数据,所以
日志
量特别大,1天10个G,长此以往肯定不行的,找了很多网上的教程都不行,最后发现,这样就可以删除3天的
日志
,目的达到,备忘分享
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="DEBUG">
<Appenders>
<Console name="console" tar
最近做项目的时候,遇到了
日志
的输出问题。我们想按小时输出
日志
,同时最多
保存
7天的
日志
。
log4j
本身自带的appender如下:
org.apache.
log4j
.ConsoleAppender 输出到控制台
org.apache.
log4j
.FileAppender 输出到
文件
org.apache.
log4j
.DailyRollingFileAppender
org.apache.l...
一般来说,
log4j
.jar中提供的
日志
都是按天
保存
,并且当天第一次启动项目,去生成前一天的
日志
,并且Info和error
日志
信息都
保存
在一起,对于
日志
都没有分类,不好管理与查看;
现如今重写
log4j
.jar中的DailyRollingFileAppender.java,让
日志
按照自己约定的方式,满足客户的需求;
重写的类名更改为:CustomDailyRollingFileAppender.java
日志
生成要求:
第一种方式:
日志
按天生成,按月
保存
到一个
文件
夹中,
日志
...
最近做的项目,遇到了的情境:要每个
日志
按固定大小生成,超过设定大大小就生成新的
日志
文件
,同时在
文件
名字后面加上日期,并自动按照
设置
的保留天数保留
日志
,过期的
日志
自动删除。
然而,
log4j
自带的生成
日志
的几个方法,可以按照日期
时间
生成
日志
,也可以按照
设置
的大小滚动生成
日志
,就是没有即按照大小生成,又在
日志
名字后面加上日期,同时又清除过期
日志
的方法。看了源码,决定综合重新写一个类,实现这些需求。
https://www.cnblogs.com/xishuai/p/spring-boot-
log4j
2.html
https://blog.csdn.net/shope9/article/details/87379255
<dependency>
<groupId>org.springframew...
import java.io.IOException;
import java.io.InterruptedIOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Ma