在整个项目中用javascript加上逗号代替

时间:2018-08-17 07:58:56

标签: javascript node.js regex winston

我目前使用winston执行日志记录,并编写了一种通用方法以使其在整个项目中使用。问题是,许多记录语句都像logger.info("here is the data" , data)

使用逗号作为连接器,我无法在控制台中记录数据。数据也可以是包含逗号的内容,因此我将无法仅使用'+'替换','。

我的想法是正则表达式可以是这样,如果文本以'或'开头,并且其下一个字符为',则在引号末尾用'+'代替

不确定是否正确,但仍然请提供建议。

1 个答案:

答案 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的调用后,应将其删除。