springboot学习笔记:4.logback日志配置
2024-08-28 11:03:01
springboot中日志组件推荐使用logback;
由于springboot内置了logback,所以可以直接在application.properties中配置;如果要功能丰富些,则配置下logback-spring.xml。
一.在application.properties里配置的方式:
#保存在项目中的my.log文件中
logging.file=spring.log
#保存在系统指定路径下,如指定到F盘下的log文件夹中,默认生成名为spring.log的日志
logging.path=F:/log
#配置日志等级
logging.level.org.springframework.web=INFO
二、配置logback-spring.xml
直接在application.properties中配置外,可以通过配置logback-spring.xml,定制更精细的配置;
步骤:
在 src/main/resources 下面创建logback-spring.xml (官方优先推荐使用-spring.*的配置方式)
根据不同环境(prod:生产环境,test:测试环境,dev:开发环境)来定义不同的日志输出,在 logback-spring.xml 中使用 springProfile 节点来定义,方法如下:
注意文件名称不是logback.xml,想使用spring扩展profile支持,要以logback-spring.xml命名
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml" />
<logger name="org.springframework.web" level="INFO"/>
<logger name="com.zjt" level="TRACE" />
<!-- 测试环境+开发环境. 多个使用逗号隔开. -->
<springProfile name="test,dev">
<logger name="org.springframework.web" level="DEBUG"/>
<logger name="com.zjt" level="DEBUG" />
</springProfile>
<!-- 生产环境. -->
<springProfile name="prod">
<logger name="org.springframework.web" level="ERROR"/>
<logger name="com.zjt" level="ERROR" />
</springProfile>
</configuration>
如果在 logback.xml 和 application.properties 中定义了相同的配置(如都配置了 org.springframework.web)但是输出级别不同,则实际上 application.properties 的优先级高于 logback.xml
三、总结
在Spring Boot 中记录日志只需两步:
1、在 src/main/resources 下面创建logback.xml 文件,并按上面讲述的进行配置。
或者使用最简单的方法在 application 配置文件中配置。
2、在Java代码中创建实例,并在需要输出日志的地方使用。
// 在Java类中创建 logger 实例
private Logger logger = LoggerFactory.getLogger(this.getClass());
// 在方法中使用日志输出,如
publicvoidlogTest() {
logger.debug("日志输出测试 Debug");
logger.trace("日志输出测试 Trace");
logger.info("日志输出测试 Info");
}
最新文章
- Nginx 配置简述
- SQL Server2008清除数据库日志
- Code4App地址
- [Linux 性能检测工具]FREE
- spring-data-jpa Repository的基本知识
- GCC 编译选项(转)
- 设计模式-工厂方法(Demo)
- Unity3d 协程的注意问题(新手须注意,老手须加勉)
- hdu4521-小明系列问题——小明序列(线段树区间求最值)
- 帝国cms7.2灵动标签万能教程
- Mongodb语法总结
- 系统里有Courier New字体 Eclipse没有这个字体选项
- js中的回调函数的理解
- C语言第四次作业--嵌套循环
- Educational Codeforces Round 63 (Rated for Div. 2) B. Game with Telephone Numbers 博弈思维+模拟+贪心思维
- java中出现内存溢出的几种情况
- ORACLE 字段AES算法加密、解密
- udp套接字及利用socketserver模块实现并发以及并发编程
- FileZilla:425 Can&#39;t open data connection for transfer of解决办法
- MySQL命令:约束