node.js - 如何使用 Pino.js 渲染新行
问题描述
我有一个使用 aws 无服务器框架的节点应用程序。
由于某种原因,pino 没有渲染\n
字符。
我的日志最终看起来像(注意\n
代码块格式中的。):
{"level":50,"time":1552066634989,"msg":"Standard Error - Exception","pid":15143,"hostname":"some_host","type":"Error","stack":"TypeError: Cannot set property 'message' of undefined\n at Object.create (/some_path/node_modules/common-backend/lib/helpers/responses/error.js:63:25)\n at dbInstance.sequelize.transaction.then.catch (/some_path/src/handlers/drone/create.js:28:37)\n at tryCatcher (/some_path/node_modules/bluebird/js/release/util.js:16:23)\n at Promise._settlePromiseFromHandler (/some_path/node_modules/bluebird/js/release/promise.js:512:31)\n at Promise._settlePromise (/some_path/node_modules/bluebird/js/release/promise.js:569:18)\n at Promise._settlePromise0 (/some_path/node_modules/bluebird/js/release/promise.js:614:10)\n at Promise._settlePromises (/some_path/node_modules/bluebird/js/release/promise.js:690:18)\n at _drainQueueStep (/some_path/node_modules/bluebird/js/release/async.js:138:12)\n at _drainQueue (/some_path/node_modules/bluebird/js/release/async.js:131:9)\n at Async._drainQueues (/some_path/node_modules/bluebird/js/release/async.js:147:5)\n at Immediate.Async.drainQueues (/some_path/node_modules/bluebird/js/release/async.js:17:14)\n at runCallback (timers.js:672:20)\n at tryOnImmediate (timers.js:645:5)\n at processImmediate [as _immediateCallback] (timers.js:617:5)","v":1}
代替
{"level":50,"time":1552066634989,"msg":"Standard Error - Exception","pid":15143,"hostname":"some_host","type":"Error","stack":"TypeError: Cannot set property 'message' of undefined
at Object.create (/some_path/node_modules/common-backend/lib/helpers/responses/error.js:63:25)
at dbInstance.sequelize.transaction.then.catch (/some_path/src/handlers/drone/create.js:28:37)
at tryCatcher (/some_path/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler (/some_path/node_modules/bluebird/js/release/promise.js:512:31)
at Promise._settlePromise (/some_path/node_modules/bluebird/js/release/promise.js:569:18)
at Promise._settlePromise0 (/some_path/node_modules/bluebird/js/release/promise.js:614:10)
at Promise._settlePromises (/some_path/node_modules/bluebird/js/release/promise.js:690:18)
at _drainQueueStep (/some_path/node_modules/bluebird/js/release/async.js:138:12)
at _drainQueue (/some_path/node_modules/bluebird/js/release/async.js:131:9)
at Async._drainQueues (/some_path/node_modules/bluebird/js/release/async.js:147:5)
at Immediate.Async.drainQueues (/some_path/node_modules/bluebird/js/release/async.js:17:14)
at runCallback (timers.js:672:20)
at tryOnImmediate (timers.js:645:5)
at processImmediate [as _immediateCallback] (timers.js:617:5)","v":1}
解决方案
根据 pino 文档,看起来Pino Pretty是要走的路。
推荐阅读
- c# - 使用 CsvHelper 将 CSV 文件中的编号列映射到数组
- objective-c - 从非视图类获取presentViewController(Objective-C)
- wpf - 如何在 PowerShell 脚本中多次打开 WPF 窗口
- apache - Apache:虚拟主机内的别名目录不起作用
- rust - 两种解决方案,为什么其中一种不需要克隆特征
- sql - sql查询中的客户对账单历史报表
- mysql - 保存到 SQL 时禁用布尔转换
- java - 菜单不显示
- python - PyTorch 中加权随机采样器背后的直觉
- mongodb - 使用 docker-compose 部署带有证书 (https) 的 mongo-express