Как перенаправить стандартный вывод stderr в ant-скрипт? - PullRequest
9 голосов
/ 12 ноября 2009

Я запускаю ant-скрипт (с помощью круиз-контроля) и хотел бы иметь возможность сбросить std out и std err для конкретной цели-муравья на обычный текстовый файл .

Да, я знаю, что круиз-контроль уже поддерживает файл журнала XML, содержащий эту информацию (среди прочего), но по соображениям переносимости мне нужно, чтобы это происходило из самого скрипта ant.

Возможно ли это, и если да, то как это сделать?

Большое спасибо!

Ответы [ 3 ]

10 голосов
/ 28 сентября 2011

Это просто:

ant -logfile <logfile> <command>

И вы также можете сказать муравью заткнись:

ant -q <command>

Мне это хорошо работало.

8 голосов
/ 12 ноября 2009

Задача диктофон может выполнять то, что вы хотите:

<record name="log.txt" action="start"/>
...
<record name="log.txt" action="stop"/>

Кроме того, некоторые задачи (exec, java и т. Д.) Предлагают эту функцию сами (обычно с помощью аргументов output и error)

6 голосов
/ 12 ноября 2009

Попробуйте это:

<java classname="some.package.Class"
    fork="yes"
    output="stdouterr.txt">
    ...
</java>

stdouterr.txt будет содержать как stdout, так и stderr

<java classname="some.package.Class"
    fork="yes"
    output="stdout.txt"
    error="stderr.txt">
    ...
</java>

stdout.txt и stderr.txt будут содержать stdout и stderr соответственно

Исходя из моего опыта, задача записи имеет тенденцию к сбою при запуске ant-сценария на круиз-контроле из-за прав доступа к файлу (если кто-то может сказать мне, как это исправить, я буду счастливым человеком).

НТН

...