为Java程序创建日志文件

时间:2012-06-29 08:47:11

标签: java logging log4j

我有一个java程序,我创建了批处理文件,以便在运行一段时间后安排它。 我想在加载时为该程序生成日志文件, 该日志文件必须包含日期时间和错误(如果有任何抛出)。

如何为Java程序创建日志文件?

7 个答案:

答案 0 :(得分:2)

研究log4j记录器,实现其配置。

答案 1 :(得分:1)

如果您的需求如此简单,您很可能会在批处理文件中进行日志记录。

执行以下操作

date /t >> log_file_path
time /t >> log_file_path
echo Starting execution >> log_file_path
java -jar your_java_app 2>> log_file_path
echo Finished execution >> log_file_path 

2>> log_file_path表示将标准错误流附加到您的日志文件,其中包含任何未捕获的异常。

答案 2 :(得分:1)

使用FileWriter类在文件系统上创建一个新文件,然后使用BufferedWriter启动I / O流以写入此文件:

// create a new file with specified file name
FileWriter fw = new FileWriter("myFile.log");

// create the IO strem on that file
BufferedWriter bw = new BufferedWriter(fw);

// write a string into the IO stream
bw.out("my log entry");

// don't forget to close the stream!
bw.close();

整个事情必须用try / catch包围才能捕获IO Exception。

希望这有帮助。

答案 3 :(得分:1)

我玩过与Marc基本相同的想法。只需要一些简单的东西就可以看到灵感。

here

答案 4 :(得分:1)

您有多种选择:

  • 使用命令行重定向运算符。
  • 使用I / O系统并手动写入文件。
  • 使用log4j
  • 使用java.util.logging

答案 5 :(得分:0)

如果您需要更复杂的内容,请参阅Java documentation for Logging

答案 6 :(得分:0)

创建日志并将其写入文件的简单表单:

Logger logger = Logger.getLogger(MyClass.class.getName());
FileHandler fileLog = new FileHandler("mylog.log");
logger.addHandler(fileLog);

然后您可以使用普通记录器:

logger.log(Level.INFO, "my log line");
logger.log(Level.WARNING, "ATTENTION warning line");

您可以访问此链接以获取更多信息:http://www.vogella.com/tutorials/Logging/article.html