node.js - 在 fastify pretty print 中没有定义 pretty
问题描述
我正在尝试使用prettyprint: true
这样的 fastify 记录器选项:
const build = require("./app");
const startServer = async () => {
try {
const app = await build({
logger: {
prettyPrint: true
},
});
const PORT = process.env.PORT;
await app.listen(PORT);
} catch (err) {
console.log(err);
process.exit(1);
}
};
startServer().catch();
pino-pretty
安装包
当我尝试运行服务器时出现此错误:
const formatted = pretty(typeof redact === 'function' ? redact(obj) : obj)
^
TypeError: pretty is not a function
检查这行代码(/node_modules/pino/lib/tools.js 282),pretty
类型是object
,但在代码中它被用作function
const formatted = pretty(typeof redact === 'function' ? redact(obj) : obj)
有任何想法吗?
解决方案
找到了解决方案
安装
pino
和pino-pretty
打包 (npm i pino pino-pretty
)pino
通过要求和添加pretty-print: true
选项来初始化记录器
const build = require("./app");
const startServer = async () => {
try {
const app = await build({
logger: require("pino")({ prettyPrint: true }), // here
});
await app.listen(app.config.PORT);
} catch (err) {
console.log(err);
process.exit(1);
}
};
startServer().catch();
推荐阅读
- java - 简单的 XML 注释问题
- java - 在 spring kafka consumer 1.2.x 中寻求方法行为
- javascript - 在同一个控制器中处理不同的 routeParams
- java - Groovy Spring Contract DLS 将字符串转换为 JSON
- ipv6 - 如果我想在一个文件中存储 2^128 个 IPv6 地址,那么所有地址的文件大小是多少?
- sql-server - 连接子行同时尊重 Where 子句与或
- bash - UNIX:这些 ====== 有什么用?
- css - CSS 媒体查询未检测到视口宽度的变化
- c# - 当我们开始使用 Accord 捕获视频时,CPU 和内存消耗会很高
- java - Servlet 应用程序 - tomcat \log 文件夹中的自定义日志文件名