首页 > 解决方案 > 如何使用 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}

标签: node.jsloggingaws-lambdaserverless-framework

解决方案


根据 pino 文档,看起来Pino Pretty是要走的路。

https://getpino.io/#/docs/pretty


推荐阅读