zoukankan      html  css  js  c++  java
  • springboot4.1.1的log4j2配置

    一、默认情况下,Spring Boot会用Logback来记录日志,并用INFO级别输出到控制台;

    日志输出内容元素具体如下:

    • 时间日期:精确到毫秒
    • 日志级别:ERROR, WARN, INFO, DEBUG or TRACE
    • 进程ID
    • 分隔符:— 标识实际日志的开始
    • 线程名:方括号括起来(可能会截断控制台输出)
    • Logger名:通常使用源代码的类名
    • 日志内容

    spring-boot-starter 其中包含了 spring-boot-starter-logging ,该依赖内容就是 Spring Boot 默认的日志框架 logback,

    所以实际开发中我们不需要直接添加该依赖。

    <dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-logging</artifactId>

    </dependency>

    二、日志级别

    日志级别从低到高分为:

    TRACE < DEBUG < INFO < WARN < ERROR < FATAL 。

    如果设置为 WARN ,则低于 WARN 的信息都不会输出。

    Spring Boot 中默认配置 ERROR 、 WARN 和 INFO 级别的日志输出到控制台。

    三、使用log4j2

    步骤1:

    添加依赖:

    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-log4j2</artifactId>
    </dependency>
    过滤:

    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <exclusions>
    <exclusion>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-logging</artifactId>
    </exclusion>
    </exclusions>
    </dependency>
    步骤2:

    配置log4j2.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <Configuration status="WARN">
    <appenders>
    <Console name="Console" target="SYSTEM_OUT">
    <!-- 设置日志输出的格式 -->
    <PatternLayout pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n"/>
    </Console>
    <RollingFile name="RollingFileInfo" fileName="D:/info.log"
    filePattern="D:/$${date:yyyy-MM}/info-%d{yyyy-MM-dd}-%i.log">
    <Filters>
    <ThresholdFilter level="INFO"/>
    </Filters>
    <PatternLayout pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n"/>
    <Policies>
    <TimeBasedTriggeringPolicy/>
    <SizeBasedTriggeringPolicy size="100 MB"/>
    </Policies>
    </RollingFile>
    </appenders>

    <loggers>

    <!-- 将业务dao接口填写进去,并用控制台输出即可打印sql -->
    <logger name="com.bling.dab.dao.UserMapper" level="debug" additivity="false">
    <appender-ref ref="Console"/>
    <appender-ref ref="RollingFileInfo"/>
    </logger>


    <root level="all">
    <appender-ref ref="Console"/>
    <appender-ref ref="RollingFileInfo"/>
    </root>
    </loggers>

    </Configuration>
    步骤3:

    application.properties

    log4j配置
    logging.config=classpath:log4j2.xml

    最后测试:

    @RestController
    public class DabController {

    private static final Logger logger = LoggerFactory.getLogger(DabController.class);

    @RequestMapping("/dab")
    private String dab(){
    System.out.println("dab01");
    logger.info("dab01===========logger");
    return "dab!";
    }

    }


    -------------------
    参考:https://blog.csdn.net/yebichao/article/details/84948723

               https://www.cnblogs.com/bjlhx/p/9963964.html

  • 相关阅读:
    css笔记
    CSS基础
    HTML常用基础标签
    React-Native中列表SectionList学习
    React-Native中列表FlatList配合网络请求fetch学习
    React-Native选项卡(react-navigation)之createBottomTabNavigator学习
    React-Native导航条(react-navigation)之createStackNavigator学习
    iOS中touch事件传递(响应者链)
    ios中UIView和CALayer关系
    iOS中KVO使用理解
  • 原文地址:https://www.cnblogs.com/h-c-g/p/10250188.html
Copyright © 2011-2022 走看看