Fork me on GitHub

springboot日志框架logback

常见的日志框架

slf4j

log4j

logback

common-logging等

logback介绍

基于Log4j基础上大量改良,不能单独使用,推荐配合日志框架SLF4J来使用

logback当前分成三个模块:logback-core,logback-classic和logback-access;

logback-core是其它两个模块的基础模块

日志级别

DEBUG < INFO < WARN < ERROR

Logback的核心对象

Logger:日志记录器

Appender:指定日志输出的目的地,目的地可以是控制台,文件

Layout:日志布局 格式化日志信息的输出

 

通用的日志配置文件

logback-spring.xml

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <configuration>
 3 
 4     <appender name="consoleApp" class="ch.qos.logback.core.ConsoleAppender">
 5         <layout class="ch.qos.logback.classic.PatternLayout">
 6             <pattern>
 7                 %date{yyyy-MM-dd HH:mm:ss.SSS} %-5level[%thread]%logger{56}.%method:%L -%msg%n
 8             </pattern>
 9             <pattern>
10                 %red(%d{yyyy-MM-dd HH:mm:ss.SSS}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{10}) -
11                 %cyan(%msg%n)
12             </pattern>
13         </layout>
14     </appender>
15 
16     <appender name="fileInfoApp" class="ch.qos.logback.core.rolling.RollingFileAppender">
17         <filter class="ch.qos.logback.classic.filter.LevelFilter">
18             <level>ERROR</level>
19             <onMatch>DENY</onMatch>
20             <onMismatch>ACCEPT</onMismatch>
21         </filter>
22         <encoder>
23             <pattern>
24                 %date{yyyy-MM-dd HH:mm:ss.SSS} %-5level[%thread]%logger{56}.%method:%L -%msg%n
25             </pattern>
26         </encoder>
27         <!-- 滚动策略 -->
28         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
29             <!-- 路径 -->
30             <fileNamePattern>D:/logs/test-log/app.info.%d.log</fileNamePattern>
31         </rollingPolicy>
32     </appender>
33 
34     <appender name="fileErrorApp" class="ch.qos.logback.core.rolling.RollingFileAppender">
35         <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
36             <level>ERROR</level>
37         </filter>
38         <encoder>
39             <pattern>
40                 %date{yyyy-MM-dd HH:mm:ss.SSS} %-5level[%thread]%logger{56}.%method:%L -%msg%n
41             </pattern>
42         </encoder>
43 
44         <!-- 设置滚动策略 -->
45         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
46             <!-- 路径 -->
47             <fileNamePattern>D:/logs/test-log/app.err.%d.log</fileNamePattern>
48 
49             <!-- 控制保留的归档文件的最大数量,超出数量就删除旧文件,假设设置每个月滚动,
50             且<maxHistory> 是1,则只保存最近1个月的文件,删除之前的旧文件 -->
51             <MaxHistory>1</MaxHistory>
52 
53         </rollingPolicy>
54     </appender>
55     <root level="info">
56         <appender-ref ref="consoleApp"/>
57         <appender-ref ref="fileInfoApp"/>
58         <appender-ref ref="fileErrorApp"/>
59     </root>
60 </configuration>

 

 

posted @ 2019-07-27 17:37  xbwang520  阅读(272)  评论(0编辑  收藏  举报