首页 > 解决方案 > 使用新类更改 Java 中的日志记录格式

问题描述

我想更改我的日志格式。

是)我有的:

Jul 23, 2019 10:17:02 PM myclass log INFO: message

我想要的是:

Jul 23, 2019 10:17:02 INFO: message

我该怎么做,你能帮帮我吗?

public class AIVLogger {

    private static Logger logger = Logger.getLogger(AIVLogger.class.getName());
    private static FileHandler fh = null;
    private static String logFolder = System.getProperty("user.dir") + File.separator + "Configuration_Data" + File.separator + "log";
    private static String logFile = logFolder + File.separator + "logger";

    public static void initialize() {

        try {
            new File(logFolder).mkdirs();
            fh = new FileHandler(logFile + "_" + GenericFuncs.getTimeNowFileName() + ".txt", false);
        } catch (SecurityException e) {
            AIVLogger.log(e.getMessage());
        } catch (IOException e) {
            AIVLogger.log(e.getMessage());
        }
        fh.setFormatter(new SimpleFormatter());
        logger.addHandler(fh);
        logger.setLevel(Level.ALL);
    }

    public static Logger getInstance() {
        return logger;
    }

    public static void log(String logMessage) {
        //logger.log(logger.getLevel(), logMessage);
        Level x = logger.getLevel();
        logger.log(x, logMessage);
    }

}

这是我想要改变的课程。

标签: javaloggingformat

解决方案


这完全取决于您使用的日志框架。例如:

  • 如果您只是使用System.out.println()它就像更改您打印的字符串一样简单

  • 如果您使用 Logback,您可以定义扩展的自定义布局类,LayoutBase<ILoggingEvent>并将其设置在您的布局 xml 文件中。

通常,查找您正在使用的日志框架的文档,或在问题中提供此信息。


推荐阅读