【问题标题】:Send console output to a log file将控制台输出发送到日志文件
【发布时间】:2018-08-02 06:13:34
【问题描述】:

我有一个用 Java 和 slf4j-logback 编写的应用程序用于日志记录。应用程序中有很多 System.out.println() 语句。有没有办法使用 logback 将所有 sysout 输出写入单独的日志文件。

【问题讨论】:

标签: java logging logback slf4j


【解决方案1】:

请从控制台/命令提示符运行应用程序并将输出重定向到文件。

例如,HelloWorld 是你的类。所有打印将被重定向到 hello.txt 文件。

java HelloWorld >> hello.txt

【讨论】:

    【解决方案2】:
    System.setOut(new PrintStream(new File(path/to/yourfile)));
    

    【讨论】:

    • 在技术上创建时,最好继续打印到标准输出和文件,这有点复杂,但可以实现;)
    • 需要一些双引号。
    • 虽然此代码可以回答问题,但提供有关 如何 和/或 为什么 解决问题的附加上下文将改善答案的长期价值。见this meta post