0
点赞
收藏
分享

微信扫一扫

LogBack过滤指定包控制台日志并且文件输出正常


LogBack过滤指定包控制台日志并且文件输出正常

需求描述:
我有一个类经常打印日志,回调日志或者异步日志,
但是我不想让他在控制台,比如​​​nohup​​​文件里面打印,
只想让他去他该去的日志文件(比如指定xxx.log)下打印.
​​​指定类或者包打印到指定文件​​

import ch.qos.logback.classic.spi.ILoggingEvent;
import ch.qos.logback.core.spi.FilterReply;
import ch.qos.logback.core.filter.Filter;

/**
* @author Jack魏
* @date 2021-03-25
*/
public class LogBackFilter extends Filter<ILoggingEvent> {
@Override
public FilterReply decide(ILoggingEvent event) {
// 指定打印日志类
if (event.getLoggerName().contains("com.fh.impl.vedio.wcs.websocket.WebSocketHandler")) {
return FilterReply.DENY;
} else {
return FilterReply.ACCEPT;
}
}
}

xml配置文件如下:

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} %-4relative [%thread] %-5level %logger{35} - %msg %n</pattern>
</encoder>
<filter class="com.fh.config.LogBackFilter" />
</appender>

参考官方文档:
​​​https://logback.qos.ch/manual/filters.html​​


举报

相关推荐

0 条评论