轻松禁用applet的log4j?

时间:2013-01-07 11:27:12

标签: java logging applet log4j warnings

我正在使用相同的代码构建Java Desktop和Java Applet。 Log4j正在使用中,因此几乎桌面版本(原始版本)中的每个类都具有类似

的行
private static final Logger LOG = LoggerFactory.getLogger(EachClassName.class);

因为Applet不应该执行任何io操作,所以我必须排除这个配置代码:

InputStream is = Log4jConfigurator.class.getClassLoader().getResourceAsStream(path);
properties.load(is);
is.close();
PropertyConfigurator.configure(properties);

但现在我收到警告,因为getLogger仍然存在

log4j:WARN No appenders could be found for logger (org.game.client.Client).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

避免此警告并仅在桌面版中使用记录器的最佳解决方案是什么?

1 个答案:

答案 0 :(得分:1)

在“Applet App”中尝试以编程方式配置log4j:

  1. 关闭记录

    LogManager.getRootLogger().setLevel(Level.OFF);

  2. 添加NullAppender(如果设置Level.OFF不够)

    LogManager.getRootLogger().addAppender(new NullAppender())