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

在我这里是这个,这个可以在开启服务器的控制台中找到

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