我目前使用winston执行日志记录,并编写了一种通用方法以使其在整个项目中使用。问题是,许多记录语句都像logger.info("here is the data" , data)
使用逗号作为连接器,我无法在控制台中记录数据。数据也可以是包含逗号的内容,因此我将无法仅使用'+'替换','。
我的想法是正则表达式可以是这样,如果文本以'或'开头,并且其下一个字符为',则在引号末尾用'+'代替
不确定是否正确,但仍然请提供建议。
答案 0 :(得分:0)
也许您可以用类似的东西对猴子进行修补
logger.info = ((infoFunc) => {
// create the patched info that concatenates all arguments
// before calling the original logger.info
let patch = () => {
// put any logic here that you need to achieve the desired result.
var message = args.join('');
infoFunc(message);
};
return patch;
})(logger.info);
未经测试
只需确保在设置记录器后立即运行。
这将是使程序正常运行的快速解决方案,但我不建议将其保留在您的代码中,并且在清理完所有对logger.info
的调用后,应将其删除。