0

同じコードから Java デスクトップと Java アプレットを構築しています。Log4jが使用されているため、デスクトップバージョン(オリジナル)のほぼすべてのクラスに次のような行があります

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

アプレットは 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.

この警告を回避し、ロガーをデスクトップ バージョンでのみ使用するための最も洗練されたソリューションは何でしょうか?

4

1 に答える 1

1

「アプレット アプリ」で、log4j をプログラムで構成してみてください。

  1. ロギングをオフにする

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

  2. NullAppender を追加します (Level.OFF の設定では不十分な場合)

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

于 2013-01-07T12:21:13.743 に答える