日志系列---【springboot中使用日志的正确打开方式】


参考链接:

通用:

log4j2:

1.本文主要介绍logj2,排除默认,加pom坐标

<dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-webartifactId>
            <exclusions>
                
                <exclusion>
                    <groupId>org.springframework.bootgroupId>
                    <artifactId>spring-boot-starter-loggingartifactId>
                exclusion>
            exclusions>
        dependency>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-log4j2artifactId>
        dependency>
        <dependency>
            <groupId>com.lmaxgroupId>
            <artifactId>disruptorartifactId>
            <version>3.4.2version>
        dependency>

2.若采用异步,则把上边最后一个依赖必须加上,并设置启动属性

public static void main(String[] args) {
        System.setProperty("log4j2.contextSelector", "org.apache.logging.log4j.core.async.AsyncLoggerContextSelector");
        SpringApplication.run(SpringbootValidatorApplication.class, args);
    }

3.log4j2.xml

<?xml version="1.0" encoding="UTF-8"?>


<Configuration status="WARN" monitorInterval="600">
    
    <properties>
        
        <property name="LOG_HOME">logsproperty>
        
        <property name="FILE_NAME">mybatis_plus_demoproperty>
    properties>
    
    <Appenders>
        
        <Console name="Console" target="SYSTEM_OUT">
            
            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level [%L] - %msg%n" />
        Console>
        
        
        
        <RollingFile name="RollingFile" fileName="${LOG_HOME}/${FILE_NAME}.log"
                     filePattern="${LOG_HOME}/$${date:yyyy-MM}/${FILE_NAME}-%d{yyyy-MM-dd}-%i.log.gz">
            
            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level [%l] - %msg%n" />
            
            <Policies>
                
                
                
                
                <TimeBasedTriggeringPolicy interval="1" modulate="true" />
                
                
                <SizeBasedTriggeringPolicy size="100MB" />
            Policies>
            
            
            
            <DefaultRolloverStrategy max="5" compressionLevel="1">
                
                
                <Delete basePath="${LOG_HOME}" maxDepth="2">
                    
                    
                    <IfFileName glob="*/*.log.gz" />
                    
                    
                    <IfLastModified age="180D" />
                Delete>
            DefaultRolloverStrategy>
        RollingFile>
    Appenders>
    
    <Loggers>
        
        
        <Logger name="com.jiulong.springboot_validator" level="DEBUG" additivity="true">
            <AppenderRef ref="RollingFile" />
        Logger>
        
        <Logger name="com.jiulong.springboot_validator.dao" level="DEBUG" additivity="true">
            <AppenderRef ref="RollingFile" />
        Logger>
        
        
        <Root level="info">
            <AppenderRef ref="Console" />
        Root>
    Loggers>
Configuration>