我正在使用相同的代码构建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.
避免此警告并仅在桌面版中使用记录器的最佳解决方案是什么?
答案 0 :(得分:1)
在“Applet App”中尝试以编程方式配置log4j:
关闭记录
LogManager.getRootLogger().setLevel(Level.OFF);
添加NullAppender(如果设置Level.OFF不够)
LogManager.getRootLogger().addAppender(new NullAppender())