Skip to content
Discussion options

You must be logged in to vote

1) Транспортные эмиторы сообщают об ивентах логгеру. Логгер точно также должен уведомлять внешнюю среду о своих событиях. Например, если один из транспортов умер - логгер сначала его перезапустит, а в случае неудачи отправит событие во внешнюю среду и закроется. Если этого не делать, внешняя среда никак не узнает о состоянии логгера. Вторым решением может быть передача хуков onError, onOpen и тд, как в логгер, так и из API трансорта.

let logger = new Logger(opts);
let fatalCounter = 0;

logger.on('died-transport', async (transports) => {
   fatalCounter++;
   if(!('fs' in transports) || fatalCounter > 0) return;
   logger.close();
   logger = new Logger(opts);
});

logger.on('fatal', () => {

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by Expertrix
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
help wanted Extra attention is needed question Further information is requested
2 participants