const log4js = require('log4js'); const log_config = { "appenders": { "everything": { "type": "dateFile", "filename": "logs/app", "pattern": "yyyy-MM-dd.log", "alwaysIncludePattern": true } // "everything": { // "type": "multiFile", // "base": "logs/app.", // "property": "startTime", // // "extension": ".log", // "pattern": "yyyy-MM-dd.log", // // "pattern": "yyyy-MM-dd", // "alwaysIncludePattern": true, // "maxLogSize": 10485760, // "backups": 3, // "compress": true // } }, "categories": { "default": { "appenders": ["everything"], "level": "debug" } } }; log4js.configure(log_config); // log4js.configure({ // appenders: { cheese: { type: 'file', filename: 'cheese.log' } }, // categories: { default: { appenders: ['cheese'], level: 'error' } } // }); const logger = log4js.getLogger(); console.log = logger.info.bind(logger); console.error = logger.error.bind(logger); const log4 = async (ctx, next) => { try { await next(); } catch (err) { logger.error(err); ctx.status = err.status || 500; ctx.body = err.message; } } module.exports = log4;