Log4j2自動清理歷史日志

說明

log4j2中串稀,可以通過配置RollingFileAppender的清理策略來實現自動清理日志,具體可以參照官網中對RollingFileAppender配置文件的介紹:https://logging.apache.org/log4j/2.x/manual/appenders.html#FileAppender

另外存和,log4j1中的RollingFileAppender雖然無法實現自動清理日志的功能烟逊,但可以通過自己定義Appender來實現,可參照:log4j自動日志刪除(轉)

樣例

可以通過一個簡單的樣例來查看log4j2的自動清理日志功能吏垮,操作步驟如下:

  1. 使用Maven新建項目障涯,可以命名為log4j2_demo

  2. 完善pom.xml膳汪,加入對log4j2的依賴及編譯器插件唯蝶。(注:log4j2在2.3及以前版本支持JDK1.6,2.3之后的版本需要JDK1.7)

    <properties>
        <log4j2.version>2.7</log4j2.version>
    </properties>
    
    <dependencies>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
            <version>${log4j2.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>${log4j2.version}</version>
        </dependency>
    </dependencies>
    
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
    
  3. 在src/main/java目錄下新建類Demo遗嗽,用于不斷產生日志粘我,Demo.java內容如下:

    import org.apache.logging.log4j.LogManager;
    import org.apache.logging.log4j.Logger;
    
    public class Demo {
        private static final Logger logger = LogManager.getLogger();
    
        public static void main(String[] args) {
            while (true) {
                logger.trace("trace level");
                logger.debug("debug level");
                logger.info("info level");
                logger.warn("warn level");
                logger.error("error level");
                logger.fatal("fatal level");
            }
        }
    }
    
  4. 在src/main/resource下創(chuàng)建log4j2的配置文件log4j2.xml,寫入配置痹换,內容如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <Configuration status="warn">
        <Properties>
            <Property name="baseDir">logs</Property>
        </Properties>
    
        <Appenders>
            <RollingFile name="RollingFile" fileName="${baseDir}/app.log" filePattern="${baseDir}/$${date:dd日hh時}/app-%d{mm分ss秒}.log.gz">
                <PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
                <CronTriggeringPolicy schedule="* * * * * ?"/>
                <DefaultRolloverStrategy>
                    <Delete basePath="${baseDir}" maxDepth="2">
                        <IfFileName glob="*/app-*.log.gz" />
                        <IfLastModified age="5s" />
                    </Delete>
                </DefaultRolloverStrategy>
            </RollingFile>
        </Appenders>
      
        <Loggers>
            <Root level="all">
                <AppenderRef ref="RollingFile"/>
            </Root>
        </Loggers>
    </Configuration>
    
  5. 運行Demo類征字,可以看到在項目路徑下的logs文件夾中,每秒都會產生一個日志文件晴音,并且每隔秒都會自動刪除上一次修改在5s前的日志柔纵。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市锤躁,隨后出現的幾起案子搁料,更是在濱河造成了極大的恐慌,老刑警劉巖系羞,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件郭计,死亡現場離奇詭異,居然都是意外死亡椒振,警方通過查閱死者的電腦和手機昭伸,發(fā)現死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來澎迎,“玉大人庐杨,你說我怎么就攤上這事选调。” “怎么了灵份?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵仁堪,是天一觀的道長。 經常有香客問我填渠,道長弦聂,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任氛什,我火速辦了婚禮莺葫,結果婚禮上,老公的妹妹穿的比我還像新娘枪眉。我一直安慰自己捺檬,他們只是感情好,可當我...
    茶點故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布瑰谜。 她就那樣靜靜地躺著欺冀,像睡著了一般树绩。 火紅的嫁衣襯著肌膚如雪萨脑。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天饺饭,我揣著相機與錄音渤早,去河邊找鬼。 笑死瘫俊,一個胖子當著我的面吹牛鹊杖,可吹牛的內容都是我干的。 我是一名探鬼主播扛芽,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼骂蓖,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了川尖?” 一聲冷哼從身側響起登下,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎叮喳,沒想到半個月后被芳,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡馍悟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年畔濒,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片锣咒。...
    茶點故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡侵状,死狀恐怖赞弥,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情趣兄,我是刑警寧澤嗤攻,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站诽俯,受9級特大地震影響妇菱,放射性物質發(fā)生泄漏。R本人自食惡果不足惜暴区,卻給世界環(huán)境...
    茶點故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一闯团、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧仙粱,春花似錦房交、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至隔心,卻和暖如春白群,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背硬霍。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工帜慢, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人唯卖。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓粱玲,卻偏偏與公主長得像,于是被迫代替她去往敵國和親拜轨。 傳聞我的和親對象是個殘疾皇子抽减,可洞房花燭夜當晚...
    茶點故事閱讀 42,802評論 2 345

推薦閱讀更多精彩內容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發(fā)現橄碾,斷路器卵沉,智...
    卡卡羅2017閱讀 134,599評論 18 139
  • 在應用程序中添加日志記錄總的來說基于三個目的:監(jiān)視代碼中變量的變化情況,周期性的記錄到文件中供其他應用進行統計分析...
    時待吾閱讀 4,951評論 1 13
  • 在應用程序中添加日志記錄總的來說基于三個目的:監(jiān)視代碼中變量的變化情況堪嫂,周期性的記錄到文件中供其他應用進行統計分析...
    時待吾閱讀 4,961評論 0 6
  • 0 準備 安裝注冊中心:Zookeeper偎箫、Dubbox自帶的dubbo-registry-simple;安裝Du...
    七寸知架構閱讀 13,970評論 0 88
  • 一、配置maven的pom.xml加載jar包 為了后續(xù)開發(fā)的方便恶复,將SSM框架所有需要的jar包一并加載進來 p...
    docki閱讀 2,233評論 1 23