欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SpringBoot-日志默认配置

程序员文章站 2022-04-15 18:50:15
SpringBoot-日志默认配置(第6讲)文章目录一、默认配置二、指定配置总结一、日志默认配置1.查看默认配置package springbootdemo.demo;import org.junit.Test;import org.junit.runner.RunWith;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.boot.....

SpringBoot-日志配置(第6讲)

 

文章目录

 


一、日志默认配置

1.查看默认配置

package springbootdemo.demo;


import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@SpringBootTest
class DemoApplicationTests {
	/**
	 记录器
	 */
	Logger logger = LoggerFactory.getLogger(getClass());
	@Test
	public void contextLoad(){
		/*
		 * 日志的级别 由低到高 trace<debug<info<warn<error
		 * 可以调整输出的日志级别 :日志就只会在这个级别以后的高级别生效
		 * 测试可知SpringBoot默认给我们使用的是info级别,没有指定级别的就用SpringBoot默认规定的级别 root级别-info*/
		logger.trace("这是trace日志。。");
		logger.debug("这是debug日志。。");
		logger.info("这是info日志。。");
		logger.warn("这是warn日志。。");
		logger.error("这是error日志。。");
	}

}

输出结果:

SpringBoot-日志默认配置

结论: SpringBoot默认使用的是info级别的

2.修改默认配置

配置文件application.properties

#修改日志输出的级别 默认info
logging.level.springbootdemo = trace
#loging.path
#当前项目下生成日志名springboot.log
#可以指定路径名字
#logging.file.name=springboot.log
#在当前磁盘的根路径下创建spring文件夹和里面的log文件夹:使用spring.log作为默认文件
logging.file.path=/spring/log

#在控制台输出的日志的格式
# %d表示日期格式
# %thread表示线程名
# %-5level:级别从左显示5个字符宽度
# %logger{50}表示logger名字最长50个字符,否则按照句点分割
# %msg:日志消息
# %n是换行符
logging.pattern.console=%d{yyyy-MM-dd}[%thread] %-5level %logger{50} - %msg%n
#指定文件中日志输出的格式
logging.pattern.file=%d{yyyy-MM-dd}===[%thread]=== %-5level %logger{50} === %msg%n

补充:

logging.file logging.path example description
none none   只在控制台输出
指定文件名 none my.log 输出日志到my.log文件
none 指定目录 /var/log 输出到指定目录的spring.log文件中

二、指定配置

给类路径下放上每个日志框架自己的配置文件即可:SpringBoot就不使用它自身的配置。

logging system Customization
Logback

logback-spring.xml:日志框架就不直接加载日志的配置项,由SpringBoot的高级Profile功能(补充里面讲解),否则就会报错 no applicable action for[springProfile]

logback-spring.groovy

logback.xml:直接就被日志框架识别,绕过了SpringBoot。

logback.groovy

Log4j2

log4j2-spring.xml

log4j2.xml

JDK(Java Util Logging) logging.propertities

补充:

<springProfile name="staging">
   可以指定某段配置只在某个环境下生效
</springProfile>

三、切换日志框架

可以按照slf4j的日志适配图,进行相关的切换

slf4j+log4j的方式

    <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.7.25</version>
    </dependency>
   <!--log4j 适配包。即面向 slf4j 调用 API,然后它内部调用适配包,最后适配包调用 log4j-->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>1.7.25</version>
    </dependency>

切换为log4j2

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-logging</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency> 
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>

 

本文地址:https://blog.csdn.net/mln0343/article/details/109270875