Может кто-нибудь помочь мне понять, куда идут журналы stdout
Обычно stdout
просто попадает в буфер вашей оболочки, который обычно не буферизуется/не записывается ни в один файл. Я говорю обычно, потому что уверен, что существуют специальные системы и дистрибутивы Linux, которые могут работать по-другому. В остальном я предполагаю, что вы используете «общий дистрибутив Linux для настольных компьютеров или серверов».
Однако вы можете перенаправить stdout
в файл.
Я предполагаю, что вы запускаете свое приложение примерно так:
java -jar myapp.jar
Ваше приложение выводит на stdout
, что позволяет вам видеть вывод в терминале.
В Linux (я бы сказал, в большинстве систем Unix) вы можете просто перенаправить stdout
(и, возможно, stderr
) в такой файл:
java -jar myapp.jar > output.txt
Затем в вашей системе должен быть создан файл с именем output.txt
. Если вам все еще нужна «обратная связь с пользователем в реальном времени», вы можете просто сделать что-то вроде
tail -f output.txt
для непрерывной печати содержимого от output.txt
до stdout
.
сколько памяти ему отведено.
Ваш файл output.txt
будет расти до тех пор, пока не закончится место на диске. Вы можете использовать систему ротации журналов рассылки, чтобы ограничить размер файла. FreeBSD использует newlogsys(8). Я уверен, что выбранный вами дистрибутив Linux поставляется с аналогичной системой.
person
Joel Bodenmann
schedule
15.11.2019