我已经配置了我的Rollbar Appender in logback-spring.xml
<appender name="Rollbar" class="com.rollbar.logback.RollbarAppender">
<accessToken>${ROLLBAR_TOKEN}</accessToken>
<environment>${SPRING_PROFILES_ACTIVE}</environment>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
</appender>并将其激活为所需的配置文件:
<!-- debug level for dev -->
<springProfile name="dev">
<root level="debug">
<appender-ref ref="Console"/>
<appender-ref ref="Rollbar"/>
</root>
</springProfile>一切正常,我可以收到滚动条中的错误,除了一个问题。有一些错误是我不想在Rollbar中看到的,但我仍然可以在控制台中看到它们,例如:
io.netty.channel.unix.Errors$NativeIoException: readAddress(..) failed: Connection reset by peer如何以最方便的方式过滤这类消息?
发布于 2020-05-26 20:16:40
解决方案是创建您自己ch.qos.logback.core.filter.Filter实现
public class RegexRollbarFilter extends Filter<ILoggingEvent> {
private String regex;
private boolean includeThrowableMessage = true;
@Override
public FilterReply decide(ILoggingEvent event) {
if (!isStarted()) {
return FilterReply.NEUTRAL;
}
IThrowableProxy throwableProxy = event.getThrowableProxy();
if (event.getMessage()
.matches(regex) || includeThrowableMessage && throwableProxy != null && throwableProxy.getMessage()
.matches(regex)) {
return FilterReply.DENY;
} else {
return FilterReply.NEUTRAL;
}
}
public void setRegex(String regex) {
this.regex = regex;
}
public void setIncludeThrowableMessage(boolean includeThrowableMessage) {
this.includeThrowableMessage = includeThrowableMessage;
}
public void start() {
if (this.regex != null) {
super.start();
}
}
}并以如下方式使用它:
<appender name="Rollbar" class="com.rollbar.logback.RollbarAppender">
<accessToken>${ROLLBAR_TOKEN}</accessToken>
<environment>${SPRING_PROFILES_ACTIVE}</environment>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
<filter class="your.package.RegexRollbarFilter">
<regex>^.*An existing connection was forcibly closed by the remote host.*$</regex>
</filter>
<filter class="your.package.RegexRollbarFilter">
<regex>(.|\n)*readAddress\(..\) failed: Connection reset by peer(.|\n)*$</regex>
</filter>
</appender>https://stackoverflow.com/questions/61592634
复制相似问题