Winston 无法 运行 在 WebStorm 中进行项目,但从命令行和 PM2 可以正常工作
Winston can't run project in WebStorm, but from command line and PM2 it works
我继承了 Winston 2 的遗留项目,并且有一个非常奇怪的行为。当我使用 PM2 或使用 node index.js
启动项目时,它可以完美运行。但是当我在 WebStorm 中将其定义为 NODE.js 配置时,它存在以下错误:
Error: ENOENT: no such file or directory, open 'logs/info-log.log'
Emitted 'error' event on instance at:
at WriteStream.<anonymous> (/legacy-project/node_modules/winston/lib/winston/transports/file.js:491:16)
at WriteStream.emit (events.js:310:20)
at WriteStream.EventEmitter.emit (domain.js:482:12)
at internal/fs/streams.js:321:12
at FSReqCallback.oncomplete (fs.js:155:23) {
errno: -2,
code: 'ENOENT',
syscall: 'open',
path: 'logs/info-log.log'
}
有文件传输配置:
{
"category": "default",
"name": "info-log",
"filename": "logs/info-log.log",
"level": "info"
}
WebStorm 配置截图:
安装的版本是Winston 2.2.0,可惜我限制了它。
好的,问题与工作目录有关。有几个应用程序嵌套在同一个工作目录下,被认为是项目的根目录。我的错误是我将工作目录定义为子项目的嵌套路径。当我更改它时,它开始工作,而不是这个定义的 app.js
的完整路径。
我继承了 Winston 2 的遗留项目,并且有一个非常奇怪的行为。当我使用 PM2 或使用 node index.js
启动项目时,它可以完美运行。但是当我在 WebStorm 中将其定义为 NODE.js 配置时,它存在以下错误:
Error: ENOENT: no such file or directory, open 'logs/info-log.log'
Emitted 'error' event on instance at:
at WriteStream.<anonymous> (/legacy-project/node_modules/winston/lib/winston/transports/file.js:491:16)
at WriteStream.emit (events.js:310:20)
at WriteStream.EventEmitter.emit (domain.js:482:12)
at internal/fs/streams.js:321:12
at FSReqCallback.oncomplete (fs.js:155:23) {
errno: -2,
code: 'ENOENT',
syscall: 'open',
path: 'logs/info-log.log'
}
有文件传输配置:
{
"category": "default",
"name": "info-log",
"filename": "logs/info-log.log",
"level": "info"
}
WebStorm 配置截图:
安装的版本是Winston 2.2.0,可惜我限制了它。
好的,问题与工作目录有关。有几个应用程序嵌套在同一个工作目录下,被认为是项目的根目录。我的错误是我将工作目录定义为子项目的嵌套路径。当我更改它时,它开始工作,而不是这个定义的 app.js
的完整路径。