如何使用Bunyan序列化器

时间:2018-08-14 15:19:03

标签: bunyan

我正在尝试使用自定义序列化程序,但它似乎对我不起作用,我的序列化程序从未调用过。我在做什么错了?

我创建这样的记录器:

const mask = token => {
  console.log({token})
  return typeof token === 'string' ? token.replace(/[^\.]+$/, 'REDACTED') : token
}
const log = context.log = createLogger({
  name: '_placeholder',
  level: process.env.LOG_LEVEL || 'info',
  serializers: {authorization: mask, bearer: mask, Authorization: mask}
})

然后我这样登录:

console.log({properties})
log[!status ? 'error' : status < 500 ? 'info' : 'warn']({error: merge({message, ...properties}, status && {status})})

输出通过管道传输到Bunyan:

{ properties:
   { reason: 'InvalidToken', authorization: 'Bearer foo.bar.baz' } }
[2018-08-14T14:37:11.775Z]  INFO: _placeholder/9920 on XXX: 
   error: {
     "message": "Invalid token",
     "reason": "InvalidToken",
     "authorization": "Bearer foo.bar.baz",
     "status": 401
   }

编辑:

我看到它仅适用于顶级属性;有没有一种方法可以实现我在这里要执行的操作-掩盖恰当命名的嵌套属性?

1 个答案:

答案 0 :(得分:0)

从技术上讲这行得通,但是考虑到性能受到影响,我不确定这是我想直播的东西

sudo chown www-data:www-data storage/oauth-*.key
php artisan passport:install
php artisan config:clear
php artisan key:generate
php artisan config:clear