Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Winston登录Node.js中的单独线程_Javascript_Node.js_Multithreading_Logging_Winston - Fatal编程技术网

Javascript 使用Winston登录Node.js中的单独线程

Javascript 使用Winston登录Node.js中的单独线程,javascript,node.js,multithreading,logging,winston,Javascript,Node.js,Multithreading,Logging,Winston,是否可以使用Winston开箱即用的方式将日志委托给NodeJ中的独立线程 我想尽量减少阻塞操作和其他对性能的影响 我考虑将日志记录转移到单独的线程 const winston=require('winston'); const{Worker,isMainThread,workerData}=require('Worker_threads'); 类MyLogger { 信息(信息){ if(isMainThread){ this.thread=新工作线程(\u文件名) }否则{ this.ge

是否可以使用Winston开箱即用的方式将日志委托给NodeJ中的独立线程

我想尽量减少阻塞操作和其他对性能的影响

我考虑将日志记录转移到单独的线程


const winston=require('winston');
const{Worker,isMainThread,workerData}=require('Worker_threads');
类MyLogger
{
信息(信息){
if(isMainThread){
this.thread=新工作线程(\u文件名)
}否则{
this.getLoggerInstance().info(消息);
}
}
getLoggerInstance(){
如果(!this.logger){
this.logger=winston.createLogger({
级别:“信息”,
格式:winston.format.json(),
defaultMeta:{service:'user service'},
运输:[
新的winston.transports.File({filename:'error.log',level:'error'}),
新的winston.transports.File({filename:'combined.log'})
]
});
}
返回此.logger;
}
}
//用法
const myLogger=新myLogger();
myLogger.info(“我想记录的东西”);
有人也这么做吗

你知道有什么限制吗

这对性能有帮助吗