Как программно добавить изменение уровня журнала для приложения log4j? - PullRequest
0 голосов
/ 05 декабря 2018

Я добавил приложение 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();
}

Регулярное выражение в порядке, но я хочу использовать его для более детальной спецификации.,Поэтому я хочу использовать уровень ошибок для фильтрации ERROR и WARN

Я надеюсь, что кто-то может помочь.

1 Ответ

0 голосов
/ 05 декабря 2018

Используйте следующее

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