log4j2の手動コード設定でappenderにレベルを追加する方法は?
hereからあなたはこれを達成するために別のロガーを宣言する必要はありません。 AppenderRef要素のログレベルを設定できます。
とXMLの例(一部):
<Root level="trace">
<AppenderRef ref="file" level="DEBUG"/>
<AppenderRef ref="STDOUT" level="INFO"/>
</Root>
しかし、私は、私は自分自身をコンフィギュレーションを作成するときにそれを行うための方法を見つけることができません。たとえば、私はconsoleAppenderBuilderとrootLoggerBuilderを持っている:
AppenderComponentBuilder consoleAppenderBuilder = builder
.newAppender("Stdout", "CONSOLE")
.addAttribute("target", ConsoleAppender.Target.SYSTEM_OUT);
RootLoggerComponentBuilder rootLoggerBuilder = builder
.newRootLogger(Level.ERROR)
.add(builder.newAppenderRef("Stdout"));
ルートロガーにコンソールアペンダを追加し、アペンダのログレベルを定義する方法。私はルートロガーに複数のアペンダーを追加したいので、これを求めています。
アペンダーレベルをプログラムで設定する方法を知りたいと思っていましたが、[XY問題](https://meta.stackexchange.com/a/66378)のように感じられます必要な結果を達成するためにプログラムによる設定を行う必要があります。このようにlog4j2を設定する理由を説明してください。プログラムによる設定を避けることができれば、コードがlog4j2の実装に依存するのを防ぎ、代わりにパブリック・インターフェースに依存することができます。 –