Springboot的默认日志框架是logback。
- logback-core: 核心模块
- logback-classic: log4j的改进版本,实现了简单的日志门面SLF4J
- logback-access:主要作为Servlet容易交互的模块,比如tomcat/jetty提供一些与HTTP访问相关的功能
日志打印级别
TRACE < DEBUG < INFO < WARN < ERROR
如果一个 logger 允许打印一条具有某个日志级别的信息,那么它也必须允许打印具有比这个日志级别更高级别的信息,而不允许打印具有比这个日志级别更低级别的信息。
<configuration scan="true" scanPeriod="60 seconds" debug="false">
//scan:当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true
//scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。
//debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。
<property name="app-name" value="app-demo" />
<contextName>${app-name}</contextName>
<appender>
//xxxx
</appender>
<logger>
//xxxx
</logger>
<root>
//xxxx
</root>
</configuration>
如果想使用spring扩展profile支持,要以logback-spring.xml命名,其他如property需要改为springProperty
property
用来定义变量值的标签,property标签有两个属性,name和value,其中name的值是变量的名称,value是值。通过property定义的值会被插入到logger上下文中,定义变量后,可以使用"${name}"来使用变量。
logger
用来设置某一个包或者具体的某一个类的日志打印级别以及指定的appender.
root
也是一种logger,且只有一个level属性
appender
负责写日志的组件
filter
下面来看具体的springboot+logback配置
#设置应用的日志级别
logging.level.com.app.spring.boot=INFO
#路径