spring boot内嵌了日志记录,提供了java util.logging,log4j2,logback的默认配置。java
默认状况下,若是使用了 spring boot系列的stater依赖,则默认使用logback来记录日志,logback路由,同时确保java util logging,commons logging,log4j,log4j2能正常使用。web
虽然spring boot提供多种日志框架,可是并不用担忧,通常状况下咱们并不须要改变日志的依赖项,使用spring boot为咱们配置的默认日志就能够了。spring
一,日志格式app
2014-03-05 10:57:51.253 INFO 45469 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
格式为框架
1,时间,毫秒级编码
2,日志级别 INFO 还有 DEBUG WARN 等spa
3,进程idhibernate
4,线程名线程
5,记录器名称debug
6,日志内容
二,控制台输出 console output
默认error,warn,info级别的日志会打印到控制台。若是想看debug的日志,能够直接启动时
执行 java -jar xx.jar --debug
也能够在application.yml/properties中配置debug =true
当设置为debug模式后,将会记录更多的日志信息
也能够打开trace模式,记录日志跟踪。
三,带颜色的输出
若是咱们的终端命令窗口支持ansi,那么调配不一样的颜色有助于增长可读性。咱们能够经过
spring.output.ansi 配置去设置一个新的值来覆盖默认值。
颜色编码是使用%clr配置的。以简单的方式输出不一样颜色的日志。
默认的颜色为: fatal,error为红色,warn为黄色,info,debug,trace为绿色
固然咱们也能够设置某些格式的文本的颜色
%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){yellow}
四,日志文件
默认状况下, spring boot只是打印到控制台,没有将日志写到文件中。若是想要写日志须要在application.yml中配置
logging.file 或者logging.path
两个只能配置一个,若是配置logging.file,则在当前目录下生成一个日志文件
若是配置了logging.path,则会在指定路径下生成日志。
spring boot的日志默认10M会切割。
同时,log能够对不一样的package设置不一样的日志级别,更精确灵活。如
logging.level.root=warn
logging.level.org.springframework.web=debug
logging.level.org.hibernate =error
这有助于减小一些无关的日志打印,帮助咱们更好的排查问题。
五,自定义配置文件
能够经过配置logger.config指定一个xml配置文件进一步定制日志的属性。
你也能够强制spring boot使用指定的日志系统。你也能够将值设为none来禁止使用日志系统。
由于日志系统初始化是在建立applicationContext以前,因此注解形式不可用,只能经过配置文件配置属性,来更改日志系统或禁用日志系统。
根据日志系统,一下文件会被加载。spring boot在此建议日志配置文件的命名规则最好是xxx-spring.xml
这样才能彻底保证会被初始化。
Logging System | Customization |
---|---|
Logback |
|
Log4j2 |
|
JDK (Java Util Logging) |
|
spring boot 直接支持配置的一些属性
Spring Environment | System Property | Comments |
---|---|---|
|
|
记录异常时出现的转换词 |
|
|
默认的日志文件名称 当前路径直接生成 |
|
|
默认的日志文件名称 带路径 |
|
|
控制台支持的日志格式 |
|
|
日志文件支持的日志格式 |
|
|
日志级别 |
|
|
当前进程id |