搞定日誌------Logback

前言

做了很多項目,日誌配置是每個項目都會用到的,這裏積累一下用到過的Logback的配置及使用方式。

正文

依賴

        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.0.13</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.6.1</version>
        </dependency>

配置

logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true">

    <!-- 定義日誌文件 輸出位置 -->
    <property name="log.home_dir" value="/opt"/>

    <!-- 日誌最大的歷史 10天 -->
    <property name="log.maxHistory" value="10"/>

    <property name="log.level" value="INFO"/>

    <!-- INFO級別日誌 appender -->
    <appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>INFO</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>ACCEPT</onMismatch>
        </filter>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${log.home_dir}/logs/xxx-yyy-%d{yyyy-MM-dd}-%i.log</fileNamePattern>
            <maxHistory>${log.maxHistory}</maxHistory>
            <TimeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <MaxFileSize>2MB</MaxFileSize>
            </TimeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} %highlight(%-5level) %cyan(%logger{15}) - %msg %n</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>

    <root level="INFO">
        <appender-ref ref="INFO"/>
    </root>
</configuration>

這裏是按照時間策略配置,設置了文件最大size以及基於時間的最長保留日誌數,xxx-yyy換成自己的日誌文件名字即可。

發佈了102 篇原創文章 · 獲贊 24 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章