问题描述
使用 apify-shared npm 包,当我尝试运行一个项目时,我收到错误消息:
[INFO] 08:52:24 ts-node-dev ver. 1.1.6 (using ts-node ver. 9.1.1,typescript ver. 3.9.9)
Error: Options "level" must be one of log.LEVELS enum!
at new Log (/usr/src/app/node_modules/apify-shared/log.js:37:60)
at Object.<anonymous> (/usr/src/app/node_modules/apify-shared/log.js:182:13)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Module._compile (/usr/src/app/node_modules/source-map-support/source-map-support.js:547:25)
at Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Object.nodeDevHook [as .js] (/usr/src/app/node_modules/ts-node-dev/lib/hook.js:63:13)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18)
[ERROR] 08:52:37 Error: Options "level" must be one of log.LEVELS enum!
我不知道是什么导致了上述错误。什么可能导致触发此类错误?有趣的是,在同一个 docker 实例上运行具有相同设置的同一个项目可以正常工作,而不会显示任何错误。
PS:我在 docker 上运行它
任何帮助将不胜感激,谢谢!
解决方法
您是否独立使用该软件包?不建议如此处所述: https://www.npmjs.com/package/apify-shared
尽管如此,您的问题似乎是您没有将必需的参数传递给库,根据在这种情况下的代码,您应该使用它支持的日志级别字符串之一调用记录器实用程序:
if (!LEVEL_TO_STRING[options.level]) throw new Error('Options "level" must be one of log.LEVELS enum!');
根据共享的信息很难说你应该做什么,但也许你意识到你可以通过这种方式传递记录器的级别之一:log.LEVELS.<string>
你想达到什么目的?