大量のログ コードを含む大規模な Windows C++ アプリケーションがあります。マクロといくつかのログ関連クラスを介して、fopen や fprintf などの CRT ファイル操作に要約されます。このアプローチの問題点の 1 つは、ログが「tail -f」または LogExpert で書き込まれるため、ログを表示できないことです。彼らは、ファイルが使用中であると不平を言います。
ログファイルが書き込まれたときに読み取ることができるように変更する最も簡単な方法は何ですか? FILE_SHARE_READ を使用して fopen/fprintf から CreateFile/WriteFile に切り替えるとうまくいきますか? しかし、それを機能させてfopen/fprintfに固執する方法はありますか。または一般的に、ここでの最善のアプローチは何ですか? また、Windows アプリケーションで書き込まれたログ ファイルを表示できることを誰か確認できますか?