【发布时间】:2021-08-18 08:53:04
【问题描述】:
这是我设置 myNodeApp 的计划,其中包含以下文件夹: 配置、src、node_modules/@myCompany/logging
在@myCompany/logging 库中,我有这样的代码,
myWinston.js
const { createLogger } = require('winston');
const logger = createLogger({
level: config.get('logging').level, // this config is the one from myNodeApp
prettyPrint: true』);
module.exports = logger;
myLogger.js
const logger = require(./myWinston');
const warning = (myWarningMsg) => {
logger.warn(myWarningMsg);
}
module.exports = { warning };
现在在主应用代码中, myApp.js
const { logger } = require('@myCompany/logging');
...
logger.warning('my warning msg here');
...
问题是库 @myCompany/logging 中的 myWinston.js,它需要来自主应用程序的日志记录级别。 从 myNodeApp/config 传递这些信息的最佳方式是什么?
另一个想法,看看它是否可以工作, @myCompany/logging 这个库有一个配置文件夹,可用于在这个库中进行测试。
为 myNodeApp 安装 @myCompany/logging 时,我可以使用 .npmignore 排除配置文件夹。因此日志记录将使用 myNodeApp 中的配置文件夹。
请评论?
【问题讨论】: