1. POM依赖

这里因是SpringBoot项目,默认你的依赖已经引入,我们这里直接引入日志模块的依赖。

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

2. 多环境日志配置文件

因为在实际开发中不同环境肯定要有不同的日志格式以及要求,那么我们就需要新建多个日志配置文件去对应的收集打印不同环境下的日志。

2.1 logback-dev.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <!-- 控制台输出 -->
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern></pattern>
        </encoder>
    </appender>
    <!-- 日志级别设置 -->
    <root level="INFO">
        <appender-ref ref="CONSOLE"/>
    </root>
</configuration>

2.2 logback-prod.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <!-- 控制台输出 -->
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <!-- 文件输出,按天滚动 -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>logs/print.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 日志文件名格式 -->
            <fileNamePattern>logs/%d{yyyy-MM-dd}.log</fileNamePattern>
            <!-- 保留最近30天的日志 -->
            <maxHistory>30</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <!-- 日志级别设置 -->
    <root level="INFO">
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="FILE"/>
    </root>
</configuration>

这里不同的环境不同的配置,就比如说开发环境一般都是直接打印输出到控制台即可,这样即使出了问题也是比较好排查的,但是生产环境你除了可以打印输出到控制台之外,一般还需要输出到日志文件中以做日志记录及备份,所以说两个环境的日志配置稍有不同。

3. 启用日志配置

# Log日志配置
logging:
  config: classpath:logback/logback-dev.xml

至此,针对SpringBoot中日志配置的部分就简单介绍了一下,更多关于实际开发中的技巧或者技术日后继续记录。