【问题标题】:Pino: default level undefinedPino:默认级别未定义
【发布时间】:2018-11-07 04:15:29
【问题描述】:

我是后端 Web 开发的新手,我正在尝试建立一个 TypeScript 项目。大多数其他一切似乎都很好,但是当我尝试使用 Pino 记录器时,我在编译的 levels.js 文件中收到此错误:

throw Error(`default level:${defaultLevel} must be included in custom levels`)

我的logger.ts 看起来像这样:

1 import pino from 'pino';
2 
3 const l = pino({
4   name: process.env.APP_ID,
5   level: process.env.LOG_LEVEL,
6 });
7 
8 export default l;

该项目是通过 yeoman 引导的。

不确定这是否足以调试问题。

【问题讨论】:

  • process.env.LOG_LEVEL 设置为什么?
  • 未定义。这可能是问题所在,但这一切都是通过 yeoman 设置的,我认为基本应用程序可以正常工作。
  • 不确定,我以前从未使用过 yeoman,但如果它是 undefined,它应该只使用默认值 info,所以这可能不是问题。在对象中显式设置undefined 与不包含键相同。
  • 好的。因此,如果我将 APP_ID 和 LOG_LEVEL 分别硬编码为应用程序名称和“调试”。这样可行。此外,如果我与 yeoman 建立了一个新项目,它会立即生效。这个当前项目是从 git repo 中提取的,所以我猜它会将这些变量值放在其他位置或其他地方。

标签: javascript node.js typescript


【解决方案1】:

我觉得自己很笨。问题是生成器没有创建.env;应该在哪里定义所有这些变量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-20
    • 2021-01-09
    • 2021-10-25
    相关资源
    最近更新 更多