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"); }