我试图使用pino库,但我得到错误
我的代码
我创建了一个logger.js文件,从node_module导入pino,并添加了pino-pretty的传输。
logger.js
import pino from "pino";
const logger = pino({
transport: {
target: "pino-pretty",
options: {
colorize: true,
},
},
});
export default logger;
字符串
我创建了一个数据库文件,并从日志文件导入pino,并使用info函数来显示我的错误。
database.js
import mongoose from "mongoose";
import logger from "./logger";
const DB_CONNECTION_STRING =
process.env.DB_CONNECTION_STRING ||
"mongodb://localhost:27017/*******";
try {
await mongoose.connect(DB_CONNECTION_STRING);
logger.info("Connect to database");
} catch (e) {
logger.error(e, "Failed to connect to database. Goodbye");
process.exit(1);
}
型
x1c 0d1x的数据
7条答案
按热度按时间gjmwrych1#
如果它不能与transfer选项一起使用,您可以将其用作流:
字符串
更多细节请参见文档:https://github.com/pinojs/pino-pretty#usage-as-a-stream
o4tp2gmn2#
如果你没有安装它,你必须安装
pino-pretty
字符串
deikduxw3#
你的package.json中可能缺少
pino-pretty
,你有没有尝试将它添加为依赖项?bqucvtff4#
检查环境变量。它必须是staging或production。SENTRY_ENVIRONMENT之类的检查。我也有同样的错误。
的数据
字符串
ryhaxcpt5#
我在使用next-pino时遇到了这个问题。在本地工作正常,但在部署时抛出错误:
错误:无法确定“pino-pretty”的传输目标
所以我的解决方案是在我的logger类中添加pino pretty的导入:
字符串
6gpjuf906#
这对我很有效
字符串
2vuwiymt7#
最好的方法似乎是通过管道将输出输出到CLI工具来使用它。
所以不要在你的项目中导入它,而是将它添加到你的npm脚本中:
字符串