作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经在 KeystoneJS/NodeJS 项目中使用 Pino 设置了一个日志实用程序模块。它工作正常,但我想在投入生产时限制日志级别。
实用程序文件 util/log.js
已设置
import pino from 'pino';
const logger = pino({
prettyPrint: { colorize: true }
});
export default logger;
并导入到文件中(比如这里的index.ts
)
从'./util/log'导入日志;
但是当我尝试设置级别时(这里我将其设置为“开发”,以测试它是否有效,稍后将设置为“生产”)
if (process.env.NODE_ENV === 'development') log.level('error');
出现以下错误
TypeError: log_1.default.level is not a function
at Object.<anonymous> (/Users/abc/Documents/projects/yaa-cms-new/tsout/index.js:29:19)
然而,所有对 log.error
或 log.info
的调用在整个应用程序中都正常工作,也就是说,它正确导入了 Pino,我可以使用它。我只是无法设置级别。当我追踪导入的 log
对象时,我得到了
[1589881349511] INFO (18641 on AGOMA1002.local):
levels: {
"labels": {
"10": "trace",
"20": "debug",
"30": "info",
"40": "warn",
"50": "error",
"60": "fatal"
},
"values": {
"trace": 10,
"debug": 20,
"info": 30,
"warn": 40,
"error": 50,
"fatal": 60
}
}
我不确定哪里出错了 - 非常感谢任何线索!
使用 Node 12.14.0、最新的 TypeScript 和
"pino": "^6.2.1",
"pino-pretty": "^4.0.0"
最佳答案
正如@Manuel Spigolon 在上面正确指出的那样,设置 Pino 级别的正确方法是
log.level = 'error'
因为 logger.level
是一个 getter/setter(参见 https://getpino.io/#/docs/api?id=loggerlevel-string-gettersetter ),我知道它,但不知何故我无法处理它。
关于javascript - 设置 Pino 级别给我 'log_1.default.level is not a function',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61888133/
我是一名优秀的程序员,十分优秀!