2

プロパティの1つを動的に変更するために、すでに存在するアペンダーを参照する適切な方法を探しています。Loggersには、ここで回答されているLoggerFactory.getLoggerがありますが、アペンダーをどうすればよいですか?

アペンダーを取得するには、ロガーを経由する必要がありますか?AppenderFactoryが表示されますが、必要なものとは異なります。このアプローチはここに示されていますが、それは茂みの周りを打ち負かしているようです。ログバック構成の階層には、同じレベルのロガーとアペンダーがあります。これは質問の焦点では​​なかったので、それについては何も言われませんでした。

4

1 に答える 1

3

アペンダーはロガーのコンテキストでのみ存在すると思います。また、SocketAppender を除いて、未使用のアペンダー (どのロガーにも接続されていないアペンダー) もガベージ コレクションの対象となります。したがって、logger.getAppender() を呼び出してアペンダーを取得するのは理にかなっていると思います (ブッシュの周りを叩いているとは思いません)。

于 2012-07-25T12:16:59.833 に答える