java自定义日志级别_【Log】logback实现每个类和包自定义级别输出

本文介绍了如何在Java中使用Logback实现自定义日志级别,包括两种方法:一是通过配置文件声明Logger的处理节点,二是通过自定义过滤器SampleFilter来控制日志输出。这两种方法都能实现对特定类或包的日志信息按自定义级别进行记录。
摘要由CSDN通过智能技术生成

本例想实现对类或者包中的日志,自定义级别输出

方法一

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值