springboot 日志配置
******************
日志配置文件说明
application.yml
logging:
config: #配置文件logback.xml位置
level: #形式为Map<String,String>,key为包或者类的全限定名,value为日志级别
file:
name: #日志名称,默认为spring.log
path: #日志路径,同时设置name、path,则path失效
max-size: #单个文件最大值,默认为10m
max-history: #日志保存的最长时间,默认为7天
total-size-cap: #日志总大小,默认为0表示不设限
clean-history-on-start: false #启动时是否清除日志,默认不清除
pattern:
console: #控制台日志输出格式,默认为"%clr(%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"
file: #文件输出格式,默认为"%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}} ${LOG_LEVEL_PATTERN:-%5p} ${PID:- } --- [%t] %-40.40logger{39} : %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"
level: #appender的log level输出样式,默认为%5p
rolling-file-name: #滚动文件名称,默认为${LOG_FILE} + ".%d{yyyy-MM-dd}.%i.gz"
dateformat: yyyy-MM-dd HH:mm:ss:SSS #时间格式
**************
全局级别设置
trace: true
debug: true
info: true, 默认为info级别
命令行指定参数输出级别
java -jar demo.jar --debug
java -jar demo.jar --debug=true
******************
示例
*********************
配置文件
application.yml
logging:
level:
com.example.demo.controller.HelloController: debug #HelloController类的输出级别为debug
file:
name: E:\hh\my.log #日志输出到文件my.log
*********************
controller 层
HelloController
@RestController
public class HelloController {
Logger logger= LoggerFactory.getLogger(HelloController.class);
@RequestMapping("/hello")
public String hello(){
logger.info("hello {}","world");
return "success";
}
}
******************
使用测试
控制台输出
2019-12-21 19:21:55.418 INFO 19468 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
2019-12-21 19:21:55.418 INFO 19468 --- [ main] com.example.demo.DemoApplication : Started DemoApplication in 1.564 seconds (JVM running for 2.839)
2019-12-21 19:22:13.244 INFO 19468 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
2019-12-21 19:22:13.249 INFO 19468 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
2019-12-21 19:22:13.259 INFO 19468 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 9 ms
2019-12-21 19:22:13.283 INFO 19468 --- [nio-8080-exec-1] c.e.demo.controller.HelloController : hello world
日志文件my.log
2019-12-21 19:21:55.418 INFO 19468 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
2019-12-21 19:21:55.418 INFO 19468 --- [main] com.example.demo.DemoApplication : Started DemoApplication in 1.564 seconds (JVM running for 2.839)
2019-12-21 19:22:13.244 INFO 19468 --- [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
2019-12-21 19:22:13.249 INFO 19468 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
2019-12-21 19:22:13.259 INFO 19468 --- [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 9 ms
2019-12-21 19:22:13.283 INFO 19468 --- [http-nio-8080-exec-1] c.e.demo.controller.HelloController : hello world