• Springboot日志初探


    1.新建module,springboot-log

    2.pom.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.3.0.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
        <groupId>com.lxcourse</groupId>
        <artifactId>springboot-log</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>springboot-log</name>
        <description>Demo project for Spring Boot</description>
    
        <properties>
            <java.version>1.8</java.version>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <groupId>org.junit.vintage</groupId>
                        <artifactId>junit-vintage-engine</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    
    </project>
    

    3.application.properties

    logging.pattern.console=[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} %thread %c %M ---- %msg%n 
    logging.level.com.lxcourse=trace
    logging.file.path=/Users/doubledumbao/logs/springboot-log
    logging.pattern.file=[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} %thread %c %M ---- %msg%n 
    spring.profiles.active=dev
    

    4.logback-spring.xml

    <?xml version="1.0" encoding="UTF-8" ?>
    <configuration>
        <property name="pattern" value="[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} %C %M [%thread] %msg%n"></property>
    
        <property name="log_dir" value="/Users/doubledumbao/logs/logger"></property>
        <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    
            <target>System.err</target>
            <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
                <springProfile name="dev">
                    <pattern>[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} %C %M [%thread]------- %msg%n</pattern>
                </springProfile>
                <springProfile name="pro">
                    <pattern>[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} %C %M [%thread] xxxxxxxx %msg%n</pattern>
                </springProfile>
            </encoder>
        </appender>
    
        <!-- 自定义logger对象  additivity="false" 自定义logger对象是否继承rootLogger -->
        <logger name="com.lxcourse" level="info" additivity="false">
            <appender-ref ref="STDOUT" />
        </logger>
    </configuration>
    

    5.测试类

    package com.lxcourse.springbootlog;
    
    import org.apache.logging.log4j.LogManager;
    import org.junit.jupiter.api.Test;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.boot.test.context.SpringBootTest;
    
    @SpringBootTest
    class SpringbootLogApplicationTests {
    
        public static final Logger LOGGER = LoggerFactory.getLogger(SpringbootLogApplication.class);
    
        @Test
        public void testQuick(){
            LOGGER.error("error");
            LOGGER.warn("warn");
            LOGGER.info("info");
            LOGGER.debug("debug");
            LOGGER.trace("trace");
    
            org.apache.logging.log4j.Logger logger = LogManager.getLogger(SpringbootLogApplication.class);
            logger.info("log4j2 log");
        }
    
    }
    

    6.切换日志实现

    pom.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.3.0.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
        <groupId>com.lxcourse</groupId>
        <artifactId>springboot-log</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>springboot-log</name>
        <description>Demo project for Spring Boot</description>
    
        <properties>
            <java.version>1.8</java.version>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
                <!-- 排除logback依赖 -->
                <exclusions>
                    <exclusion>
                        <artifactId>spring-boot-starter-logging</artifactId>
                        <groupId>org.springframework.boot</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <!-- 添加log4j2依赖 -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-log4j2</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <groupId>org.junit.vintage</groupId>
                        <artifactId>junit-vintage-engine</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    
    </project>
    

    log4j2.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <Configuration status="warn" monitorInterval="5">
        <properties>
            <property name="LOG_HOME">/Users/doubledumbao/logs/logger</property>
        </properties>
        <Appenders>
            <Console name="Console" target="SYSTEM_ERR">
                <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] [%-5level] %c{36}:%L --- %m%n"/>
            </Console>
        </Appenders>
        <Loggers>
            <Root level="info">
                <AppenderRef ref="Console"/>
            </Root>
        </Loggers>
    </Configuration>
    
  • 相关阅读:
    redis的事务、主从复制、持久化
    redis的数据结构与命令
    redis的安装与配置
    JavaEE权限管理系统的搭建(八)--------角色的增删改
    JavaEE权限管理系统的搭建(七)--------管理用户的增删改
    JavaEE权限管理系统的搭建(六)--------使用拦截器实现菜单URL的跳转权限验证和页面的三级菜单权限按钮显示
    JavaEE权限管理系统的搭建(四)--------使用拦截器实现登录认证和apache shiro密码加密
    admin的基础配置
    ERP能解决企业五大不正常现象
    版本控制
  • 原文地址:https://www.cnblogs.com/zhaoran8775/p/12990758.html
Copyright © 2020-2023  润新知