【发布时间】: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