0

プロパティ ファイルを使用して Java ロギングを実装しました。そこでは、ファイル ハンドラーとカスタム ハンドラーを備えたカスタム ロガーを使用します。私の問題は、カスタム ハンドラーのログ レベルが機能していないことです。これは私の構成です:

studium.logger.useParentHandlers = false

studium.logger.ProjectLogger.handlers = java.util.logging.FileHandler, studium.logger.WindowHandler


studium.logger.ProjectLogger.level = FINEST


studium.logger.WindowHandler.formatter = studium.logger.formatter.TextAreaFormatter
studium.logger.WindowHandler.level = INFO

java.util.logging.FileHandler.level = FINEST
java.util.logging.FileHandler.formatter = studium.logger.formatter.FileFormatter
java.util.logging.FileHandler.append    = true
java.util.logging.FileHandler.pattern   = log.txt

ファイルハンドラは正常に動作しています。ログファイルにうまく記録されています。しかし、私の WindowHandler を使用すると、Info と Warning だけでなく、ログレベルが Fine のすべてのログを取得できます

ここに私の WindowHandler があります:

public class WindowHandler extends StreamHandler {

    private JTextArea textArea;

    public WindowHandler() {
        super();
        this.textArea = MainFrame.out;
    }

    @Override
    public void publish(LogRecord record) {
        textArea.append(getFormatter().format(record));
    }

    public JTextArea getTextArea() {
        return textArea;
    }

    public void setTextArea(JTextArea textArea) {
        this.textArea = textArea;
    }

}

そして、ここに私のtextAreaの出力があります:

FINE Test log level FINE
WARNING Test log level WARNING

私は何が欠けていますか?

4

1 に答える 1