1. 程式人生 > >使用logback+slf4j生成日誌

使用logback+slf4j生成日誌

由於之前的產品我們都是使用logback作為java 的統一日誌庫,況且該日誌框架本身也特別好,廢話不多說,直接上效果圖


好,接下來是pom檔案配置

<dependency>
   <groupId>org.slf4j</groupId>
   <artifactId>log4j-over-slf4j</artifactId>
   <version>1.7.19</version>
</dependency>
<dependency>
   <groupId>org.slf4j</groupId>
   <artifactId>jcl-over-slf4j</artifactId>
   <version>1.7.19</version>
</dependency>
<dependency>
   <groupId>ch.qos.logback</groupId>
   <artifactId>logback-classic</artifactId>
   <version>1.2.3</version>
</dependency> 

接下來是logback.xml配置

<?xml version="1.0" encoding="UTF-8"?>
 
<configuration>
   <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
      <encoder>
         <pattern>%d{HH:mm:ss.SSS} %-5level [%-20thread] [%-30logger{30}] %msg%n</pattern>
      </encoder>
   </appender>
 
   <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
      <file>${user.dir}/logs/app.log</file>
      <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
         <FileNamePattern>${user.dir}/logs/app.%i.log</FileNamePattern>
         <minIndex>1</minIndex>
         <maxIndex>10</maxIndex>
      </rollingPolicy>
      <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
         <maxFileSize>10MB</maxFileSize>
      </triggeringPolicy>
      <encoder>
         <charset>UTF-8</charset>
         <pattern>%d{yy-MM-dd HH:mm:ss.SSS} %-5level [%-20thread] [%-30logger{30}] %msg%n</pattern>
      </encoder>
   </appender>
 
   <root>
      <level value="WARN"/>
      <appender-ref ref="stdout"/>
      <appender-ref ref="file"/>
   </root>
 
   <!-- 預設配置第三方 -->
   <logger name="com.alibaba.dubbo.common.serialize.support.kryo.CompatibleKryo" level="ERROR"/>
 
   <!-- 預設配置產品 沒啥必要 -->
   <logger name="uyun" level="INFO"/>
 
   <!-- 自定義配置 -->
</configuration>

over~~~