GUIに2つの出力ロガーを持たせようとしています。このコードは、各ファイルに正しく出力されます。
public static void main(String[] args) {
try {
Handler handler = new FileHandler("OutFile.log");
Logger.getLogger("myApp").addHandler(handler);
Logger.getLogger("myApp").setUseParentHandlers(false);
Handler handler2 = new FileHandler("User.log");
handler2.setFormatter(new SimpleFormatter());
Logger.getLogger("User").addHandler(handler2);
Logger.getLogger("User").setUseParentHandlers(false);
Logger.getLogger("myApp").severe("AppStarting");
Logger.getLogger("User").severe("UserLogStarting");
しかし、その後、GUI で同じ 2 行をテストすると、機能しなくなります。私のロガーの解釈は間違っていますか、それとも何か間違っていますか?
代わりに、メインで以下の行を使用すると (したがって、文字列から myApp を削除しました)、ロガーはアプリ全体で完全に機能しますが、すべてが 1 つのファイルにのみ送信されます。
Logger.getLogger("").addHandler(handler);
PS できればサードパーティのクラスは使いたくありません。