springBoot日志配置

概述

  在计算机的世界里,日志的重要性不言而喻。系统日志,应用日志等都可以帮我们更快的定位的计算机问题出现在哪里。而springBoot默认使用LogBack日志,当然如果不更改,我们也无需添加额外的日志配置。

打印日志

新建logCofig.java类,测试打印日志输出

package com.xmlxy.bean;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class LogConfig
{
    private static final Logger log = LoggerFactory.getLogger(LogConfig.class);
    @Bean
    public TestData logMethod()
    {
        log.info("==================日志输出==================");
        return new TestData();
    }
}

启动程序,可以看到,日志已经打印在控制台

其实一直有个疑问private static final Logger log = LoggerFactory.getLogger(LogConfig.class)后面的LogConfig.class换成别的名字也没报错,到底为什么要写成对应类的名称哪,其实说白就是为了快速的定位问题而已,可以发现打印出来的类是 com.xmlxy.bean.LogConfig这个类,如果写成其他类,就会输出对应类的名称

 日志存储文件

在application.properties的全局配置文件中添加

logging.path=D://log/
logging.file=first-springboot-project.log

如果logging.file不配置,默认是spring.log,配置完成,运行项目,可以看到在指定的路径下生成一个first-springboot-project.log

查看里头内容,跟控制台输出的信息是一样的

日志级别

日志级别分为 TARCE < DEBUG < INFO < WARN < ERROR < FATAL,springBoot默认级别是INFO,如果改为WARN,会怎样哪?在application.properties添加

logging.level.root = warn

 运行项目,可以看到日志没任何内容

定制日志格式

logging.pattern.console

%d{HH:mm:ss.SSS}——日志输出时间

%thread——输出日志的进程名字,这在Web应用以及异步任务处理中很有用

%-5level——日志级别,并且使用5个字符靠左对齐

%logger- ——日志输出者的名字

%msg——日志消息

%n——平台的换行符

在application.properties添加

logging.pattern.console=%d{yyyy/MM/dd-HH:mm:ss} [%thread] %-5level %logger- %msg%n 
logging.pattern.file=%d{yyyy/MM/dd-HH:mm} [%thread] %-5level %logger- %msg%n

然后查看日志

 多彩输出

设置成彩色的日志输出能让你的日志更具可读,但是你的终端必须支持ANSI,设置application.properties

spring.output.ansi.enabled = DETECT
原文地址:https://www.cnblogs.com/dslx/p/11265500.html