gpt4 book ai didi

javascript - 将 javascript Winston 工厂类转换为 ES6

转载 作者:行者123 更新时间:2023-12-02 23:11:43 27 4
gpt4 key购买 nike

我目前正在致力于将 Javascript 中的 Winston Factory 转换为用 ES6 编写的 Typescript 文件。下面的示例为我提供了一个 Winston 记录器,我可以通过导入它并调用 log.info(); 来在其他类中使用它;lab 参数是一个标签,您可以为每个文件提供给记录器。

module.exports = lab => 
winston.createLogger({
level: "verbose",
transports: [new transports.Console({
format: combine(colorize(), label({
label: lab
}), timestamp(), ms(), logFormat),
}), ],
});

我想在我的 Typescript 应用程序中使用这种方法,但我很难让它与 ES6 import 语句一起使用。这是我到目前为止所想到的,这种方法允许我将记录器导入到另一个文件中,但我无法访问记录器功能。

export = lab =>
winston.createLogger({
level: "verbose",
transports: [
new transports.Console({
format: combine(
colorize(),
label({ label: lab }),
timestamp(),
ms()
),
}),
],
});

任何输入、提示,甚至旧文件中代码结构的名称,以便我可以通过 Google 搜索更多信息,我们将不胜感激。

编辑

我的问题:我使用“fileLocation”中的导入日志来导入文件。当我调用 log 时,我希望获得 Winston 记录器函数,但我得到以下函数。

enter image description here

最佳答案

问题是您正在导出一个函数,因此您导入的 log 是函数 (lab) => ...

如果你这样做:

const myLog = log();

myLog中,您将找到由winston创建的对象

关于javascript - 将 javascript Winston 工厂类转换为 ES6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57326073/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com