@graphql-guru/express-server
Version:
Guru GraphQL Express server built on top of Apollo server
66 lines (47 loc) • 1.59 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = logger;
var _morgan = require('morgan');
var _morgan2 = _interopRequireDefault(_morgan);
var _fs = require('fs');
var _fs2 = _interopRequireDefault(_fs);
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
var _winston = require('winston');
var _winston2 = _interopRequireDefault(_winston);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/*
* Application logger
*/
var dest = process.cwd() + '/logs';
function logger(app) {
var ACCESS_LOG = dest + '/access.log';
var ERROR_LOG = dest + '/error.log';
// create a write stream (in append mode)
var accessLogStream = _fs2.default.createWriteStream(ACCESS_LOG, { flags: 'a' });
// setup the logger
app.use((0, _morgan2.default)('combined', { stream: accessLogStream }));
if (app.get('env') === 'development') {
app.use((0, _morgan2.default)('dev'));
}
// Error logger
var tsFormat = function tsFormat() {
return new Date();
};
var logger = new _winston2.default.Logger({
transports: [new _winston2.default.transports.Console({
timestamp: tsFormat,
colorize: true
}), new _winston2.default.transports.File({
filename: _path2.default.join(__dirname, ERROR_LOG),
timestamp: tsFormat
})]
});
app.locals.logger = function (log, level) {
// const logLevel = level || env === 'production' ? 'info' : 'verbose';
logger.log('info', log);
};
};
//# sourceMappingURL=logger-middleware.js.map