From 34234e19cc9bace360fa4b5e96a54764a30dbdf8 Mon Sep 17 00:00:00 2001 From: Bakhshi Moeez <107806938+BakhshiMoeez@users.noreply.github.com> Date: Sun, 16 Apr 2023 06:13:05 +0500 Subject: [PATCH] Update logger.js using async reading and writing to the file for better performance in init function. --- NodeSample/utils/logger.js | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/NodeSample/utils/logger.js b/NodeSample/utils/logger.js index f16fc63..9043775 100644 --- a/NodeSample/utils/logger.js +++ b/NodeSample/utils/logger.js @@ -7,23 +7,33 @@ * var log = logger("filePath"); * log.writeLog("err",logMessage); */ -var fs = require('fs'); -var buffersize = 30000; +const fs = require('fs'); +const buffersize = 30000; exports.init = function(logfile){ if(logfile){ - var buffer = new Buffer(buffersize); - var fd = fs.openSync(logfile,'a'); + const buffer = Buffer.alloc(buffersize); + let fd; + try { + fd = await fs.promises.open(logfile, 'a'); + } catch (err) { + throw err; + } } - function writeLog(type,logmsg){ - var log = {type:type,msg:logmsg,time:getTime()}; + async function writeLog(type,logmsg){ + const log = {type:type,msg:logmsg,time:getTime()}; console.log(formatLogMsg(log)); - fs.writeSync(fd,formatLogMsg(log),0,0,null); + try { + await fs.promises.write(fd, formatLogMsg(log), 0, 0); + } catch (err) { + throw err; + } } return { - log: function(type,logmsg){writeLog(type,logmsg)}, + log: async function(type,logmsg){await writeLog(type,logmsg)}, }; } + //格式化日志内容 function formatLogMsg(log){ return [log.time,log.type,log.msg] + "\n"; @@ -53,4 +63,4 @@ function allPrpos ( obj ) { } // 最后显示所有的属性 return props; -} \ No newline at end of file +}