zoukankan      html  css  js  c++  java
  • 日志

    日志实现  log4j、logback、log4j2。

      log4j2的效率是比logback要高的,但是不涉及到深度的使用效率我们不回去考虑。log4j、logback这两个是同一个作者,并且作者是认为 log4j 不行才重新写的 logback。并且logback的官网还给出 log4j.properties 转 logback.xml 文件的工具就是建议使用者更换成 logback。最重要的是 springboot 默认的日志实现就是 logback,那我们在能满足生产的情况下就不要气搞事情了。如果遇到日志并发量搞到需要去处理的时候再去理解 log4j2 的原理吧。

    日志上层接口 slf4j、common-logging。

    Logger logger =  LoggerFactory.getLogger(LogTestApplication.class);
    logger.error("logger={}","error");// slf4j 日志的输出写法,就从这一点,slf4j 就胜过了 common-logging。

    所以综上所述,我选择日志框架的时候回使用 springboot 默认的。另外 @Slf4j 是 lombok 提供的。

    一、logback配置

    以下是 logback 的初始化步骤:

    1. logback 会在类路径下寻找名为 logback-test.xml 的文件。
    2. 如果没有找到,logback 会继续寻找名为 logback.groovy 的文件。
    3. 如果没有找到,logback 会继续寻找名为 logback.xml 的文件。
    4. springboot通过 logging.config 也可以 #logging.config=classpath:logback-spring.xml。

    参数详解

     https://blog.csdn.net/zxssoft/article/details/83211461

    https://blog.csdn.net/sinat_25076521/article/details/80513543

    二、log4j配置

    自动加载配置文件:
    (1)如果采用log4j输出日志,要对log4j加载配置文件的过程有所了解。log4j启动时,默认会寻找source folder下的log4j.xml配置文件,若没有,会寻找log4j.properties文件。然后加载配置。配置文件放置位置正确,不用在程序中手动加载log4j配置文件。如果将配置文件放到了config文件夹下,在build Path中设置下就好了。

    log4j日志配置文件的命名一般采用log4j.properties,位置放在resources/log4j.properties 下面,而不能直接把配置写在applicaion.properties里面,切记!!

    自动读取 log4j.properties 

         <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter</artifactId>
                <exclusions>
                    <exclusion>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <!-- log4j. -->

    <dependency>
        <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    </dependency>
    # LOG4J配置
    log4j.rootCategory=info,stdout,File
    
    # 控制台输出
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
    log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %5p %c{1}:%L - %m%n
    
    # 日志输出到文件
    log4j.appender.File = org.apache.log4j.FileAppender
    log4j.appender.File.File = log4j2.log
    log4j.appender.File.layout = org.apache.log4j.PatternLayout
    log4j.appender.File.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n

    https://blog.csdn.net/satomiyo/article/details/100040235 

    三、log4j2配置

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-logging</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-log4j2</artifactId>
    </dependency>

    https://blog.csdn.net/weixin_44569012/article/details/90340787

    四、spring配置

     https://www.jianshu.com/p/1fa12b92d5c4

  • 相关阅读:
    jascript基础教程学习总结(2)
    ajax原理图解
    ajax原理
    javascript基础教程学习总结(1)
    HTML学习(1)
    vi编辑器
    effective C++ 4 Make sure objects are initialized before they are used
    effective C++ 3 use const whenever possible
    STL: string:erase
    STL: 从reverse到iterator
  • 原文地址:https://www.cnblogs.com/cuiqq/p/11878254.html
Copyright © 2011-2022 走看看