java項目實戰之logback的配置與使用

Logback的配置其實是非常簡單的,其實也就是一個文件就夠了,然後使用的時候,直接創建logger對象來使用。

1.配置位置

做項目的時候一般都會有一個這樣的文件夾,存放一下資源文件,放在這個地方,它就會自動掃描在這裏面的logback.xml文件了,但是要注意的是,其他的文件是不掃描的只有logback.xml

2.logback.xml的配置

值得注意的是最後一步,<logger name="com.teyu.mo2o" level="${log.level}" additivity="true">我們要指定相應的日誌需要打印的包,這裏我們選擇的是整個項目

 

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

<configuration scan="true" scanPeriod="60 seconds" debug="false">

    <!-- 定義參數常量 -->

    <!-- TRACE<DEBUG<INFO<WARN<ERROR -->

    <!-- logger.trace("msg") logger.debug... -->

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

    <property name="log.maxHistory" value="30" />

    <!--  C:\Users\liteyu\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0 -->

    <property name="log.filePath" value="${catalina.base}/logs/webapps" />

    <property name="log.pattern"

        value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n" />

    <!-- 控制檯設置 -->

    <appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender">

        <encoder>

            <pattern>${log.pattern}</pattern>

        </encoder>

    </appender>

    <!-- DEBUG -->

    <appender name="debugAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">

        <!-- 文件路徑 -->

        <file>${log.filePath}/debug.log</file>

        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

            <!-- 文件名稱 -->

            <fileNamePattern>${log.filePath}/debug/debug.%d{yyyy-MM-dd}.log.gz

            </fileNamePattern>

            <!-- 文件最大保存歷史數量 -->

            <maxHistory>${log.maxHistory}</maxHistory>

        </rollingPolicy>

        <encoder>

            <pattern>${log.pattern}</pattern>

        </encoder>

        <filter class="ch.qos.logback.classic.filter.LevelFilter">

            <level>DEBUG</level>

            <onMatch>ACCEPT</onMatch>

            <onMismatch>DENY</onMismatch>

        </filter>

    </appender>

    <!-- INFO -->

    <appender name="infoAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">

        <!-- 文件路徑 -->

        <file>${log.filePath}/info.log</file>

        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

            <!-- 文件名稱 -->

            <fileNamePattern>${log.filePath}/info/info.%d{yyyy-MM-dd}.log.gz

            </fileNamePattern>

            <!-- 文件最大保存歷史數量 -->

            <maxHistory>${log.maxHistory}</maxHistory>

        </rollingPolicy>

        <encoder>

            <pattern>${log.pattern}</pattern>

        </encoder>

        <filter class="ch.qos.logback.classic.filter.LevelFilter">

            <level>INFO</level>

            <onMatch>ACCEPT</onMatch>

            <onMismatch>DENY</onMismatch>

        </filter>

    </appender>

    <!-- ERROR -->

    <appender name="errorAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">

        <!-- 文件路徑 -->

        <file>${log.filePath}/erorr.log</file>

        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

            <!-- 文件名稱 -->

            <fileNamePattern>${log.filePath}/error/error.%d{yyyy-MM-dd}.log.gz

            </fileNamePattern>

            <!-- 文件最大保存歷史數量 -->

            <maxHistory>${log.maxHistory}</maxHistory>

        </rollingPolicy>

        <encoder>

            <pattern>${log.pattern}</pattern>

        </encoder>

        <filter class="ch.qos.logback.classic.filter.LevelFilter">

            <level>ERROR</level>

            <onMatch>ACCEPT</onMatch>

            <onMismatch>DENY</onMismatch>

        </filter>

    </appender>

    <logger name="com.teyu.mo2o" level="${log.level}" additivity="true">

        <appender-ref ref="debugAppender"/>

        <appender-ref ref="infoAppender"/>

        <appender-ref ref="errorAppender"/>

    </logger>

    <root level="info">

        <appender-ref ref="consoleAppender"/>

    </root>

</configuration>

3. 使用

創建對象

Logger logger=LoggerFactory.getLogger(AreaController.class);

導入的包注意是

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

然後

Logger.info

Logger.debug

Logger.error

調試的時候總會在開頭和結尾打印一些info的日誌

4. 日誌生成位置

C:\Users\liteyu\eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0

在我這裏是這個,這個可以在開啓服務器的控制檯中找到

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章