项目1-日志框架

时间:2020-10-16
本文章向大家介绍项目1-日志框架,主要包括项目1-日志框架使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

日志框架

slf4j+logback

原理

https://developer.51cto.com/art/201904/594968.htm

实现方式

将系统中其他日志框架排除

用中间包替换原来的日志框架

     <dependency>

       <groupId>org.slf4j</groupId>

       <artifactId>jcl-over-slf4j</artifactId><!-- 替换commons-logging-->

       <version>1.7.25</version>

     </dependency> 

     <dependency>

       <groupId>org.slf4j</groupId>

       <artifactId>jul-to-slf4j</artifactId><!-- 替换java.util.logging-->

       <version>1.7.25</version>

     </dependency>

slf4j的实现

     <dependency>

       <groupId>ch.qos.logback</groupId>

       <artifactId>logback-classic</artifactId><!-- 间接依赖logback-core--><!-- 优秀的日志实现-->

     </dependency>     

     <!-- slf4j(门面): Simple Logging Facade for Java :简单日志门面(接口)(类似JDBC); 

          log4j:日志实现(类似数据库驱动); 

          log4j2(实现), logback(实现), 

          后来我们用slf4j+logback(最稳定的方案); -->

     <dependency>

       <groupId>org.slf4j</groupId>

       <artifactId>slf4j-api</artifactId><!-- 抽象层,接口-->

     </dependency>

测试代码

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

    public class HelloWorld {

      public static void main(String[] args) {

           Logger logger = LoggerFactory.getLogger(TestLog.class);

           logger.debug("debug..."); //用于调试程序

           logger.info("info...");//用于请求处理提示消息

           logger.warn("warn...");//用于警告处理提示消息

           logger.error("error...");//用于异常处理提示消息

           logger.error("==>>"+logger.getClass());

           //class ch.qos.logback.classic.Logger

    } 

    } 

配置文件logback.xml

每一个日志的实现框架都有自己的配置文件。使用slf4j以后,配置文件还是做成日志实现框架自己本身的配置文件

<?xml version="1.0" encoding="UTF-8"?>

<configuration debug="true">

    <!-- 指定日志输出的地方-->

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">

        <encoder>

            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{360} - 
%msg%n</pattern>

        </encoder>

    </appender> 

    <!-- 日志:从低到高;只会打印指定级别以后的; additivity表示是否将日志信息反馈给root

     DEBUG==》INFO===》WARN===》ERROR

     <logger name="com.atguigu.atcrowdfunding.mapper" level="debug" additivity="false">  

         <appender-ref ref="STDOUT"/>  

     </logger>

      -->

     <root level="info">

         <appender-ref ref="STDOUT" />

     </root>

</configuration> 

原文地址:https://www.cnblogs.com/suit000001/p/13828837.html