Logback1.2.3使用和配置
原创    bluesky    发表于:2017-04-13 11:01:59
  阅读 :182   收藏   编辑
  • 简介

  1. Logback为取代log4j而生。
  2. Logback由log4j的创立者Ceki Gülcü设计。以十多年设计工业级记录系统的经验为基础,所创建的logback比现有任何记录系统更快、占用资源更少,有时差距非常大。
  3. Logback提供独特而实用的特性,比如Marker、参数化记录语句、条件化堆栈跟踪和强大的事件过滤功能…
  • maven依赖

    <dependency>
      <groupid>ch.qos.logback</groupid>
      <artifactid>logback-core</artifactid>
      <version>1.2.3</version>
    </dependency>
    <dependency>
      <groupid>ch.qos.logback</groupid>
      <artifactid>logback-classic</artifactid>
      <version>1.2.3</version>
    </dependency>
    <dependency>
      <groupid>org.slf4j</groupid>
      <artifactid>slf4j-api</artifactid>
      <version>1.7.25</version>
    </dependency>
    
  • hello logback

      package test.logback;
    
      import org.slf4j.Logger;
      import org.slf4j.LoggerFactory;
    
      public class HelloLogback {
    
          final static Logger logger = LoggerFactory.getLogger(HelloLogback.class);
    
          public static void main(String[] args) {
    
              logger.info("hello logback...");
              //使用变量
              logger.info("hello,{}", "logback...");
          }
      }
    
    logback对配置文件的查找优先级:
  1. logback会试图在classpath下查找名为logback-test.xml
  2. 如果该文件没有找到,去找classpath下的logback.groovy
  3. 如果依然没有找到,去找classpath下的logback.xml
  4. 如果依然没有找到,去找logback实现商的META-INF下的文件(这里的是“logback-classic”/META-INF/下的)
  5. 如果依然没有找到,logback本身使用basicconfigurator日志输出定向到控制台
  • 配置

    classpath下新建logback.xml
    1. 控制台日志:

      <configuration>
         <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
             <encoder>
                 <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger - %msg%n</pattern>
             </encoder>
         </appender>
      
         <root level="DEBUG">
             <appender-ref ref="console">
         </appender-ref></root>
      </configuration>
      
    2. 文件日志:

      <configuration>
             <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
                 <rollingpolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                     <filenamepattern>app-%d{yyyy-MM-dd}.log</filenamepattern>
                 </rollingpolicy>
      
                 <encoder>
                     <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger - %msg%n</pattern>
                 </encoder>
             </appender>
      
             <root level="DEBUG">
                 <appender-ref ref="file">   
             </appender-ref></root>
         </configuration>
      
评论
条评论