Как избежать печати имени основного класса регистратора всегда, при печати журналов? - PullRequest
0 голосов
/ 20 апреля 2019

Я хочу распечатать журнал в консоли.Я использую java.util.logging.Logger класс для печати журнала.Ниже приведен мой код.

import java.text.MessageFormat;
import java.util.logging.Logger;
import com.practice.exception.InvalidOperationException;

public final class Log {

    private static Logger logger = Logger.getLogger(Log.class.getSimpleName());
    private Log() {
        throw new InvalidOperationException("Object creation is not allowed.");
    }
    public static void logInfo(String pattern, Object...arguments) {
        MessageFormat format = new MessageFormat(pattern);
        String message = format.format(arguments);
        logger.info(message);
    }
}

Я использую метод Log.logInfo () для печати журнала.У меня вопрос, когда я печатаю журнал, он всегда печатается в формате ниже.Я не хочу печатать "20 апреля 2019 г. 13:06:14. Com.practice.utils.Log logInfo" каждый раз, когда я печатаю некоторые журналы.Есть ли способ, которым мы можем достичь этого?

Apr 20, 2019 1:06:14 PM com.practice.utils.Log logInfo
INFO: First text I have entered.
Apr 20, 2019 1:06:14 PM com.practice.utils.Log logInfo
INFO: Second text I have entered.

Ответы [ 2 ]

0 голосов
/ 20 апреля 2019

может определить формат в файле конфигурации. java.util.logging.SimpleFormatter.format = [% p]% t:% m

, где сообщение% m уровень / серьезность% p нить% t

0 голосов
/ 20 апреля 2019

См. Несколько предложений здесь: https://www.logicbig.com/tutorials/core-java-tutorial/logging/customizing-default-format.html

Самым простым будет (по ссылке):

System.setProperty("java.util.logging.SimpleFormatter.format", "[%1$tF %1$tT] [%4$-7s] %5$s %n");

Или даже проще (просто напечатать уровень журнала и сообщения):

System.setProperty("java.util.logging.SimpleFormatter.format", "%4$s: %5$s %n");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...