logger 过滤部分类的logger

Appender: 中添加自定义的filter

 <appender name="debug2" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${log.path}/common.log</file>
        <filter class="com.icil.elsa.subscribe.milestone.filter.FilterSyncLogger"/>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${log.path}/common-%d{yyyy-MM-dd}.log</fileNamePattern>
        </rollingPolicy>
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern>
        </encoder>
    </appender>

原文链接:https://blog.csdn.net/qq_37162333/article/details/82889962

自定义filter 

package com.icil.elsa.subscribe.milestone.filter;

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

public class FilterSyncLogger extends Filter<ILoggingEvent> {
     
    @Override
    public FilterReply decide(ILoggingEvent event) {
 
        if (getPackName(event.getLoggerName()).equals("com.example.bootstart.log")
                ||getPackName(event.getLoggerName()).equals("com.example.bootstart.log2"))
        {
            return FilterReply.DENY;
        } else{
            return FilterReply.ACCEPT;
        }
    }
 
    public String getPackName(String className){
        String packName = className.substring(0,className.lastIndexOf("."));
        return packName;
    }
 
}
原文地址:https://www.cnblogs.com/lshan/p/11400251.html