首页 > 解决方案 > 让 Java 将日志写入文件的问题

问题描述

我对 Java 和编码非常陌生,所以请理解我对这些东西非常幼稚。

我正在尝试让 Java 将日志写入 .txt 文件。我已经研究了好几个小时,我的大脑太疼了,无法继续寻找。我希望你们能看看这个并告诉我什么是错的。下面是代码。这暂时是在我的 Mac 上编写的,但最终我会让它在 Windows 上运行。

import java.util.logging.FileHandler;
import java.util.logging.Logger;
import java.util.logging.Level;

public class WriteLogEntriesToLogFile extends Login {

    public WriteLogEntriesToLogFile(String[] args) throws Exception {

        boolean append = true;
        FileHandler handler = new FileHandler("Test.logon.log.txt");

        Logger logger = Logger.getLogger("/Downloads/log.txt");
        logger.addHandler(handler);

        logger.severe("severe message");

  logger.warning("warning message");

  logger.info("info message");

  logger.config("config message");

  logger.fine("fine message");

  logger.finer("finer message");

  logger.finest("finest message");

    }

}

我绝对觉得我错过了一些东西(或很多东西)。任何帮助表示赞赏!

标签: javanetbeans-8file-writingjava.util.logging

解决方案


据我所知,您的日志记录正在输出到文件并且似乎正在工作。

但是,我注意到由于格式基于 xml 记录,日志难以解析,因此我SimpleFormatter在解决方案中使用了 a 在行级别读取日志。

解决方案:

 public static void main(String[] args) {

        Logger logger = Logger.getLogger("");
        FileHandler fileHandler;

        try {
            fileHandler = new FileHandler("Test.logon.log.txt");
            logger.addHandler(fileHandler);

            SimpleFormatter formatter = new SimpleFormatter();
            fileHandler.setFormatter(formatter);
            logger.info("0.0 - My first log");
            logger.info("1.0 - Test log");

        } catch (SecurityException | IOException e) {
            e.printStackTrace();
        }
    }

我希望这有帮助。


推荐阅读