Добавление вывода командного файла в файл журнала - PullRequest
32 голосов
/ 16 декабря 2010

У меня есть пакетный файл, который вызывает программу Java.

Вывод перенаправляется в файл журнала в том же каталоге.Однако файл журнала заменяется каждый раз при запуске пакетного файла ...

Я хотел бы сохранить старые выходные данные в файле журнала и всегда добавлять новые выходные данные в файл журнала.

Ответы [ 3 ]

85 голосов
/ 16 декабря 2010

Вместо использования «>» для перенаправления следующим образом:

java Foo > log

используйте «>>» для добавления нормального вывода «stdout» в новый или существующий файл:

java Foo >> log

Однако, если вы также хотите перехватить ошибки «stderr» (например, почему Java-программа не может быть запущена), вам также следует использовать тег «2> & 1», который перенаправляет «stderr» («2») на«стандартный вывод» («1»).Например:

java Foo >> log 2>&1 
4 голосов
/ 20 октября 2012

Это не ответ на исходный вопрос: «Добавление вывода командного файла в файл журнала?»

Для справки, это ответ на ваш вопрос: «Какие строки я должен добавить в мой пакетный файл, чтобы он выполнялся через каждые 30 минут?»

(Но я бы воспользовался советом Джона Скита: «Вы, вероятно, не должны делать этого в своем пакетном файле - вместо этого используйте планировщик задач».)

Время ожидания:

Пример (1 секунда):

TIMEOUT /T 1000 /NOBREAK

Sleep:

Пример (1 секунда):

sleep -m 1000

Альтернативные методы:

Вот ответ на второй вопрос: «Наряду с меткой времени?»

Создание даты и времени в ваших пакетных файлах

* * Пример тысяча шестьдесят один:

echo *** Date: %DATE:/=-% and Time:%TIME::=-% *** >> output.log

0 голосов
/ 14 февраля 2013

Используйте log4j в вашей Java-программе. Затем вы можете выводить на несколько носителей, создавать скользящие журналы и т. Д. И включать временные метки, имена классов и номера строк.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...