zoukankan      html  css  js  c++  java
  • 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 ..."); }

     打印结果如下:

  • 相关阅读:
    [LeetCode] Container With Most Water
    [LeetCode] Sort List 排序 sort
    c/c++: c++函数返回类型什么情况带const
    [LeetCode] Restore IP Addresses 回溯
    [LeetCode] Binary Tree Inorder Traversal 中序排序
    [LeetCode] Evaluate Reverse Polish Notation stack 栈
    [acmm week12]染色(容斥定理+组合数+逆元)
    [acmm week12]二分+dp+单调队列
    [csp-201809-3]元素选择器-编译原理
    [csp-201709-3]JSON查询-编译原理
  • 原文地址:https://www.cnblogs.com/cowboys/p/8479088.html
Copyright © 2011-2022 走看看