java.util.logging Использование ConsoleHandler и отсутствие вывода system.err в IntelliJ IDEA 9 или окне терминала Mac

Я пытался запустить интеграционный тест на основе GroovyTestCase. У него есть встроенное свойство журнала в соответствии с документами по API. Сначала я пытался записать информационное сообщение во время выполнения теста, используя этот сайт в качестве ссылки. Я был удивлен, что мои сообщения журнала никогда не отображались в консоли в IntelliJ9, поэтому я попытался запустить интеграционный тест на своем Mac из окна терминала. Тем не менее я не видел никакого вывода, хотя мой код установил уровень ведения журнала на ВСЕ, и я использовал ConsoleHandler.

Я почти отказался от этого, но заметил сообщение в окне терминала, в котором говорилось, что мои неудачные тесты находятся в папке target/test-reports.

Как ни странно, я даже не вижу целевую папку в окне Project Explorer IntelliJ9, независимо от того, какой вариант я выбираю. Так что я думаю, что это один вопрос, который я хотел бы решить.

Во всяком случае, я отследил отчет об ошибке, и когда я углубляюсь в неудавшийся тест отчета HTML, есть ссылка на system.err и вуаля. Вот мой результат, который я ожидал увидеть все это время! Итак, вторая часть этого вопроса: есть ли какое-то перенаправление UNIX system.err на system.out, которое мне нужно сделать, чтобы увидеть этот вывод в моей среде IDE?

Любые идеи?

Я понял, как отобразить целевую папку ... Структура проекта -> Модули -> Исключенные папки, щелкните x напротив цели в разделе исключенных (слева от папок). Вы можете удалить его снова, выбрав Структура проекта -> Модули -> нажмите « target», затем нажмите кнопку «Исключено» над списком папок.


person JGFMK    schedule 08.12.2010    source источник


Ответы (1)


См. GRAILS-7012. log в GroovyTestCase — это java.util.logging, а не log4j. Вы должны определить свой собственный регистратор и использовать его вместо этого. Встроенный регистратор GroovyTestCase имеет жестко заданную конфигурацию для создания файлов для stderr и stdout в форматах HTML, XML и обычного текста (он запускает тесты, перехватывая все выходные данные и создавая файлы в различных форматах с использованием пользовательского XSL — junit-frames.xsl).

person CrazyCoder    schedule 09.12.2010
comment
Мне известно, что это журнал java.util.logging из документации по API. Чего я не понимаю, так это того, что это не работает. log.addHandler(новый ConsoleHandler()) log.setLevel(Level.ALL) log.log(Level.INFO, 'entered') (Введенный никогда не отображается в консоли) - person JGFMK; 10.12.2010
comment
т. е. введенный никогда не отображается в консоли IntelliJ IDE или окне терминала/оболочке UNIX моего Mac - person JGFMK; 10.12.2010
comment
Проверьте исходный код, как выполняется выполнение, он может перехватить все выходные журналы и направить их в файлы. - person CrazyCoder; 11.12.2010