zoukankan      html  css  js  c++  java
  • 几句话的事儿,LogBack急速使用

    1.说说logback

    在java的世界里面好像从来只有log4j,因为它是在太有名气了。说实话,我也没觉得它那里不好,至少在我自己的项目里,它工作的好好的。但是主流有一种声音,在慢慢的放弃它,最始作俑者是log4j的作者,也是logback的作者,他自己说的,维护越来越困难,索性开个新的。于是就是logback了。那么,这样说来,世界级的大牛的认知层面跟我们肯定不在一个世界内,索性跟随吧。慢慢体会。

    2.logback要引用的包

    从网上找资料看到很多包,各种说法也不一样,但是从我自己实践的效果看,引用一下这个包就可以了。
    
        <!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-classic -->
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.2.3</version>
        </dependency>
    

    3.一个配置的事情

    这样来说似乎太简单了,但是如果就是一般用用也确实如此,本来这就是一个配置的事情。似乎都不用解释什么了。
    引入包以后,在resources目录中增加logback.xml,就这样就可以了。
    你需要自己配置一点点内容。

    • 第4行,这里指定了一个正在运行中的日志文件的名称。这个需要你自己指定一下
    • 第15行,这里指定了一个以月份为目录,日期为文件名的日志归档规则。
    <?xml version="1.0" encoding="UTF-8"?>
    <configuration  scan="true" scanPeriod="60 seconds" debug="false">
        <contextName>logback</contextName>
        <property name="log.path" value="log/jwcwxds.log" />
        <!--输出到控制台-->
        <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
            <encoder>
                <pattern>%d{yyyy-MM-dd} %d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
            </encoder>
        </appender>
        <!--输出到文件-->
        <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <file>${log.path}</file>
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <fileNamePattern>log/%d%d{yyyyMM}/jwcwxds.log.%d{yyyy-MM-dd}</fileNamePattern>
            </rollingPolicy>
            <encoder>
                <pattern>%d{yyyy-MM-dd} %d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
            </encoder>
        </appender>
    
        <root level="trace">
            <appender-ref ref="console" />
            <appender-ref ref="file" />
        </root>
        <!--</logger>-->
    </configuration>
    

    4.开始使用吧

    在需要用到日志的类的属性中增加
    protected Logger logger = LoggerFactory.getLogger(this.getClass());
    在需要记录日志的位置使用
    比如我要记录三个参数和报错信息
    logger.error("XH={} XM={} CJ={} ERROR={}",XH,XM,CJ,e.getMessage());
    
    

    5.效果

    运行后在包同级也就是System.getProperty("user.dir")这个目录里面会产生一个log文件。里面记录着我们再stdout中显示一样的内容。

    而且可以按月划分目录,按日归档日志。

  • 相关阅读:
    C#自己写的迭代器(拓展字典)
    C#中的浅复制和深复制
    C#中的委托和事件
    转载--《怎样制作一款优秀的塔防游戏》
    3D数学基础
    MonoBehaviour可重写的函数
    悲观锁及乐观锁
    java nio
    hadoop2.x通过Zookeeper来实现namenode的HA方案集群搭建-实践版
    oozie bundle学习笔记
  • 原文地址:https://www.cnblogs.com/pcode/p/9202030.html
Copyright © 2011-2022 走看看