logback配置及输出格式

2017-03-17 / 15 阅读 / Java

POM依赖:

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.6.0</version>
    <type>jar</type>
    <scope>compile</scope>
</dependency>
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-core</artifactId>
    <version>0.9.28</version>
    <type>jar</type>
</dependency>
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>0.9.28</version>
    <type>jar</type>
</dependency>

logback配置

<?xml version="1.0" encoding="UTF-8"?>
<!-- Logback Configuration.  -->
<configuration debug="true">
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <target>System.out</target>
        <encoding>UTF-8</encoding>
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern>%d{yy-MM-dd HH:mm:ss} |-%-5p [%c %L] %m%n</pattern>
        </layout>
    </appender>

    <appender name="STDERR" class="ch.qos.logback.core.ConsoleAppender">
        <target>System.err</target>
        <encoding>UTF-8</encoding>
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern>%d{yy-MM-dd HH:mm:ss} |-%-5p [%c %L] %m%n</pattern>
        </layout>
    </appender>

    <logger name="com.log.dao" level="INFO">
        <appender-ref ref="STDOUT" />
    </logger>

    <root>
        <level value="DEBUG"/>
        <appender-ref ref="STDERR"/>
        <appender-ref ref="STDOUT"/>
    </root>
</configuration>

自定义Log工具类

package com.wb.ss;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class LogUtil {
    private static final Logger logger = LoggerFactory.getLogger(LogUtil.class);

    public static void e(String m){
        logger.error(m);
    }
    public static void d(String m){
        logger.debug(m);
    }
    public static void i(String m){
        logger.info(m);
    }
    public static void w(String m){
        logger.warn(m);
    }

}

输出格式:
<layout class="ch.qos.logback.classic.PatternLayout">
    <pattern>%d{yy-MM-dd HH:mm:ss} |-%-5p [%c %L] %m%n</pattern>
</layout>

这里就是配置格式的,以下是各个参数的说明

%m输出代码中指定的消息
%p输出优先级,即DEBUGINFOWARNERRORFATAL
%r输出自应用启动到输出该log信息耗费的毫秒数
%c输出所属的类目,通常就是所在类的全名
%t输出产生该日志事件的线程名
%n输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”
%d输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM ddHH:mm:ss,SSS},输出类似:20170301141028921
%L输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)

相关推荐