Как перенаправить stdout stderr в скрипт ant?

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

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

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

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


person bguiz    schedule 12.11.2009    source источник


Ответы (3)


Задача recorder может делать то, что вы хотите:

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

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

person ChssPly76    schedule 12.11.2009

Это просто:

ant -logfile <logfile> <command>

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

ant -q <command>

Это сработало хорошо для меня.

person Felipe    schedule 28.09.2011
comment
Это будет работать в командной строке, я искал решение, которое будет работать в сценарии ant. Спасибо за ответ в любом случае! - person bguiz; 30.09.2011

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

<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 запускается на круиз-контроле из-за прав доступа к файлам (если кто-то может сказать мне, как это исправить, я буду счастлив).

ХТН

person bojangle    schedule 12.11.2009
comment
Вам просто нужно убедиться, что пользователь CC работает с правами на запись в файл - это наверняка работает. Преимущество записи заключается в том, что она будет фиксировать выходные данные любой задачи, а не только тех, которые поддерживают ее внутренне. - person ChssPly76; 12.11.2009