異なるプロセス(実行可能ファイル)からのログメッセージを同じログファイルに書き込むことは可能ですか? Boost.LogでC++(Boost.Log)ブーストログ - 1つのログファイルとは異なるプロセスですか?
0
A
答えて
1
これは直接サポートされていません。 Boost.Logはプロセス間同期を行わず、ログファイルを混乱させる他のプロセスは期待していません。
複数のプロセスがログファイルを実際にログファイルを書き込む1つの共通プロセスに送信する、プロセス間のログスキームを実装することは可能です。 syslog backendまたはにsocket-based streamと入力してください。もちろん、カスタムシンクバックエンドの実装も可能です。
0
いいえ、あなたはしたくないでしょう。
最初にプロセス間ファイルロックが必要です。つまり、ログをとろうとしていたすべてのプロセスのすべてのスレッドが、1つのプロセス間ミューテックスですべて同期することになります。パフォーマンス面では、ソフトウェアスタック全体を1つのスレッドで1つのプロセスで作成する方がよいでしょう!
おそらく、あなたが望むものを達成する方法は、ログに専念する1つのプロセスを用意し、そのプロセスにUNIXソケット、名前付きパイプ、またはメッセージバス経由でログメッセージを送信することです。
メッセージがソケット上にある場合は、非同期I/Oを使用してメッセージを送信してください。 UNIXソケットIOは非常に速いので、そこには必要ないかもしれません。
関連する問題
- 1. Railsアプリケーションで異なるログファイル
- 2. ブーストログV2の回転は、1つのファイルを「マスター」として保持します。
- 3. 異なるプロセスのログファイルを照合するにはどうすればよいですか?
- 4. 1つではなく2つのプロセスを開始するサブプロセス
- 5. スクリーンセーバーとスクリーンセーバーのプレビューは異なるプロセスですか?
- 6. Django:1つのモデル、異なるフォームとウィジェットですか?
- 7. ブーストログ:BOOST_LOG_GLOBAL_LOGGER_INIT
- 8. 2つのプロセスをリンクすると、1つのプロセスがクラッシュしたときにもう1つのプロセスもクラッシュする可能性がありますか?
- 9. devise/cancanでは登録プロセスが異なりますが、ユーザーモデルは1つだけですか?
- 10. 異なるプロジェクトのログファイルにLog4Netエントリがあるのはなぜですか?
- 11. 1つのアプリケーションで異なるpowホストに異なるRAILS_ENVを読み込むことはできますか?
- 12. プロセス内で1つのスレッドがクラッシュするとどうなりますか?
- 13. ファイル作成プロセスは、osレベル(ubuntu)の異なるプロセス間で安全ですか?
- 14. log4jで1回のログファイルを1つずつ
- 15. 2つの異なるJavaプロセス間で通信する
- 16. 異なるパターンのログを持つログファイルの解析Logstash
- 17. 1つのプロセスで2つ以上のhttpサーバ(ポートが異なる)を実行できます。
- 18. ログバックの異なるログレベルの異なるログファイル
- 19. java.util.log、3つの異なるロガーインスタンス/ログファイルを使用して.1 .2などを取得する
- 20. 1つのリサイクラビューで異なるスタイル
- 21. log4net - アセンブリのための異なるログファイル
- 22. ログファイルを2つの異なるファイルに書き込む
- 23. 2つのKestrelプロセスが同じドメイン内の異なるURLでリスンすることはできますか?
- 24. 内部iPhone/iPadアプリのプロセスは通常のプロセスと異なりますか?
- 25. bash:$ {@: - 1}の値が$ {@:-1}と異なるのはなぜですか?
- 26. 1つのアプリケーションで異なるデバイスの日付が異なるのはなぜですか?
- 27. ブーストログ(cmakeのMINGW32)
- 28. SimGridの異なるプロセスに異なるスタックサイズを宣言することは可能ですか
- 29. スプリングクラウドタスクトリガーごとに1つのJVMプロセスが必要ですか?
- 30. 1つのポートは2つの異なるプロトコルをリッスンできますか?