默认情况下Spring Boot的日志已经可以让人很愉快的使用了,下文是为了满足你更高的要求。
Spring Boot的日志特性
Spring boot做为一个微框架其它对主流的日志系统做了很多的封装,自动适配log4j、log4j2、logback。
另外对于slf4j这样的日志封装组件也是无痛的可以使用,所要做的就是保证Library Path中有该库。
同时对于一些常用的功能,比如更改日志级别、写文件、改格式这些都可以通过application.properties文件来实现。
写到文件
在 application.properties 文件里加入 logging.file 或 logging.path 属性并指定位置。
输出MDC
MDC是一组用户在编程时定制的map键值对,在输出时可以控制它的输出位置,应用场景如下,多用户web系统,用一个值来标识用户,这样在把日志存储到数据库中时可以非常方便的查看该用户的日志便于差错和审计。
#logging.pattern.level=user:%X{user} %5p // %X{mdc-name}
写到数据库
以默认使用的logback日志为例。
1. 先配置好数据库dataSource
2. 数据库建表,脚本可以在logback的script目录下找。
3. 配置一个logback-spring.xml文件,在其中配置db-appender。注意数据库配置可以通过 <springProperty name="" source="" />来引用。
针对不同的配置变更不同的日志方案
比如在开发时不把日志记录数据库和文件,在发布时才做。
在application.properties文件中通过 spring.profiles.active=dev 指定子配置,同时在logbook-spring.xml文件中使用<springProfile name="dev"></springProfile>来切换。