【问题标题】:System.err.println shows no outputSystem.err.println 显示没有输出
【发布时间】:2014-01-28 08:30:55
【问题描述】:

我正在使用 STS 3.4 并正在开发基于 Grails 框架的 Web 应用程序。

当我尝试在 groovy 类中使​​用 System.err.println 时,它不会在标准 Eclipse 控制台(STS 控制台)上打印任何内容。

实际上,有时在印刷品中,但那是十分之一,我无法理解这种随机行为。

我正在使用一些使用System.err.println 进行调试的库,但我无法获得任何调试信息。我只需要知道在哪里以及如何获得System.err.println 输出?

请帮助我,在此先感谢

【问题讨论】:

  • 如果err 映射到磁盘日志文件,请检查您的 IDE 设置。
  • IDE 有默认设置,我仔细检查了它没有映射到其他任何地方

标签: eclipse grails groovy spring-tool-suite


【解决方案1】:

如果是随机行为,可能不是-flush-ed 缓冲流。尤其是当输出来自不同线程时会发生这种情况。

作为一种解决方案,您可以加入System.err 调度(它是一个流,您可以从外部设置)和重载函数,以便在您想要的任何地方获得所需的输出。或者干脆强制flush它。但要小心,因为这可能会导致性能问题。

【讨论】:

    【解决方案2】:

    考虑使用日志记录来获得更多标准和可配置的输出。这应该可以帮助您进行设置:http://groovy.codehaus.org/Logging

    【讨论】:

    • 仅链接的答案并不最适合 stackoverflow。介意添加您引用的页面的摘录吗?
    • 我明确表示我正在使用一些使用 System.err 的库。我该如何修改它?请完全理解问题后再回答
    猜你喜欢
    • 1970-01-01
    • 2012-01-17
    • 2018-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-17
    • 2018-06-20
    • 1970-01-01
    相关资源
    最近更新 更多