css - ExpressJS morgan 只记录路由请求

标签 css node.js express

我正在使用 NodeJS 网络框架 Expressjs 和一个中间件将请求记录到一个文件 (morgan)。

我的 session :

// create a write stream (in append mode)
var accessLogStream = fs.createWriteStream(__dirname + '/logs/access.log', {flags: 'a'})

// setup the logger
app.use(logger('short', {stream: accessLogStream}))

我的日志看起来像:

192.168.1.3 - GET /signup HTTP/1.1 304 - - 19.194 ms 
192.168.1.3 - GET /assets/css/admin/module.admin.stylesheet-complete.sidebar_type.collapse.no_min2.css HTTP/1.1 304 - - 15.500 ms 
192.168.1.3 - GET /assets/components/library/jquery/jquery.min.js?v=v1.0.3-rc2&amb;sv=v0.0.1.1 HTTP/1.1 304 - - 14.244 ms 

有什么方法可以只记录路由请求吗?例如,如果用户输入/signup/:

192.168.1.3 - GET /signup HTTP/1.1 304 - - 19.194 ms

而不是路线所需的 Assets 。

提前致谢。

最佳答案

我遇到了同样的问题,我找到了简单的解决方案,也许它会对某人有所帮助。如果你使用 express.static 你可以将这个调用移到 morgan 调用之上, 例如:

app.use(express.static(__dirname + '/public'));
...
app.use(logger('short'));

不会记录静态 Assets 。注意:您的 Assets 文件必须存在,否则它们仍将被记录(在 express 4.12 中测试)。

关于css - ExpressJS morgan 只记录路由请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26943213/

相关文章:

node.js - 使用带有 Sequelize.js 的 Node 将值附加到 where 条件

html - Chrome 在悬停元素上闪烁空白

html - Internet Explorer 9 和 10 的 CSS 问题

javascript - 如何直接将文件写入 Google Cloud Storage 而无需将其保存在我的应用程序中?

javascript - Node.js+Handlebars+Express如何引用handlebars模板?

node.js - NodeJs 和 ExpressJs 无法分离错误和响应处理中使用的公共(public)代码

javascript - Colorbox的tabindex =“-1”属性可防止在表单字段上进行焦点和键入

html - 全高响应 div 被 h3 阻挡

node.js - 如何在 Heroku 上使用 Node.js 通信 Web 和 Worker dynos?

javascript - 使用快速 session 在 MEAN 应用程序中检查有效 session 的最佳方法是什么?