我们morgan用来记录我们的快速转型:
var morgan = require('morgan');
morgan('combined');
// a format string
morgan(':remote-addr :method :url :uuid');
// a custom function
morgan(function (req, res) {
return req.method + ' ' + req.url + ' ' + req.uuid;
})
Run Code Online (Sandbox Code Playgroud)
另外,我们使用winston它来记录我们的其他日志记录:
var winston = require('winston');
var logger = new (winston.Logger)({
transports: [
new (winston.transports.Console)({ level: 'info' }),
new (winston.transports.File)({ filename: '/var/log/log-file.log' })
]
});
Run Code Online (Sandbox Code Playgroud)
有没有办法将两个记录器组合在一起?现在的情况就是morgan在winston写入时写入我的标准输出/var/log/log-file.log.
我希望记录器文件将结合来自快速转换信息,以及我想要的其他信息(logger.info())..
Morgan 将请求直接输出到控制台。
如何将它们重定向到 npm debug以便它遵循与正在记录的其他内容相同的格式?
我的debug.js配置如下所示:
import debug from 'debug';
const LOG_PREFIX = 'api';
const info = debug(`${LOG_PREFIX}:info`);
const dev = debug(`${LOG_PREFIX}:dev`);
const error = debug(`${LOG_PREFIX}:error`);
export {
info,
dev,
error,
};
Run Code Online (Sandbox Code Playgroud)
我目前记录其他内容,例如:
import { info } from './debug';
info('App is up and running!');
Run Code Online (Sandbox Code Playgroud)
我目前的摩根电话是:
app.use(morgan('combined'));
Run Code Online (Sandbox Code Playgroud)