我们之前在我们的应用程序中使用了Log4j。我们知道记录的一些错误不是实际错误。这些日志不是直接来自应用程序,而是来自某些依赖的jar。一种选择是降级指定类的所有错误。但是我们不想这样做,因为爆炸半径更大。我们特意查找了类中的日志消息是否为实际错误,然后我们将错误降级为info。 现在我们已经升级到log4j2并且正在尝试找到与此相当的内容。
这是log4j中的逻辑
TestRollingFileAppender extends DailyRollingFileAppender {
@Override
protected void subAppend(LoggingEvent event) {
if (event.getLevel().isGreaterOrEqual(Level.WARN)) {
//stringsToDowngrade reads from properties file and gets set of msgs that can be downgraded
String[] testSubstrings = stringsToDowngrade(event.getLogger());
for (String testString : testSubstrings) {
if (event.getMessage() != null &&
StringUtils.isNotBlank(testString) &&
event.getMessage().toString().contains(testString)) {
event = new LoggingEvent(...,LEVEL.WARN,...);
break;
}
}
}
}
答案 0 :(得分:2)
你有几个选择。