log4js-node在记录时屏蔽敏感详细信息

时间:2016-10-05 09:58:30

标签: node.js logging log4js-node

任何人都可以帮助在节点中使用log4js屏蔽敏感字段吗?在winston logger中找到了类似的过滤器,但是如果log4js中有类似的东西,那将会有所帮助。

1 个答案:

答案 0 :(得分:1)

我找到了一些解决方法。

例如,如果您想要登录模式:“%r%p%c%m%n”其中 %r - 时间,%p - 日志级别,%c - 日志类别,%m - 日志数据,%n - 换行符。

如果你想掩盖%m中的一些敏感数据,你可以这样做:

为你的appender添加布局:

    layout: {
         type    : "pattern",
         pattern : "%r %p %c {%x{body}}%n",
         tokens: {
             body : function() {
                 var msg = arguments[0].data[0];
                 return maskSensitiveData(msg);
             }
         }
     }

然后实现函数

var maskSensitiveData = function(msg) {
    ...
}