Недавно мы изменили наш код регистрации в файле node.js / Express.js для асинхронной записи в консоль.Однако это связано с тем, что если после инициализации асинхронного кода (и при запуске он выдаст сообщение журнала) синхронный код, запускаемый после этого инициирования, приводит к сбою сервера, то журналы никогда не записываются.
Существует ли установленный шаблон или наилучшая практика для обработки этого, чтобы дисковый ввод-вывод не был блокировщиком для ведения журнала, а в случае необработанного исключения (например, исключения, возникающего в нашем обработчике исключений последнего шанса в Express).js), журналы все равно будут записываться на диск / консоль?
Я думал о запуске отдельного процесса регистрации и межпроцессного взаимодействия, но это кажется чертовски тяжелым, чтобы избежать небольшого количества операций ввода-вывода.О.И я не думаю, что отдельный поток будет работать - не будет ли необработанное исключение node.js, которое отключает сервер, также уничтожить все потоки, запущенные / принадлежащие процессу?(Я не эксперт в этой области.)
Или лучше просто синхронно записать на консоль в нашем логгере и тем самым предотвратить эту ситуацию в первую очередь?