我想知道node.js (或express框架)是否有像grails那样的内置访问日志记录吗?
我有运行在tomcat上的grails应用程序,它自动生成/apache-tomcat-7.0.42/logs/localhost_access_log.2013.10.30.txt
文件,其中是关于请求响应的日志,如下所示:
[30/Oct/2013:00:00:01 +0000] [my-ip-address] [http-bio-8080-exec-18] "GET /my-service/check HTTP/1.0" [200] [took: 1 milis]
这个日志是由系统自动编写的,我不需要担心这个。
那么node.js呢?
谢谢你的帮助!
伊万
发布于 2013-10-30 11:49:31
编辑作为表示4.0.0
,这个解决方案显然已经不够了。请查看whirlwin的答案,以获得更新的解决方案。
您可以使用app.use(express.logger());
发布于 2014-04-17 21:25:45
在较新版本的Express (编写本报告时为4.0.0)中,记录器不再是Express的一部分,因此必须手动将其作为依赖项来包含。它现在叫做摩根。
因此,在package.json
中,添加morgan作为依赖项:
"dependencies": {
...
"morgan": "*"
...
}
在您的Express配置中,添加:
app.use(require('morgan')('dev'));
现在,日志记录应该或多或少地像以前一样工作。:-)
发布于 2014-08-16 23:09:57
到目前为止,大多数中间件(如记录器)不再与express捆绑,必须单独安装。
简单回答:首先,安装morgan
npm install morgan
然后将其用于日志记录:
app = express();
var morgan = require('morgan')
...
app.use(morgan('combined'))
文档是这里。
https://stackoverflow.com/questions/19681226
复制相似问题