原Springboot日志管理

原文地址:https://blog.csdn.net/leilecoffee/article/details/80225201

springboot 在引入spring-boot-starter-web时,默认的引入logback日志包,在项目中就不需要额外引入.

日志级别从低到高分为:

TRACE < DEBUG < INFO < WARN < ERROR < FATAL

在resource目录下添加logback-spring.xml

内容:

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
    <contextName>logback</contextName>
    <!--输出到控制台-->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d %contextName [%thread] %-5level %logger - %msg%n</pattern>
        </encoder>
    </appender>

    <!--输出到文件  每天生成一个日志文件,保存30天的日志文件。-->
    <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_PATH}/demo-%d.log</fileNamePattern>
            <maxHistory>30</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>%d %contextName [%thread] %-5level %logger - %msg%n</pattern>
        </encoder>
    </appender>

    <root level="info">
        <appender-ref ref="console"/>
        <appender-ref ref="file"/>
    </root>

    <!-- 测试环境+开发环境. 多个使用逗号隔开. -->
    <springProfile name="test,dev">
        <logger name="com.example.springboot" level="info"/>
    </springProfile>
    <!-- 定义生产环境日志输出级别-->
    <springProfile name="pro">
        <logger name="com.example.springboot" level="info"/>
    </springProfile>
    <!--输出执行的sql语句-->
    <logger name="com.example.springboot.dao" level="debug"/>
</configuration>

说明:该文件定义了一个控制台输出 一个文件输出(最长保存日志为30天)。指定了不同环境下日志输出级别。最后一句输出执行的输出SQL信息 。

${LOG_PATH}  该变量会获取  logging.path的值

二、定义日志文件输出位置

    application.yaml 文件中添加如下内容:

logging:
  path: e:\\logs\\springboot\\logs


三、定义测试Controller

LogController

package com.example.springboot.controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/log")
public class LogController {

    private final Logger log = LoggerFactory.getLogger(this.getClass());

    @RequestMapping("/test")
    public void log() {
        log.debug("debug");
        log.info("info");
        log.warn("warn");
        log.error("error");
    }
}

可以修改日志配置文件日志级别, 进行测试。就不再具体展示.



猜你喜欢

转载自blog.csdn.net/tanga842428/article/details/80240406