Де назавжди зберігається файл console.log?


105

Я встановив назавжди і використовую його, вважаючи це досить смішним.

Але я зрозумів, що колоди розміщені десь в іншому місці. Чи є поради?

Відповіді:


135

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

Дивіться тут для отримання додаткової інформації


7
який шлях за замовчуванням, якщо я не вказую жодних параметрів, а просто використовую як forever myapp? Дякую!
AGamePlayer

3
Я не бачу це документально підтвердженим - я думаю, що він змінився з часом. Я бачу старі журнали в папці ~ / .forever. Але я оновив зовсім недавно і, принаймні, на своєму mac, якщо не вказав ім'я файлу журналу, він пише console.log до терміналу.
bryanmac

1
-a також потрібен як варіант, якщо файли вже існують. назавжди -a -o out.log -e err.log my-script.js
swateek

2
Яка різниця між LOGFILE та OUTFILE? Мені здається, вони містять точно таку ж інформацію!
Домінік

3
@Dominic LOGFILE включає весь вихід, включаючи вихід із процесу вічно, OUTFILE включає лише stdout з вашого дочірнього сценарію.
Йосиф238

81

Назавжди, за замовчуванням, буде поміщено журнали у випадковий файл у ~/.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.


1
Це не завжди випадковий файл. Якщо ви вказали uid зі значком --uid під час запуску, він створить файл журналу, використовуючи вказаний uid.
ddelrio1986


12

спробуйте команду

> forever logs

або

> sudo forever logs

ви отримаєте розташування файлу журналу



5

Потрібно зробити звичайне forever start script.js для запуску, і для перевірки консолей / журналів помилок forever logs це буде друкувати список усіх журналів, які зберігаються назавжди, а потім ви можете використовувати, tail -f /path/to/logs/file.logі це надрукує живі журнали у ваше вікно. натисніть ctrl + z, щоб зупинити друк журналів.


3

Це старе запитання, але я зіткнувся з тими ж проблемами. Якщо ви хочете побачити вихідний результат, ви можете запустити

forever logs

Це покаже шлях файлу журналів, а також номер скрипту. Потім можна використовувати

forever logs 0 -f

0 слід замінити на номер сценарію, для якого ви хочете побачити вихід.


1

Допомога - ваш найкращий рятівник, є дія журналів, яку ви можете зателефонувати, щоб перевірити журнали на всі запущені процеси.

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

1

За замовчуванням назавжди розміщує всі потрібні йому файли в /$HOME/.forever. Якщо ви хочете змінити це місце, просто встановіть змінну середовища FOREVER_ROOT, коли ви працюєте назавжди:

FOREVER_ROOT=/etc/forever forever start index.js

0

Вам потрібно додати специфікатори пункту призначення перед запуском імені файлу. Так

навіки -e /path/error.txt -o /path/output.txt start index.js


0

Спираючись на відповідь bryanmac. Я просто зберігаю всі журнали в один файл, а потім читаю його хвостом. Простий, але ефективний спосіб зробити це.

forever -o common.log -e common.log index.js && tail -f common.log

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.