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默认使用的是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
上一篇: Failed to read schema document ‘http://code.alibabatech.com/schema/dubbo/dubbo.xsd‘问题解决方法
下一篇: SpringCloud 教程 | 第七篇: 服务消费者整合(Feign+Ribbon)设置超时时间和重试机制进行服务熔断降级(SpringBoot)(2.X版本)
推荐阅读
-
基于web项目log日志指定输出文件位置配置方法
-
Spring Aop之AspectJ注解配置实现日志管理的方法
-
tomcat7修改session默认cookie名JSESSIONID配置
-
分析nginx日志并屏蔽采集者ip(nginx屏蔽ip配置实例)
-
hadoop配置历史服务器&&配置日志聚集
-
PHP.ini中配置屏蔽错误信息显示和保存错误日志的例子
-
nginx php-fpm中启用慢日志配置(用于检测执行较慢的PHP脚本)
-
nginx关闭favicon.ico、robots.txt日志记录配置
-
Spring Boot配置AOP打印日志的全过程
-
nginx访问日志并删除指定天数前的日志记录配置方法