40 lines
780 B
JavaScript
40 lines
780 B
JavaScript
const pino = require('pino');
|
|
const fs = require('fs');
|
|
const path = require('path');
|
|
|
|
const isDev = process.env.NODE_ENV !== 'production';
|
|
|
|
const logDir = path.join(__dirname, '../..', 'logs');
|
|
if (!fs.existsSync(logDir)) {
|
|
fs.mkdirSync(logDir);
|
|
}
|
|
|
|
const requestLoggerStream = pino.destination({
|
|
dest: path.join(logDir, 'requests.log'),
|
|
sync: false,
|
|
});
|
|
|
|
const logger = pino({
|
|
transport: isDev
|
|
? {
|
|
target: 'pino-pretty',
|
|
options: {
|
|
colorize: true,
|
|
translateTime: 'SYS:standard',
|
|
ignore: 'pid,hostname',
|
|
},
|
|
}
|
|
: undefined,
|
|
level: isDev ? 'debug' : 'info',
|
|
});
|
|
|
|
const requestLogger = pino(
|
|
{
|
|
level: 'info',
|
|
base: null,
|
|
},
|
|
requestLoggerStream
|
|
);
|
|
|
|
module.exports = { logger, requestLogger };
|