отправкой логов в logstash через pino-socket. Вот моя конфигурация:
```LoggerModule.forRootAsync({
imports: [AppConfigModule],
inject: [AppConfigService],
useFactory: async (config: AppConfigService) => {
return {
pinoHttp: {
base: undefined,
autoLogging: false,
genReqId: () => uuidv4(),
messageKey: 'message',
formatters: {
level: (label: string) => ({ level: label.toUpperCase() })
},
customProps: (req: IncomingMessage) => {
return {
request_uuid: req.id,
request_method: req.method,
request_uri: req.url,
server_region: config.serverRegion
};
},
serializers: {
req: () => undefined,
res: () => undefined,
err: (error) => error.stack
},
transport: config.isLocalhost
? {
target: 'pino-pretty'
}
: {
target: 'pino-socket',
options: {
address: config.logstashHost,
port: config.logstashPort,
mode: 'tcp',
reconnect: true,
recovery: true
}
}
},
renameContext: 'logger_name'
};
}
}),
```
Есть кто использовал pino-socket? Не могу понять как применить
transport.on('socketError', (err) => {
transport.emit('error', err)
})
Благодарю за любой отзыв или совет по pino и pino-socket 🙏
А почему логи просто в stdout не писать бы?
так тоже можно было бы, но так исторически сложилось)) агент как бы logstash
Logstash так умеет, на сколько я знаю
Обсуждают сегодня