【发布时间】:2016-10-14 21:58:36
【问题描述】:
我使用Bunyan,然后我尝试Winston,得到的结果与它说的一样
EMFILE:打开的文件太多,打开
这样我就明白我做错了什么。我尝试测试的是
var winston = require('winston');
setInterval(function(){
var logger1 = new (winston.Logger)({
level: 'info',
transports: [
new (winston.transports.Console)({ level: 'error' }),
new (winston.transports.File)({ filename: './logs/1.log', level: 'error' })
]
});
var logger2 = new (winston.Logger)({
level: 'info',
transports: [
new (winston.transports.Console)({ level: 'error' }),
new (winston.transports.File)({ filename: './logs/2.log', level: 'error' })
]
});
logger1.error('Hello logs1');
logger2.error('Hello logs2');
}, 50);
注意:这只是一个测试。我将记录器的创建放在 setInterval 中进行测试。如何让它发挥作用?
我想要的是
Create logger1
Dispose logger1
Create logger2
Dispose logger2
Create logger1
Dispose logger1
Create logger1
Dispose logger1
...
我现在的想法
Create logger1
Create logger2
Create logger1
Create logger2
Create logger1
Create logger2
...
【问题讨论】:
-
一个记录器通常在应用程序的生命周期内只创建一次。您要解决什么实际问题? JS 没有析构函数,所以没有 "Dispose" 触发器。