簡體   English   中英

如何以編程方式添加更改log4j附加程序的日志級別?

[英]How to add change the log level for a log4j appender programmaticaly?

我添加了一個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();
}

正則表達式還可以,但我想將其用於更嚴格的規范。 所以我想使用錯誤級別來過濾錯誤和警告

我希望有人可以提供幫助。

使用以下

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM