gpt4 book ai didi

node.js - 如何使用 morgan 记录器?

转载 作者:IT老高 更新时间:2023-10-28 21:47:41 34 4
gpt4 key购买 nike

我无法使用 Morgan 登录。它不会将信息记录到控制台。文档没有说明如何使用它。

我想看看变量是什么。这是 expressjs 框架的 response.js 文件中的代码:

var logger = require("morgan");

res.render = function(view, options, fn){
options = options || {};
var self = this;
var req = this.req;
var app = req.app;

// support callback function as second arg
if ('function' == typeof options) {
fn = options, options = {};
}

// merge res.locals
options._locals = self.locals;

// default callback to respond
fn = fn || function(err, str){
if (err) return req.next(err);
self.send(str);
};

// Here I want to see what fn is
// But it doesn't show me anything in console
// How to use it?
logger(fn);

// render
app.render(view, options, fn);
};

如何使用 morgan ?

最佳答案

似乎你也和我一样对同样的事情感到困惑,这是我偶然发现这个问题的原因。我认为我们将日志记录与手动日志记录相关联,就像我们在 Java 中使用 log4j(如果你知道 java)所做的那样,我们在其中实例化一个 Logger 并说 log 'this'。

然后我挖掘了 morgan 代码,结果发现它不是那种类型的记录器,它是用于自动记录请求、响应和相关数据的。当作为中间件添加到 express/connect 应用程序时,默认情况下,它应该将语句记录到标准输出,显示以下详细信息:远程 ip、请求方法、http 版本、响应状态、用户代理等。它允许您使用 token 或修改日志通过定义 'dev' 甚至注销到输出流(如文件)来为它们添加颜色。

出于我们认为可以使用它的目的,在这种情况下,我们仍然必须使用:

console.log(..);

或者,如果您想让对象的输出更漂亮:

var util = require("util");
console.log(util.inspect(..));

关于node.js - 如何使用 morgan 记录器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23494956/

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