gpt4 book ai didi

javascript - Morgan 日志记录在 Keystone 应用程序中不起作用

转载 作者:搜寻专家 更新时间:2023-11-01 00:42:22 26 4
gpt4 key购买 nike

我正在运行一个基于 keystone.js express 的应用程序。我正在尝试集成 Morgan 日志记录,但当任何 HTTP 请求到达该站点时它都不起作用。我只是在控制台中看到正常输出。我可能做错了什么?

这是我的routes/index.js 文件

var keystone = require('keystone'),
middleware = require('./middleware'),
importRoutes = keystone.importer(__dirname);

var morgan = require('morgan');


// Common Middleware
keystone.pre('routes', middleware.initLocals);
keystone.pre('render', middleware.flashMessages);

// Import Route Controllers
var routes = {
views: importRoutes('./views')
};

// Setup Route Bindings
exports = module.exports = function(app) {

//Logging
app.use(morgan('combined'));

// Views
app.get('/',middleware.ensureLatestBrowser, routes.views.index);
app.get('/blog/:category?',middleware.ensureLatestBrowser, routes.views.blog);
app.get('/blog/post/:post',middleware.ensureLatestBrowser, routes.views.post);
app.all('/contact', middleware.ensureLatestBrowser,routes.views.contact);
app.all('/software',middleware.ensureLatestBrowser, routes.views.software);


};

最佳答案

这是因为 Keystone 已经加载了一个 morgan 的实例(它在您之前加载)。 Keystone 使用的默认格式是 :method :url :status :response-time ms

Keystone 允许您使用 logger 选项自定义格式。

keystone.init({
...
'logger': 'combined'
...
});

上面的例子将 morgan 的输出格式设置为 combined


编辑

从 Keystone 0.3.x 开始,当 Keystone 迁移到 Express 4.xmorgan 作为 Express 记录器时,以上内容是正确的。 0.3.x 之前的 Keystone 版本使用带有 express.logger 的 Express 3.x

关于javascript - Morgan 日志记录在 Keystone 应用程序中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30200566/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com