Logback配置自身的步骤
1.在classpath下尝试找一个叫作"logback-text.xml"文件
2.如果没有找到该文件.检查在classpath下的"logback.xml"
3.如果没有找到该文件.服务提供的加载工具 ServiceLoader (introduced in JDK 1.6)将被使用.解决 com.qos.logback.classic.spi.Configurator 接口实现,通过寻找 class路径下"META-INF\services\ch.qos.logback.classic.spi.Configurator".它的内容必须明确指出完全的类名,该类为需求的 Configurator 实现
4.如果上面的都没有成功,Logback使用BasicConfigurator自动配置自身,将使得日志直接输出到控制台上
这是一个等价于 BasicConfigurator 的配置文件
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- encoders are assigned the type
ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<root level="debug">
<appender-ref ref="STDOUT" />
</root>
</configuration>
--------------------------------------------------------------------------------------------------------
-- 添加状态监听器 添加后,自动状态打印将无效(当出错时打印状态的默认监听)
ch.qos.logback.core.status.NopStatusListener
<configuration>
<-- Recommendation: place status listeners towards the the top of the configuration file -->
<statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener" />
... the rest of the configuration file
</configuration>
A StatusListener
--------------------------------------------------------------------------------------------------------
-- 自动扫描文件变化重新配置自身
<configuration scan="true">
...
</configuration>
-- 默认每分钟扫描,可以通过scanPeriod 指定
-- Values can be specified in units of milliseconds, seconds, minutes or hours
-- 如果没有指定单位,将默认使用milliseconds,这并不合适 ,所以别忘了单位
<configuration scan="true" scanPeriod="30 seconds" >
...
</configuration>
--------------------------------------------------------------------------------------------------------
配置文件结构
configuration
-appender
-logger
-root
--------------------------------------------------------------------------------------------------------
<logger>元素配置logger,有一个强制 name 属性,
可选的 level 属性,允许 大小写敏感的 TRACE,DEBUG,INFO,WARN,ERROR,ALL 或 OFF,
特殊的大小写敏感 INHERITED 或它的同义词 NULL (强制继承 继承树上高一级的别的logger的level)
可选的 additivity 属性,允许 true 或 false .是否允许appender累计
logger 可以包含0或多个<appender-ref>元