zoukankan      html  css  js  c++  java
  • Logback的简单使用

    1、前言


     

    查了很多资料,都说logback的性能都要比log4j的性能要好,logback逐渐要取代log4j。今天对logback作一个简单的整理。

    2、loback的坐标依赖

    <!--
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.6.4</version>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
            <version>1.0.6</version>
        </dependency>
    -->
    
    <!-- 该依赖包括了上面两个依赖,所以只要引入该依赖即可 -->
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.0.6</version>
    </dependency>

    3、配置文件:logback.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration
        xmlns="http://ch.qos.logback/xml/ns/logback"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://ch.qos.logback/xml/ns/logback https://raw.githubusercontent.com/enricopulatzo/logback-XSD/master/src/main/xsd/logback.xsd">
        <property name="LOG_HOME" value="tp/log"/>
        <!-- 输出到控制台 -->
        <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender" >
            <!-- 输出的格式 -->
            <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
                <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}:  %msg%n</pattern>
            </encoder>
        </appender>
    
        <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <!-- 配置滚动的策略 -->
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <!-- 日志名称的格式 -->
                <fileNamePattern>${LOG_HOME}/logback.log.%d{yyyy-MM-dd}</fileNamePattern>
                <!-- 保存的最长时间:天数 -->
                <MaxHistory>1</MaxHistory>
            </rollingPolicy>
            <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
                <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}:  %msg%n</pattern>
            </encoder>
        </appender>
    
        <!--
        注意:
        level属性也可以直接写在logger上,如:
        <logger name="ws.log.logback.LogbackTest" additivity="false" level="INFO">
            <appender-ref ref="STDOUT" />
        </logger>
        -->
        <logger name="ws.log.logback.LogbackTest" additivity="false">
            <level value="INFO" />
            <appender-ref ref="STDOUT" />
        </logger>
    
        <!-- 相当于logger元素,只是name值已经确定为root了 -->
        <root level="warn">
            <appender-ref ref="STDOUT" />
        </root>
    </configuration>

    4、代码实例:

    //注意导入的包都是slf4j的包
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    public class LogbackTest {
    
        private static final Logger LOGGER = LoggerFactory.getLogger(LogbackTest.class);
    
        public static void main(String[] args) {
            LOGGER.trace("logback的--trace日志--输出了");
            LOGGER.debug("logback的--debug日志--输出了");
            LOGGER.info("logback的--info日志--输出了");
            LOGGER.warn("logback的--warn日志--输出了");
            LOGGER.error("logback的--error日志--输出了");
        }
    }

    5、效果展示

    按照logger指定的输出级别输出,会覆盖root指定的级别。

    6、注意:

    loger和logger的问题,通过查询文档。才了解logback中是没有loger元素的。我被技术博客误导了。其实在测试时候已经出现错误日志了,如最后一张图紫红区域,是当时疏忽了。笔者已经更改。为了方便可以在xml中配置名称空间,就会有相应的提示,就不会这样的错误。如果不配置,会提示用过的标签,不管对错都会提示。这样会产生误区。名称空间可以参考该博客的logback.xml配置。


    参考资料:

    技术博客:http://www.cnblogs.com/warking/p/5710303.html 【该技术博客中的loger就是指logger】
    官网:https://logback.qos.ch/manual/configuration.html
    译文:https://www.oschina.net/translate/logging-in-java-switching-to-logback

  • 相关阅读:
    【Linux】【Services】【Configuration】puppet
    【Linux】【Services】【Web】Haproxy
    【Linux】【Services】【Project】Haproxy Keepalived Postfix实现邮件网关Cluster
    【Linux】【Services】【Web】Nginx基础
    【Linux】【Services】【Project】Cobbler自动化装机
    【Linux】【Services】【Package】rpm包制作
    【Linux】【Services】【nfs】nfs安装与配置
    Bootstrap框架--DataTables列表示例--添加判断
    安全整改相关内容
    tomcat禁用PUT,DELETE等一些不必要的HTTP方法
  • 原文地址:https://www.cnblogs.com/AlanWilliamWalker/p/11122218.html
Copyright © 2011-2022 走看看