2017-05-31 14 views
-1

同じファイルに複数のプロセスが同時にアクセスできます。ファイルサイズが上限(例10MB)を超えた場合、処理ファイルの名前が変更されます(sample.txtからsample1.txt)ローリングアペンドラ)を作成し、同じ名前の新しいアペンダを作成します。C++ロガー複数プロセスサポートロガー

私の問題は、複数のプロセス書き込みが同時に行われていることです。プロセスの1つが同じファイルに書き込んでいる場合は、ファイルサイズが時間ファイルを超えています。ファイルローリング.can any help

+1

ようこそスタックオーバーフロー。 [The Tour](http://stackoverflow.com/tour)を読み、[ヘルプセンター](http://stackoverflow.com/help/asking)の資料を参考にしてください。ここに聞いてください。 –

答えて

0

私が使っている戦略の1つは、複数のマシンにまたがる分散コンピューティングシステムでも機能します。

ログメッセージをパッケージ化し、TCP経由で宛先に送信するライブラリを作成した場合、同じロガーへの書き込みが好きなだけ多くのプロセスを持つことができます。ログメッセージを受信して​​1つのファイルに書き込むには、その宛先にサーバーが必要です。

一般に、プロセス間通信は共有メモリまたはネットワークのいずれかを介して行われます。ネットワーキングを使うことで、プロセス間だけでなく、マシン間でも行けます。 localhostまたは127.0.0.1の宛先を使用するだけでは、パケットは実際にはネットワークカードに到達しません。ほとんどのドライバは、プロセスをリッスンするだけでパケットを渡すことができるほどスマートなので、パフォーマンスも向上します。

関連する問題