java日志文件用法总结

1.基本概念
日志门面(接口):commons logging ; slf4j ;
日志具体实现:log4j ; logback(Spring 系列在使用) ; log4j2(添加了异步logger的实现,提高了性能)
 
2.具体使用(门面:slf4j 实现 : log4j2)
①添加maven依赖
<dependencies>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.5</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>2.5</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.13</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-slf4j-impl</artifactId>
        <version>2.5</version>
    </dependency>
</dependencies>                                    
②添加log4j2.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
    <Loggers>
        <Root level="debug">
            <AppenderRef ref="Console" />
        </Root>

        <!-- 定义名字为HelloWorld的Logger,其日志级别为info,additivity为false -->>
        <Logger name="HelloWorld" level="info" additivity="false">
            <AppenderRef ref="Console"/> <!-- Root Logger的Appender引用上面定义的Console     -->
        </Logger>
    </Loggers>
 
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] [%p] [%c] [%L]: %m%n" />
        </Console>
    </Appenders>
</Configuration>            
注:
Appenders:日志输出地
PatternLayout :自定义日志打印格式
 %d:日期时间
%t: 输出日志事件的线程名
%p:输出日志信息的优先级,即debug、info、warn、error等
%c:输出日志信息所属的类目,通常指所在类的全名
%L:输出代码中的行号(比较耗损性能)
%m:输出代码中指定的消息
%n:输出一个回车换行符
③使用
public static void main(String[] args) {
  //获取指定的日志名 Logger logger = LoggerFactory.getLogger("HelloWorld"); logger.trace("trace log ..."); logger.debug("debug log ..."); logger.info("info log ..."); logger.warn("warn log ..."); logger.error("error log ...");
//其他非指定的日志(配置文件中的没有指定的loggger,即指root) Logger logger1 = LoggerFactory.getLogger(LogerTest.class); logger1.trace("trace log ..."); logger1.debug("debug log ..."); logger1.info("info log ..."); logger1.warn("warn log ..."); logger1.error("error log ..."); }

 打印结果如下:

 

posted @ 2018-02-27 15:22  HappyCowboy  阅读(900)  评论(0编辑  收藏  举报