相关疑难解决方法(0)

在几个模块中使用winston

我有几个模块 - 比如说server.js,module1.js,...,moduleN.js.

我想在server.js中定义日志文件:

winston.add(winston.transports.File, { filename: 'mylogfile.log' });
Run Code Online (Sandbox Code Playgroud)

然后在我的所有模块中使用它.

最好的方法是什么?我可以exports.winston=winston;在每个模块中然后在server.js中设置它,但有没有更好的解决方案?

先感谢您!

node.js winston

60
推荐指数
6
解决办法
3万
查看次数

让用户将记录器注入nodejs模块的最佳实践

我为nodejs编写了这个模块,可用于从任何地方通过sockjs向客户端分发事件.

现在我想包括一些可配置的日志记录机制.

目前,我正在添加winston作为依赖项,要求它作为每个类中的记录器并使用logger.error,logger.warn,...

#logger.js
var logger = require('winston');
module.exports=logger;
Run Code Online (Sandbox Code Playgroud)

#myClass
var logger = require("./logger");
logger.error("Something went wrong")
Run Code Online (Sandbox Code Playgroud)

现在,如何让记录器可以被自定义记录器替换,或者让用户从OUTSIDE my module配置日志级别?

他们当然不必触摸模块代码来更改记录器,但能够使用loglevel创建记录器,我的模块应该使用它(如果可用).

有关如何做到这一点的任何推荐?

或者是对"winston"的硬依赖,并且可以通过npm-config配置日志级别吗?

logging dependency-injection node.js winston

6
推荐指数
1
解决办法
3444
查看次数

标签 统计

node.js ×2

winston ×2

dependency-injection ×1

logging ×1