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

kak*_*cii 1 path node.js winston

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

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

但是我发现日志文件位于用户主文件夹中。(我在 Macos 上是 /Users/username)。为什么?我希望它位于 mynodeproject/public 文件夹中。

尝试将路径设置为“dataTest.log”,结果相同。

编辑:这可能与节点有关?那么如何在节点中设置相对路径呢?

Bry*_*ing 7

我遇到了同样的问题并使用了以下内容:

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

请参阅no-path-concat ESLint 规则以获取有关为何使用path.join而不是常规串联的信息。