Node.js 可以使用“将任何内容写入一个文件”&燃气轮机&燃气轮机&引用;Windows上的其他应用程序何时同时使用该文件?

Node.js 可以使用“将任何内容写入一个文件”&燃气轮机&燃气轮机&引用;Windows上的其他应用程序何时同时使用该文件?,node.js,windows,text-files,winston,writefile,Node.js,Windows,Text Files,Winston,Writefile,我试图将两个应用程序的输出重定向到同一个文件。实际上它们是日志文件 一方面,我在节点中使用winston模块。另一方面,我同时从控制台运行应用程序,并重定向输出。我使用操作员>执行此操作 command >> file 2>&1 它在linux上运行良好,但在Windows上不起作用。我得到这个错误: The process cannot access the file because it is being used by another process. 有没有

我试图将两个应用程序的输出重定向到同一个文件。实际上它们是日志文件

一方面,我在节点中使用
winston
模块。另一方面,我同时从控制台运行应用程序,并重定向输出。我使用操作员
>
执行此操作

command >> file 2>&1
它在linux上运行良好,但在Windows上不起作用。我得到这个错误:

The process cannot access the file because it is being used by another process.
有没有办法强制访问第二个应用程序??如果我只有一个文件,调试我的应用程序会更容易。如果这是不可能的,我将不得不使用两个文件

注意:我只想将信息附加到文件中

更新

这就是我在节点应用程序中将记录器文件与winston模块一起使用的方式。这是文件
logging.js

const loc=require('locations');
const winston=require('winston');
var记录器=新(winston.logger)({
运输:[
新建(winston.transports.File)({
格式化程序:函数(选项){
变量日期=新日期();
var str|u date=date.toISOString().replace(/T | Z/g'))
返回str_date+'NODE-'+options.level.toUpperCase()++'+(options.message?options.message:'')+
(options.meta&&Object.keys(options.meta).length?'\n\t'+JSON.stringify(options.meta):'';
},
json:false,//因为此错误:https://github.com/winstonjs/winston/issues/545
文件名:loc.debug\u file\u lin,
})
]
});
module.exports=记录器
我在剩下的js文件中调用记录器,如下所示

const logger=require('logging');

这完全取决于读取过程如何打开文件(是否以独占方式打开)。如果您可以向我们展示读取文件的进程的代码,也许我们可以提供帮助。如果不解决这个问题,你就不能“强迫”它。好吧,我用我在NodeI中使用的代码更新了我的问题,我真的不知道。您可以为winston文件记录器打开指定一些选项,这些选项允许您控制/指定文件访问模式。您需要的是将模式设置为允许另一个进程对文件具有写访问权限的功能。尽管本文是针对linux的,但它显示了以下选项:。还不清楚是否可以在没有竞争条件(来自两个进程的混乱数据)的情况下将两个进程附加到同一个文件中。