目录
常用Java日志框架有java.util.logging、log4j、logback、commons-logging等。
17.1 Logback简介
Logback分为三个模块:lobback-core、logback-classic和logback-access。core模块是其他两个模块的基础,classic是core的扩展,是log4j巨大改进的版本。
Logback的日志级别有trace、debug、info、warn、error,级别排序为:trace<debug<info<warn<error。
要让Spring Boot输出日志文件,有两种方式:
1.可在application.properties配置文件中配置logging.path键值:
logging.path=${user.home}/logs
这样在${user.home}/logs目录下会生成默认的文件名命名的日志文件spring.log
2.可在application.properties配置文件中配置logging.file键值:
spring.application.name=lightsword
logging.file=${user.home}/logs/${spring.application.name}.log
这样日志名字就是lightsword.log
注:以上两种方式不能同时使用。若同时使用,则只有logging.file生效
17.2 配置logback日志
根据不同的日志系统,Spring Boot按“约定规则”组织配置文件名加载配置文件:
Spring Boot官方推荐使用带有“-spring”的文件名作为日志配置,这样Spring Boot可以为它添加一些特有配置项。
Logback读取类路径下配置或属性文件的步骤:logback.groovy → logback-test.xml → logback.xml。若没有配置任何logback.xml、logback.groovy等文件,Logback会使用BasicConfigurator启动默认配置,该配置会将日志输出到控制上。
17.3 logback.groovy配置文件
17.3.1 显示系统Log级别
编写一个log接口来展示当前系统日志级别
17.3.2 使用logback.groovy配置
logback框架支持logback.groovy简洁的DLS(领域特定语言,Domain-specific languages)风格
17.3.3 配置文件说明
结构如下:
<configuration scan="" scanPeriod="" debug="">
作用:根节点
scan:值为true,配置文件发生改变则重新加载,默认为true
scanPeriod:判断配置文件是否发生修改的时间间隔,默认为毫秒,当scan值为true时生效
debug:值为true时,实时打印出logback内部日志信息,默认为false
<jmxConfigurator>
作用:开启JMX(Java Management Extensions,即Java管理扩展)功能
</jmxConfigurator>
<appender>
作用:定义日志输出
</appender>
<logger>
</logger>
<root>
作用:指定最基础的日志输出级别
</root>
</configuration>