Morgan 日志记录在 Keystone 应用程序中不起作用
Morgan logging not working in keystone app
我是 运行 一个 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 迁移到 Express 4.x
和 morgan
作为 Express 记录器时,上述内容在 Keystone 0.3.x
中是正确的。 0.3.x
之前的 Keystone 版本使用 Express 3.x
和 express.logger
.
我是 运行 一个 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 迁移到 Express 4.x
和 morgan
作为 Express 记录器时,上述内容在 Keystone 0.3.x
中是正确的。 0.3.x
之前的 Keystone 版本使用 Express 3.x
和 express.logger
.