本例想实现对类或者包中的日志,自定义级别输出
方法一
1、自定义日志级别方式如下:
代码文件:Logger monitorLogger = LoggerFactory.getLogger("monitor"); //在声明实例时创建自定义级别标签,monitor就是自定义的标签。
2、输出日志采用这样的方式:
代码文件:monitorLogger.info("======info");
3、配置文件:声明Logger的处理节点
1
2
3
4 INFO
5 ACCEPT
6 DENY
7
8
9 ${Log_Home}/info/monitor.%d{yyyy-MM-dd}.%i.log
10 30
11
12
13 %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
14
15
16
17
18
19
20
21
22
23
方法二
1、自定义日志级别方式如下:
代码文件:Logger monitorLogger = LoggerFactory.getLogger("monitor"); //在声明实例时创建自定义级别标签,monitor就是自定义的标签。
2、输出日志采用这样的方式:
代码文件:monitorLogger.info("======info");
3、自定义过滤器SampleFilter.java
1 packagecom.test;2
3 importch.qos.logback.classic.spi.ILoggingEvent;4 importch.qos.logback.core.filter.Filter;5 importch.qos.logback.core.spi.FilterReply;6
7 /**
8 * 日志过滤器9 *@authorH__D10 * @date 2019-07-12 01:22:2611 *12 */
13 public class SampleFilter extends Filter{14
15 @Override16 publicFilterReply decide(ILoggingEvent event) {17
18 //判断日志名是否包含monitor
19 if (event.getLoggerName().contains("monitor")) {20 returnFilterReply.ACCEPT;21 }22 returnFilterReply.DENY;23
24 }25 }
4、在配置文件appender中使用过滤器
1
2
3
4 /filter>5
6 ${Log_Home}/info/monitor.%d{yyyy-MM-dd}.%i.log
7 30
8
9
10 %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
11
12
13
14
15
16
17
18
19
20