intellij-idea - java.util.logging 使用 ConsoleHandler 并且在 IntelliJ IDEA 9 或 Mac 终端窗口中看不到 system.err 输出

标签 intellij-idea stderr java.util.logging

我一直在尝试运行基于 GroovyTestCase 的集成测试。
根据API docs,它有一个内置的日志属性。 .
我最初试图在测试运行时记录一条信息消息,使用 this site作为引用。
我很惊讶我的日志消息从未在 IntelliJ9 的控制台中显示,因此我尝试从终端窗口在我的 Mac 上运行我的集成测试。
即使我的代码已将日志记录级别设置为 ALL 并且我正在使用 ConsoleHandler,我仍然没有看到任何输出。

我几乎放弃了,但注意到终端窗口中有一条消息,说我失败的测试在 target/test-reports 文件夹中。

奇怪的是,我什至在 IntelliJ9 的 Project Explorer 窗口中都看不到目标文件夹,无论我采用何种 View 作为选项。所以我想这是我想解决的一个问题。

无论如何,我追踪了错误报告,当我深入研究 HTML 报告的失败测试时,有一个指向 system.err 的链接,瞧。这是我一直期待看到的输出!所以第二部分是,为了在我的 IDE 中看到这个输出,我需要做某种 UNIX system.err 重定向到 system.out 吗?

有任何想法吗?

我想出了如何显示目标文件夹......
项目结构 -> 模块 -> 排除的文件夹在排除部分(文件夹左侧)下针对目标单击 x
您可以通过 Project Structure -> Modules -> 单击“target”文件夹,然后单击文件夹列表上方的 Excluded 按钮再次将其删除

最佳答案

GRAILS-7012 .登录 GroovyTestCase 是 java.util.logging,而不是 log4j。您应该定义自己的记录器并改用它。内置的 GroovyTestCase 记录器具有硬编码配置,以生成 HTML、XML 和纯文本格式的 stderr 和 stdout 文件(它运行测试拦截所有输出并使用自定义 XSL -- junit-frames.xsl 生成不同格式的文件)。

关于intellij-idea - java.util.logging 使用 ConsoleHandler 并且在 IntelliJ IDEA 9 或 Mac 终端窗口中看不到 system.err 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4390392/

相关文章:

java - intellij 多模块 Maven 功能

java - IntelliJ 更新 -> 通过 lambda 获取错误

java - Intellij(或其他)- 可以看到用 Java 进行的所有调用的图形/树吗?

Java 应用程序将日志记录相关的错误消息打印到标准输出

Java:如何将java.util.logging的语言更改为英语?

java - 获取日志处理程序中的行号

java - 如何用 Java 编写 JUnit 测试,检查一个特定的打印,该打印依赖于循环中的用户输入

bash - 我应该使用什么方法在 bash 脚本中使用 'stderr' 将错误消息写入 'printf'?

c++ - 在 C++ 中写入 stderr 时调用函数?

java - 为什么 'java -version' 会转到 stderr?