【发布时间】:2021-06-28 15:20:42
【问题描述】:
我有旧版本的 dropwizrd 项目(0.9.3 没有任何日志过滤器 (https://www.dropwizard.io/en/release-0.9.x/manual/core.html#logging)),我想禁用一个 url 的日志。
我尝试使用它:
package com.pack.service.services;
import ch.qos.logback.classic.spi.ILoggingEvent;
import ch.qos.logback.core.filter.Filter;
import ch.qos.logback.core.spi.FilterReply;
public class LogFilter extends Filter<ILoggingEvent> {
final static String SPAM_URL = "spam";
@Override
public FilterReply decide(ILoggingEvent event) {
if (!event.getMessage().contains(SPAM_URL)) {
return FilterReply.ACCEPT;
} else {
return FilterReply.NEUTRAL;
}
}
}
我在 log4j2.xml 文件的文件夹资源中添加了它:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="ERROR" >
<Appenders>
<Filter class="com.pack.service.services.LogFilter"/>
<Console name="console" target="SYSTEM_OUT">
<PatternLayout pattern="[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n" />
</Console>
</Appenders>
<Loggers>
<Root level="error" additivity="false">
<AppenderRef ref="console" />
</Root>
</Loggers>
</Configuration>
但我得到了错误:
2021-04-01 16:26:33,473 主要错误附加程序包含无效元素或属性“过滤器”
【问题讨论】:
标签: java logging logback dropwizard