如何以编程方式添加更改log4j附加程序的日志级别?

时间:2018-12-05 10:32:11

标签: java log4j2 sentry

我添加了一个Sentry追加器来记录我的错误消息。现在,Sentry记录了所有内容。是否可以设置附加程序的日志级别?

我这样添加了Sentry Appender:

private static void addSentryLogger() {
  LoggerContext lc = (LoggerContext) LogManager.getContext(false);

  RegexFilter regexFilter = null;
  try {
    regexFilter = RegexFilter.createFilter("^(.*?([E][R][R][O][R]|[W][A][R][N])[^$]*)$", null, true, Filter.Result.ACCEPT, null);
  } catch (IllegalAccessException e) {
    System.out.println("Error with regexFilter");
  }

  SentryAppender sentryAppender = SentryAppender.createAppender("Sentry", regexFilter);
  sentryAppender.start();
  lc.getConfiguration().addAppender(sentryAppender);

  lc.getRootLogger().addAppender(lc.getConfiguration()
    .getAppender(sentryAppender.getName()));
  lc.updateLoggers();
}

正则表达式还可以,但是我想将其用于更详细的规范。所以我想使用错误级别来过滤错误和警告

我希望那里的人能够提供帮助。

1 个答案:

答案 0 :(得分:0)

使用以下

((AppenderSkeleton)Logger.getRootLogger().getAppender("Sentry")).setThreshold(Level.WARN));