-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlogger.js
37 lines (32 loc) · 859 Bytes
/
logger.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
const pino = require("pino");
const pino_http = require("pino-http");
const process = require("process");
const logger = pino({ level: "debug" });
const loggerWarn = pino({ level: "warn" });
const loggerHttp = pino_http({
logger: loggerWarn,
customLogLevel: (res, err) => {
if (res.statusCode >= 500 || err) {
return "warn";
}
// no logea otras cosas porque el logger es loggerWarn
return "info";
},
});
// Loggear errores fatales en el proceso node
process.on(
"uncaughtException",
pino.final(logger, (err, finalLogger) => {
finalLogger.error(err, "uncaughtException");
process.exit(1);
})
);
process.on(
"unhandledRejection",
pino.final(logger, (err, finalLogger) => {
finalLogger.error(err, "unhandledRejection");
process.exit(1);
})
);
exports.logger = logger;
exports.loggerHttp = loggerHttp;