如果文件不存在,请创建文件,然后将日志写入其中
Create file if it does not exist, then write logs to it
尝试设置一个环境:
server.js
:当服务器被创建时,它将检查一系列文件是否存在:[api.log,error.log,access.log],如果它们尚不存在,它将创建它们。
routes/api.js
:我可以使用启动时创建的文件,在 api 错误时记录错误。
很多建议都围绕着 fs.exists(),现在已经不推荐使用。
我正在努力拼凑事件的顺序,server.js
检查文件,采取相应的行动,然后打开流吗?还是必须routes/api.js
打开流并在每个错误时写入流?
我正在使用节点v5.0.0
你永远不应该检查文件是否存在,然后根据文件是否存在执行某些操作。 这是一种反模式:在检查文件是否存在和随后执行下一个操作之间,其他一些进程可能会创建或删除文件。 (即使是 * Sync
方法(它们本身就是反模式的)也容易受到此问题的影响。
相反,您应该只做您需要做的任何事情并适当地处理错误。
在这种情况下,您可以通过指定 createWriteStream
来让您完成工作flags
。 您可能想要:
'w'
- 打开文件进行写入。文件被创建(如果不存在)或截断(如果存在)。'a'
- 打开文件进行追加。如果文件不存在,则创建该文件。
实际上,您应该使用日志记录库。
相关文章:
- HTML文件中的智能Javascript建议在Visual Studio代码更新后没有日志程序工作
- 如何angularjs将日志写入文件
- Firefox插件:保存到文本文件的HTTP日志,其中包含时间、用户名、计算机名;t创建文本文件
- 如何在日志文件中查找字符串并返回整行
- CSSLint:如何将控制台日志中的日志保存到文件中
- PHP 消息未写入日志文件 - tutsplus.com 教程
- Javascript - 从日志文件中删除/分离时间戳
- 在文本区域中显示日志文件内容
- 当用户离开网页时添加到 Apache 日志文件
- 如果文件不存在,请创建文件,然后将日志写入其中
- 在日志文件更新时显示日志文件的内容
- 在网页上显示日志文件内容
- Ruby On Rails 3.1 中的尾矿日志文件
- 当我们单击Spring mvc中的链接时,如何在新窗口中显示日志文件的内容
- 捕获服务器端日志文件中的用户名
- 如何将日志或文本文件写入 Metro 样式应用程序中的文件系统
- 监视器shell脚本's日志文件
- 我们可以使用javascript创建日志文件吗
- 如何运行无头YUI测试并在日志文件中记录成功/失败
- 节点类控制台的方法日志未连接到该文件