logback配置文件

来源:互联网 发布:三星手机手电筒软件 编辑:程序博客网 时间:2024/05/17 05:50

Logback 可以通过编程式配置,或用 XML 格式的配置文件进行配置。 

Logback 采取下面的步骤进行自我配置: 

1. 尝试在 classpath 下查找文件 logback-test.xml; 2. 如果文件不存在,则查找文件 logback.xml; 

3. 如果两个文件都不存在,logback 用 BasicConfigurator 自动对自己进行配置,这会 导致记录输出到控制台。  

第三步也是最后一步是为了在缺少配置文件时提供默认(但基本的)记录功能。

import org.slf4j.Logger; import org.slf4j.LoggerFactory;  public class MyApp1 {  final static Logger logger = LoggerFactory.getLogger(MyApp1.class);   public static void main(String[] args) {   logger.info("Entering application."); Foo foo = new Foo();   foo.doIt();   logger.info("Exiting application.");  } } 




最简单的配置方法就是使用默认配置。 
BasicConfigurator 用法的简单例子: 


 该 类 定义 了一 个静 态变量 logger ,然 后实 例 化一 个 Foo 对象。Foo 类如下 

import org.slf4j.Logger; import org.slf4j.LoggerFactory;  public class Foo {      static final Logger logger = LoggerFactory.getLogger(Foo.class);      public void doIt() {           logger.debug("Did it again!");      } } 



假设配置文件 logback-test.xml 和 logback.xml 都不存在,那么 logback 默认地会调用 BasicConfigurator , 创 建一 个 最小 化配 置 。最 小化 配置 由 一个 关联 到 根 logger 的 ConsoleAppender 组成。输出用模式为%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n 的 PatternLayoutEncoder 进行格式化。还有,根 logger 默认级别是 DEBUG。 

MyApp1 程序通过调用 org.slf4j.LoggerFactory 类和 org.slf4j.Logger 类连接到 logback, 取得想 要的 logger, 然后 继续 。注意 Foo 类对 logback 唯 一的 依赖 是通 过引入 org.slf4j.LoggerFactory 和 org.slf4j.Logger.

如果 classpath 里有 logback-test.xml 或 logback.xml,logback 会试图用它进 行自我配置。下面的配置文件与刚才的 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> 



把logback.xml ,放到 classpath 里,运行后会和上例的输出几乎一样。 


0 0
原创粉丝点击