UNPKG

autolog4j

Version:

> use

79 lines (69 loc) 2.53 kB
'use strict'; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var log4js = require('log4js'); var fs = require('fs'); var levels = { trace: log4js.levels.TRACE, debug: log4js.levels.DEBUG, info: log4js.levels.INFO, warn: log4js.levels.WARN, error: log4js.levels.ERROR, fatal: log4js.levels.FATAL }; var configureLog4js = { appenders: { ruleFile: { type: 'dateFile', filename: 'logs/', pattern: 'yyyy-MM-dd.log', alwaysIncludePattern: true } }, categories: { default: { appenders: ['ruleFile'], level: 'all' } }, replaceConsole: true, pm2: true, pm2InstanceVar: 'INSTANCE_ID' }; var Logger = function () { function Logger(app) { _classCallCheck(this, Logger); this.app = app; this.configure = app.get('log4js') || configureLog4js; this._init(); } _createClass(Logger, [{ key: 'judgePath', value: function judgePath(pathStr) { if (!fs.existsSync(pathStr)) fs.mkdirSync(pathStr); } }, { key: '_init', value: function _init() { log4js.configure(this.configure); } }, { key: 'logger', value: function logger(name) { return log4js.getLogger(name); } }, { key: 'use', value: function use(level) { this.app.use(log4js.connectLogger(log4js.getLogger('logInfo', { level: levels[level] || levels.info, format: function format(req, res, fmt) { return fmt(':date :remote-addr :method :url :status') + ' ' + res.responseTime + 'ms'; } }))); } }]); return Logger; }(); module.exports = function (app) { return new Logger(app); };