Измените место назначения журнала для node.js, запущенного на GCE - PullRequest
1 голос
/ 04 ноября 2019

Я использую rc.local для запуска сценария узла при запуске с:

node .> "/log_file_$(date +"%H:%M:%S_%m_%d_%Y").txt"

Он работает нормально - но теперь, когда размер журнала увеличивается, мне нужно создать новый журнал на серверекаждые 12/24 часа;без перезапуска сервера.

Есть ли какой-нибудь простой способ изменить назначение вывода приложения узла?

Я бы предпочел не использовать для этого какую-либо библиотеку, потому что мне нужно регистрировать все сообщения, включаяошибки, предупреждает, не только console.log.

Спасибо за вашу помощь.

1 Ответ

3 голосов
/ 04 ноября 2019

Есть несколько вариантов, я предложу два:

1. Stackdriver

Передайте свои журналы на Stackdriver , который является частью Google Cloud, и вообще не храните их на своем сервере. В своем приложении node.js вы можете настроить Winston и использовать транспорт Winston для Stackdriver . Затем вы можете анализировать и запрашивать их там, и вам не нужно беспокоиться о нехватке памяти.

2. logrotate

Если вы хотите разобраться с этим вручную, вы можете настроить logrotate . Это позволит сжать старые журналы, чтобы они занимали меньше места на диске. Это своего рода старый, «предоблачный» способ ведения дел.

...