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中显示一样的内容。

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

  • 相关阅读:
    tile38 复制配置
    The Guardian’s Migration from MongoDB to PostgreSQL on Amazon RDS
    tile38 一款开源的geo 数据库
    sqler sql 转rest api 的docker 镜像构建(续)使用源码编译
    sqler sql 转rest api javascript 试用
    sqler sql 转rest api redis 接口使用
    sqler sql 转rest api 的docker image
    sqler sql 转rest api 的工具试用
    apache geode 试用
    benthos v1 的一些新功能
  • 原文地址:https://www.cnblogs.com/pcode/p/9202030.html
Copyright © 2011-2022 走看看