java 日志基础知识_Java必备知识--日志框架

@Plugin(name = "LogAlarmFilter", category = "Core", elementType = "filter", printObject = true)public class LogAlarmFilter extendsAbstractFilter {private static final Logger logger = LoggerFactory.getLogger(LogAlarmFilter.class);private static Set logFilterItems =Sets.newConcurrentHashSet();private static String regExStr = "";private static Pattern pattern =Pattern.compile(regExStr);publicLogAlarmFilter() {super(Result.NEUTRAL, Result.NEUTRAL);

}privateResult filter(Level level, String msg){if (level == null || msg == null){returnResult.NEUTRAL;

}if ("ERROR".equalsIgnoreCase(level.toString())){

Matcher matcher=pattern.matcher(msg);if(matcher.find()){returnResult.DENY;

}else{//如果不处理,一定要返回NEUTRAL,否则会影响其他Filter的执行

returnResult.NEUTRAL;

}

}returnResult.NEUTRAL;

}

@PluginFactorypublic staticLogAlarmFilter createFilter(){return newLogAlarmFilter();

}private static synchronized voidcompileFilterItems(){

regExStr= Joiner.on("|").join(logFilterItems);

pattern=Pattern.compile(regExStr);

logger.info("Update regExStr:[{}]", regExStr);

}public staticBoolean delFilterItem(String item){if(StringUtils.isBlank(item)){returnBoolean.FALSE;

}if (!logFilterItems.contains(item)){returnBoolean.TRUE;

}

logFilterItems.remove(item);

compileFilterItems();returnBoolean.TRUE;

}public staticBoolean addFilterItem(String item){if(StringUtils.isBlank(item)){returnBoolean.FALSE;

}if(logFilterItems.contains(item)){returnBoolean.TRUE;

}

logFilterItems.add(item);

compileFilterItems();returnBoolean.TRUE;

}

@OverridepublicResult filter(LogEvent event) {returnfilter(event.getLevel(), event.getMessage().getFormattedMessage());

}

@OverridepublicResult filter(org.apache.logging.log4j.core.Logger logger, Level level, Marker marker, Message msg, Throwable t) {returnfilter(level, msg.getFormattedMessage());

}

@OverridepublicResult filter(org.apache.logging.log4j.core.Logger logger, Level level, Marker marker, Object msg, Throwable t) {returnfilter(level, msg.toString());

}

@OverridepublicResult filter(org.apache.logging.log4j.core.Logger logger, Level level, Marker marker, String msg, Object... params) {returnfilter(level, msg);

}

@OverridepublicResult filter(org.apache.logging.log4j.core.Logger logger, Level level, Marker marker, String msg, Object p0) {returnfilter(level, msg);

}

@OverridepublicResult filter(org.apache.logging.log4j.core.Logger logger, Level level, Marker marker, String msg, Object p0, Object p1) {returnfilter(level, msg);

}

@OverridepublicResult filter(org.apache.logging.log4j.core.Logger logger, Level level, Marker marker, String msg, Object p0, Object p1, Object p2) {returnfilter(level, msg);

}

@OverridepublicResult filter(org.apache.logging.log4j.core.Logger logger, Level level, Marker marker, String msg, Object p0, Object p1, Object p2, Object p3) {returnfilter(level, msg);

}

@OverridepublicResult filter(org.apache.logging.log4j.core.Logger logger, Level level, Marker marker, String msg, Object p0, Object p1, Object p2, Object p3, Object p4) {returnfilter(level, msg);

}

@OverridepublicResult filter(org.apache.logging.log4j.core.Logger logger, Level level, Marker marker, String msg, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5) {returnfilter(level, msg);

}

@OverridepublicResult filter(org.apache.logging.log4j.core.Logger logger, Level level, Marker marker, String msg, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6) {returnfilter(level, msg);

}

@OverridepublicResult filter(org.apache.logging.log4j.core.Logger logger, Level level, Marker marker, String msg, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7) {returnfilter(level, msg);

}

@OverridepublicResult filter(org.apache.logging.log4j.core.Logger logger, Level level, Marker marker, String msg, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7, Object p8) {returnfilter(level, msg);

}

@OverridepublicResult filter(org.apache.logging.log4j.core.Logger logger, Level level, Marker marker, String msg, Object p0, Object p1, Object p2, Object p3, Object p4, Object p5, Object p6, Object p7, Object p8, Object p9) {returnfilter(level, msg);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值