0

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

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

4

7 回答 7

2

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

执行以下操作

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意味着将标准错误流附加到您的日志文件中,其中将包括任何未捕获的异常。

于 2012-06-29T08:52:39.837 回答
2

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

于 2012-06-29T08:52:56.430 回答
1

您有多种选择:

  • 使用命令行重定向运算符。
  • 使用 I/O 系统并手动写入文件。
  • 使用 log4j
  • 使用 java.util.logging
于 2012-12-19T11:39:44.603 回答
1

我玩过与 Marc 基本相同的想法。只是一些简单的东西,你可以从中寻找灵感。

这里

于 2012-12-17T06:32:11.167 回答
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();

为了捕捉 IO 异常,整个事情必须用 try/catch 包围。

希望这可以帮助。

于 2012-06-29T08:53:55.283 回答
0

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

于 2012-06-29T08:53:07.943 回答
0

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

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

然后你可以作为一个普通的 Logger 使用:

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

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

于 2014-10-06T10:29:31.973 回答