如何将winston日志path设置为项目本地文件夹

我在本地安装了winston,并指定了日志文件名:'./dataTest.log'。

var winston = require('winston'); winston.add(winston.transports.File, { filename: './dataTest.log' }); 

但是,我发现日志文件坐在用户主文件夹。 (这是/用户/用户名我在Macos上)。 为什么? 我期望它坐在mynodeproject /公共文件夹。

试图将path设置为“dataTest.log”,结果相同。

编辑:这可能有更多的与节点? 那么你如何在节点中设置相对path呢?

closures我的头顶,尝试使用'data.log'而不是'./data.log'。

您必须包含您用于Winstonconfiguration和日志logging的代码,以便我们提供帮助。

当你说你在本地安装winston时,你到底是什么意思?

如果该文件被指定为“./data.log”,并且被写入到您的主文件夹,则运行时的当前工作目录可能是您的主文件夹。 你从你的主文件夹运行节点程序吗?

我有同样的问题,并使用以下内容:

 var path = require('path'); var winston = require('winston'); winston.add(winston.transports.File, { filename: path.join(__dirname, '/dataTest.log') }); 

有关为什么要使用path.join而不是常规连接的信息,请参阅no-path-concat ESLint规则。