1.spring boot默认的日志输出格式,默认输出的日志等级为:ERROR-level,WARN-level, and INFO-level,如果想要打印出debug日志信息,可在 application.properties配置文件中 加上debug=true
2.日志输出到文件中,spring boot默认日志是只输出到控制台,不输出到文件的。如果想要日志输出到文件的话,可以通过在application.properties设置logging.file 或 logging.path这两个属性,具体效果如下表所示:
默认情况下,日志文件的大小达到10MB时会切分一次,产生新的日志文件。例如:my.log.1。这个大小的限制可以通过:logging.file.max-size这个属性进行修改,不过我自己在尝试改的时候,设置属性为:logging.file.max-size=2MB,并没有修改成功,日志一直往my.log文件中的入,并没有新的日志文件产生,这个问题先留着吧。同时可以通过设置logging.file.max-history属性确认日志保留的天数。例如:logging.file.max-history =30,日志保留30天。
3.设置日志告警级别
可以通过在application.properties中配置 logging.level.<logger-name>=<level>来控制日志输出级别,例如:
logging.level.root=WARN
logging.level.org.springframework.web=DEBUG
logging.level.org.hibernate=ERROR
4.日志分组,如果想要将相关的多个模块的输出日志等级设为统一的级别,可以用到组这个概念
举例:
5.自定义日志配置
你可以使用org.springframework.boot.logging.LoggingSystem系统属性强制Spring Boot使用特定的日志记录系统。 该值应该是LoggingSystem实现的完全限定类名。 您还可以使用none值完全禁用Spring Boot的日志记录配置。
根据你的日志记录系统,以下文件将会被加载
官方建议 使用使用-spring 变量来进行日志配置,例如 使用logback-spring.xml而不是logback.xml,使用后者的话,spring无法完全控制日志初始化。
为了帮助进行自定义,一些属性从spring环境中被转移到了系统配置中,如下表所示:
如果你想要在日志属性中使用占位符,你应该使用spring boot的占位符而不是基础框架的占位符,值得注意的是,如果你使用Logback,你应该使用":"作为属性名和值之间的分界符而不是使用"-"。
6.Logback 扩展
spring boot 为了帮助高级的配置 包含了一系列的对于logback的扩展,你可以在logback-spring.xml中使用这些扩展。
note:因为标准的logback.xml文件加载的太早,不能在它里头进行扩展,需要使用logback-spring.xml或者是 定义一个logging.config属性。
这些扩展不能用于Logback的配置扫描,如果你尝试这么去做的话,可能会报如下的错误:
6.1 特殊概要文件配置
<springProfile>标记允许您根据活动Spring概要文件选择性地包含或排除配置的部分。
<springProfile name="staging">
<!-- 当staging这个配置文件生效的时候 在这里头的配置 生效-->
</springProfile>
<springProfile name="dev | staging">
<!-- 当dev | staging这个配置文件生效的时候 在这里头的配置 生效 -->
</springProfile>
<springProfile name="!production">
<!-- 当 "production" 这个配置文件不生效的时候,这其中的配置生效 -->
</springProfile>
6.2 环境变量
<springProperty>可以暴露spring 环境中的属性, 这样的话,就可以在logback可以使用spring 环境中定义的这些变量。
<springProperty scope="context" name="fluentHost" source="myapp.fluentd.host"
defaultValue="localhost"/>
<appender name="FLUENT" class="ch.qos.logback.more.appenders.DataFluentAppender">
<remoteHost>${fluentHost}</remoteHost>
...
</appender>