• Java集成logback日志管理


    首先导入相关logback依赖,本次创建的测试项目为maven 3.61,jdk1.8

    logback的依赖
    <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.3</version> </dependency>

    然后是配置文件

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration scan="true" scanPeriod="60 seconds" debug="true">//如果debug为true表示项目启动时会检索logback相关的启动信息
        <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">//表示输出到控制台
            <Target>System.out</Target>
            <encoder>
                <pattern>%highlight(%-5level) %d{HH:mm:ss.SSS} %m %n</pattern>
            </encoder>
        </appender>
    
        <!--保存出错的信息-->
    <!--    <appender name="SQL" class="ch.qos.logback.core.FileAppender">-->//把日志文件输出到指定目录下,保存为文件
    <!--        <file>sql.log</file>-->
    <!--        <append>true</append>-->
    <!--        <immediateFlush>true</immediateFlush>-->
    <!--        <encoder>-->
    <!--            <pattern>%d{HH:mm:ss.SSS} %m %n</pattern>-->
    <!--        </encoder>-->
    <!--    </appender>-->
    
        <logger name="cn.schoolwow.quickdao" level="DEBUG" additivity="false">//日志过滤器,name表示需要过滤的包 level表示过滤级别 trace info debug error all 等等,不区分大小写
            <appender-ref ref="stdout" />
        </logger>
    
        <logger name="top.redheart.logback.logbacktest" level="info" additivity="false">
        	<appender-ref ref="stdout"></appender-ref>
        </logger>
    
         <root level="debug">
            <appender-ref ref="stdout" />
        </root>
    </configuration>
    

      

    这是测试效果

    级别测试

        public static void main(String[] args) {
    //        User user = new User();
    //        user.setName("zs");
    //        user.setAge("29");
    //        long save = dao.save(user);
    //        logger.info("[插入用户信息]user:{},结果:{}",user,save>0?"成功":"失败");
    
            logger.trace("[这是trace级别的]");
            logger.info("[这是info级别的]");
            logger.debug("[这是debug级别的]");
            logger.warn("[这是warn级别的]");
            logger.error("[这是error级别的]");
    
        }
    

      1):当配置文件级别为trace时

     <root level="trace">
            <appender-ref ref="stdout"/>
     </root>
    

      结果为:

    TRACE 16:41:38.704 [这是trace级别的]
    INFO 16:41:38.704 [这是info级别的]
    DEBUG 16:41:38.704 [这是debug级别的]
    WARN 16:41:38.704 [这是warn级别的]
    ERROR 16:41:38.705 [这是error级别的]

    2)当配置文件级别为info时

     <root level="info">
            <appender-ref ref="stdout"/>
     </root>
    

     结果为:

    INFO 16:43:37.873 [这是info级别的]
    WARN 16:43:37.874 [这是warn级别的]
    ERROR 16:43:37.874 [这是error级别的]

    3)当配置文件级别为debug时

     <root level="debug">
            <appender-ref ref="stdout"/>
     </root>
    

      结果为:

    INFO 16:44:31.944 [这是info级别的]
    DEBUG 16:44:31.944 [这是debug级别的]
    WARN 16:44:31.944 [这是warn级别的]
    ERROR 16:44:31.944 [这是error级别的]

    4)当配置文件为warn时

     <root level="warn">
            <appender-ref ref="stdout"/>
    </root>
    

      结果为:

    WARN 16:45:34.934 [这是warn级别的]
    ERROR 16:45:34.936 [这是error级别的]

    5)当配置文件级别为error时

    <root level="error">
            <appender-ref ref="stdout"/>
    </root>
    

      结果为:

    ERROR 16:46:14.858 [这是error级别的] 

    总结:

    trace显示的信息最多,包括所有级别的信息,其次就是debug,当级别为info,warn,error时,不会显示trace,和debug的信息

    故得出的结果

    trace>debug>info>warn>error

    配置细节,以后再更新。

     

  • 相关阅读:
    NGINX高并发配置
    一致性哈希算法——PHP实现代码
    TCP三次握手详解
    一致性哈希算法——转载来自张洋
    ngx_http_upstream_keepalive
    高情商人的十一种表现
    Nginx中的upstream轮询机制介绍
    主从读写分离----mysql-proxy0.8.5安装与配置
    分布式事务XA
    微信小程序API
  • 原文地址:https://www.cnblogs.com/yjp372928571/p/11264864.html
Copyright © 2020-2023  润新知