Logback 初步使用


Logback

logback是一个基于slf4j实现的优秀的开源日志框架,被广泛应用于java项目中。具体的信息可以去看官网

Logback初步使用

由于logback依赖于slf4j,要引入slf4j的jar包,然后再引入logback所需要的3个jar包

<project>
    <properties>
        <logback.version>1.3.0-alpha4</logback.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.8.0-alpha2</version>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
            <version>${logback.version}</version>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>${logback.version}</version>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-access</artifactId>
            <version>${logback.version}</version>
        </dependency>
    </dependencies>
</project>    

logback在引入以后就可以生效了,也可以配置logback.xml来做个性化配置。

<configuration>
    <!--申明一个appender,用来定义是控制台输出还是文件输出,以及输出日志的格式-->
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <!-- %msg表示需要输出的内容 -->
            <!-- %n 表示换行-->
            <!-- %logger表示输出日志的名称-->
            <pattern>%d{YYYY-MM-DD HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <!-- level表示需要输出的日志等级,常用的是INFO,DEBUG,ERROR-->
    <root level="INFO">
        <appender-ref ref="CONSOLE"/>
    </root>
</configuration>

root节点里面的level属性的级别越高,则过滤的消息也越少,DEBUG>INFO>ERROR如果设置为DEBUG则输出的信息越丰富,设置为ERROR则输出的消息只有报错信息

在logback.xml里面新增一个appender,class设置为 ch.qos.logback.core.FileAppender 然后在root节点里面设置appender为刚才新增的appender即可实现将日志写入到文件中 具体的配置文件如下

<configuration>
    <property name="FILE_PATH" value="/Users/g5niusx/Workspace/logback-demo/log"/>
    <!--申明一个appender,用来定义是控制台输出还是文件输出,以及输出日志的格式-->
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <!-- %msg表示需要输出的内容 -->
            <!-- %n 表示换行-->
            <!-- %logger表示输出日志的名称-->
            <pattern>%d{YYYY-MM-DD HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <appender name="FILE_APPENDER" class="ch.qos.logback.core.FileAppender">
        <!--文件输出路径-->
        <file>${FILE_PATH}/file.log</file>
        <encoder>
            <pattern>%d{YYYY-MM-DD HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>
    <!-- level表示需要输出的日志等级,常用的是INFO,DEBUG,ERROR-->
    <root level="INFO">
        <appender-ref ref="FILE_APPENDER"/>
        <appender-ref ref="CONSOLE"/>
    </root>
</configuration>

appender-ref是可以配置多个的,如果既配置来控制台输出,也配置来文件输出,则两个都生效,最后既会在文件中生成也会在控制台输出

控制台输出

文件输出

  #code 

« Hello Docker Logback 进阶 »
blog comments powered by Disqus