Вопрос по jquery, javascript, node.js – Использование навсегда в nodejs для вывода console.logs на экран

16

Я только что обнаружил, что мое приложение nodejs продолжает падать, поэтому я использовалforever app.js запустить мое приложение и автоматически перезапустить его в случае сбоя.

Problem: Теперь мое приложение выводит много полезной информации, поскольку оно запускается черезconsole.log а такжеutil.log, Я использовалscreen чтобы запустить приложение узла, но теперь, когда я использую навсегда для запуска приложения nodejs, я больше не вижу все выходные данные.

Есть ли способ увидеть все выходные данные из приложения nodejs в режиме реального времени?

Просто откройте файл журнала в хвосте, но если вам нужно просмотреть вывод в реальном времени, он предлагает вам не использовать вечно (то есть вы отлаживаете). jli
i выводит некоторую информацию, чтобы я мог отслеживать количество заданий, количество подключенных клиентов в любое время, что очень полезно для мониторинга нагрузки и определения, следует ли мне добавить больше клиентов или произошел сбой половины пула клиентов. Я полагаю, что для того, что я хочу сделать, у меня должен быть «главный клиент», который подключается к этому серверу nodejs для получения отладочной информации? Или есть другой метод Nyxynyx
И я работаю вечно, пока я в разработке, чтобы я мог научиться использовать его и обнаруживать любые подводные камни, с которыми я столкнусь, когда выйду в эфир. Я не вижу причин, почему «вечно» использовать вечно в dev. AJB

Ваш Ответ

4   ответа
24

используя эту команду оболочки.

 tail -f /path/to/logfile

Не уверен, что это то, что тебе нужно.

Есть ли другой способ направить вывод console.log на экран? Я использую облако IBM Bluemix, где я не могу ssh на сервер и вижу хвост. Но я вижу «console.log», если они могут отображаться на экран skjindal93
-f flag сделает то, что мне нужно. Благодарность Nyxynyx
Похоже, это может быть то, что мне нужно, мне нужно вернуться в свою систему, чтобы попробоватьtail. Из быстрого поиска в Google tail показывает только последние X строк в файле, но обновляется ли он в реальном времени? Nyxynyx
@ skjindal93 интересно то же самое, но так как никто не отвечает, я думаю, нет. Denny
Не читал справочную страницу. Hello71
25

Прямо с навсегда командой:

forever logs app.js -f

Он показывает в реальном времени вывод вашего приложения и журналы навсегда (показывает обнаруженные изменения и перезапускает сообщения).

Это работает, просто запустите ваш процесс: навсегда запустите app.js, а затем навсегда запишете app.js -f JLavoie
3

Самый простой путь - это

Бег

forever logs // will give you list of log files
forever logs 0 -f // then just provide the index of log
3

Если ты передашь--help флаг навсегда, вы увидите этот пример:

forever -o out.log -e err.log my-script.js

-o а также-e определить файлы журнала stdout и stderr.

-o  OUTFILE      Logs stdout from child script to OUTFILE
-e  ERRFILE      Logs stderr from child script to ERRFILE

Forever кажется немного излишним для развития. ДайтеРуководител выстрел и посмотрим, понравится ли тебе больше:

npm install -g supervisor
supervisor app.js

Похожие вопросы