如何从控制台获取Exceptions日志并将其写入外部文件?

时间:2017-11-03 10:13:14

标签: java logging groovy exception-handling spock

我正在尝试为我的自动化脚本实现一个Logger,它将每个信息记录到一个单独的文件中,但是我无法找到一种方法来打印该文件的例外。我已经尝试使用System.setErr(mOutputStream)但是当Exception被打印到控制台时,我的测试执行被停止并且outputStrem自动关闭。 有没有办法让我可以按照它们出现的顺序从控制台获取所有Exception

我只想过滤掉控制台的所有异常。

1 个答案:

答案 0 :(得分:0)

您可以使用log4j(请参阅link)。

log4j.properties文件中,您必须使用FileAppender,例如:

log4j.appender.default.file=org.apache.log4j.FileAppender
log4j.appender.default.file.append=true
log4j.appender.default.file.file=/your-path/your-file.log
log4j.appender.default.file.threshold=INFO
log4j.appender.default.file.layout=org.apache.log4j.PatternLayout
log4j.appender.default.file.layout.ConversionPattern=%-5p %c: %m%n

FileAppender将日志事件附加到文件中。