UNPKG

@mark01/express-utils

Version:

npm package that contains utilities for express.js

42 lines (41 loc) 1.33 kB
import expressWinston from 'express-winston'; import path from 'path'; import { fileURLToPath } from 'url'; import winston from 'winston'; import getDeviceID from '../util/get-device-id'; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); const options = (filename) => ({ transports: [ new winston.transports.File({ filename: path.join(__dirname, '..', '..', '..', 'logs', filename), }), ], format: winston.format.combine(winston.format.timestamp(), winston.format.json()), meta: true, dynamicMeta: (req) => ({ deviceInfo: getDeviceID(req) }), msg: 'HTTP {{req.method}} {{req.url}}', expressFormat: false, colorize: false, headerBlacklist: ['authorization', 'cookie'], ignoredRoutes: ['/api/v1/auth/status', '/api/v1/attendances/status'], requestWhitelist: [ 'url', 'headers', 'method', 'httpVersion', 'originalUrl', 'query', 'body', ], bodyBlacklist: [ 'password', 'currentPassword', 'newPassword', 'confirmPassword', ], }); const successLogger = expressWinston.logger(options('traffic.log')); export { successLogger }; const errorLogger = expressWinston.errorLogger(options('errors.log')); export { errorLogger };