Я установил навсегда и использую его, нахожу это довольно забавным.
Но я понял, что журналы помещены в другое место. Есть ли советы?
Я установил навсегда и использую его, нахожу это довольно забавным.
Но я понял, что журналы помещены в другое место. Есть ли советы?
Forever принимает параметры командной строки для вывода:
-l LOGFILE Logs the forever output to LOGFILE
-o OUTFILE Logs stdout from child script to OUTFILE
-e ERRFILE Logs stderr from child script to ERRFILE
Например:
forever start -o out.log -e err.log my-script.js
Смотрите здесь для получения дополнительной информации
Forever по умолчанию помещает журналы в произвольный файл в папку ~/.forever/
.
Вы должны запустить forever list
, чтобы просмотреть запущенные процессы и их соответствующий файл журнала.
Пример вывода
>>> forever list
info: Forever processes running
data: uid command script forever pid logfile uptime
data: [0] 6n71 /usr/bin/node app.js 2233 2239 /home/vagrant/.forever/6n71.log 0:0:0:1.590
Однако, вероятно, лучше всего указать с помощью -l
, как указано bryanmac.
если вы запустите команду "вечные журналы", вы можете увидеть, где находятся файлы журналов.
Источник: https://github.com/foreverjs/forever
попробуйте выполнить команду
> forever logs
или
> sudo forever logs
вы получите местоположение файла журнала
Это сработало для меня:
forever -a -o out.log -e err.log app.js
Нужно делать нормальное
forever start script.js
для запуска, а также для проверки журналов консоли/ошибок
forever logs
это будет печатать список всех журналов, хранящихся навсегда
а затем вы можете использовать tail -f /path/to/logs/file.log
, и это будет печатать живые журналы в вашем окне. нажмите ctrl + z, чтобы остановить печать журналов.
Справка - ваш лучший спаситель, есть действие журналов, которое вы можете вызвать для проверки журналов для всех запущенных процессов.
forever --help
Показывает команды
logs Lists log files for all forever processes
logs <script|index> Tails the logs for <script|index>
Пример вывода указанной команды для трех запущенных процессов. console.log выводятся в этих журналах.
info: Logs for running Forever processes
data: script logfile
data: [0] server.js /root/.forever/79ao.log
data: [1] server.js /root/.forever/ZcOk.log
data: [2] server.js /root/.forever/L30K.log
Вам нужно добавить спецификаторы назначения журнала до запуска имени файла. Так
forever -e/path/error.txt -o/path/output.txt start index.js
Основано на ответе bryanmac. Я просто сохраняю все журналы в один файл и затем читаю его хвостом. Простой, но эффективный способ сделать это.
forever -o common.log -e common.log index.js && tail -f common.log
По умолчанию навсегда помещает все необходимые файлы в /$HOME/.forever. Если вы хотите изменить это местоположение, просто установите переменную среды FOREVER_ROOT, когда вы работаете вечно:
FOREVER_ROOT=/etc/forever forever start index.js
Это старый вопрос, но я столкнулся с теми же проблемами. Если вы хотите посмотреть вживую, вы можете запустить
forever logs
Здесь будет показан путь к файлу журналов, а также номер сценария. Затем вы можете использовать
forever logs 0 -f
0 следует заменить номером скрипта, для которого вы хотите увидеть вывод.