问题
Winston提供winston.loggers.get("logger name")
以获取记录器。如何使用winston.createLogger(options)
创建记录器(它没有名称)
为什么我要问
我使用winston.createLogger(options)
在文件中创建了一个记录器,然后使用module.exports
导出创建的记录器。
我希望在整个应用程序中使用此记录器,但每次require("")
时,都会调用createLogger(options)
,因此每次都会创建一个新的记录器。
代码示例
const winston = require('winston');
// this logger does not have a name!
// Thus, how do I get it.
const logger = winston.createLogger({});
module.exports = logger;
答案 0 :(得分:2)
后人的正式答案:
单个node.js进程中的多个require()调用不会创建模块的新实例。第一个将,然后后续调用将返回对第一个的引用。这是设计,非常方便。
答案 1 :(得分:0)
对于那些仍然希望能够在使用<div id="abc">
<div id="123">
<p>Hello!</p>
</div>
<p>World</p>
</div>
<div id="def">
<p>Hello World</p>
</div>
创建时按名称获取winston记录器的人,我还没有找到答案。
但是,你可以这样做。
使用 var formElement = <HTMLFormElement>document.getElementById('123');
formElement.style.display='block';
创建记录器
使用 createLogger()
此外,Node JS winston.loggers.add(name, options)
缓存模块。世界卫生组织KNEW!
感谢您的帮助。