У меня есть сервер nodejs, который проверяет данные с использованием setInterval
функции каждые x секунд. Этот бит приложения выглядит следующим образом:foreverjs не записывает console.log дочернего процесса в файлы журнала
startPolling() {
debug('Snmp poller started');
timers.setInterval(
this.poll(),
config.get('Snmp.interval')
);
}
poll() {
return() => {
if (dbConnection.get()) {
debug('Polling data');
this.fetchSiteNodes(this.site);
}
};
}
Далее в моем pacakge.json
файл я бегу сервер с этой длительной командой:
NODE_PATH = $ NODE_PATH: ./ NODE_ENV = развитие навсегда -p журналы -a -l forever.log -o журналы/output.log -e журналы/error.log -d начать ./bin/www
я сломаю его здесь:
- -p журналы - путь к каталогу
logs
, где я хочу все журналы сидеть - -a - добавить журналы в конце
forever.log
файла - -l forever.log - имя файла журнала напишите в
- -o logs/output.log - имя файла, в котором идет stdout (если я не ошибаюсь?)
- -e logs/error.log - имя файла, в котором все ошибки от ребенка процесс идет
- -d - режим отладки? (Более подробные отладки?)
- старта - начиная навсегда
Теперь из фрагмента кода выше и навсегда команда я бы ожидать, что файл logs/output.log
будет содержать все console.logs(...)
выходов из сценария, так что бы содержит что-то например:
Snmp poller started
polling data +10
// after 10 secons
polling data +10
К сожалению, это не то, что происходит, в основном все файлы журнала остаются пустыми.
Как создать дочерний процесс напишите console.logs
в файл output.log
навсегда?
Спасибо!