Пользовательский форматер не работает, если указано в logging.properties

У меня есть пользовательский Formatter, который я хотел использовать в своем приложении для преобразования журнала перед его регистрацией.

Мой форматер выглядит как...

package com.mycomp.logger;

import java.text.MessageFormat;

import java.util.Date; 

import java.util.logging.Formatter; 

import java.util.logging.LogRecord;  

public class BnaLogFormatter extends Formatter {

    private static final DateFormat format 
        = new SimpleDateFormat("MMM dd, yyyy hh:mm:ss a");
    private static final String lineSep = System.getProperty("line.separator");

    public BnaLogFormatter() {
        super();
    }

    @Override
    public String format(LogRecord record) {
        System.out.println("#### Inside custom formatter ####");
        String transactionId = WsUtils.getTransactionIdFromSoapHeader();
        String threadName = "[Thread=" + Thread.currentThread().getName() 
                + "] [transactionId=" + transactionId + "] ";
        String message = record.getMessage();
        StringBuilder output = new StringBuilder()
        .append(format.format(new Date(record.getMillis())))
        .append(" ").append(record.getSourceClassName());
        output.append(threadName); 
        output.append(record.getLevel()).append(": ");
        output.append(record.getMessage());
        if (record.getParameters() != null) {
            output.append(StringUtils.toString(record.getParameters()));
        }

        output.append(' ').append(lineSep);
        return output.toString();
    }
}

В моем logging.properties у меня есть такая запись:

java.util.logging.FileHandler.formatter=com.mycomp.logger.BnaLogFormatter
java.util.logging.FileHandler.level=OFF
java.util.logging.FileHandler.pattern=logs/ena.log

Затем я перезапустил свой сервер Tomcat, но я все еще не могу настроить свои настраиваемые сообщения журнала. Что не так с моим кодом здесь?

1 ответ

Установите уровень регистрации FileHandler на ВСЕ.

java.util.logging.FileHandler.formatter=com.mycomp.logger.BnaLogFormatter
java.util.logging.FileHandler.level=ALL
java.util.logging.FileHandler.pattern=logs/ena.log
Другие вопросы по тегам