私は良い、シンプルなC + +ロギングライブラリを探していた、boost :: log、glog、pantheios、log4cplus、G3logなどを見て、誰もがスレッドセーフなライブラリだと思われる。なぜスレッドセーフなロギングライブラリがたくさんあるのですか?
もちろんスレッドセーフではありますが、なぜそれが必要ですか?スレッドごとに独自のログファイルを使用できるようにするにはどうすればいいですか?
ログファイルのマップを保持するシングルトンが中心であるとします。このキーはスレッドIDです。各スレッドはそれ自身のログに書き込みます。さらに、すべてのログファイルを1に統合するための「ログファイル統合プログラム」があります。
これは簡単な解決策ではありませんか?ロギングライブラリはもはやスレッドセーフである必要はなく、ストリームのバッファリングについても心配する必要はありません。
スレッドを育成するプログラムがいくつかありますが、そのような場合は「スレッドグループ」という概念があります。一般的に、「複数のログファイル+ 1つのコンソリデータ」を使って簡単にするのはいかがですか?私は何かを見落としましたか?
99999スレッドが実行されているとし、警告/エラーがあるかどうかを確認する必要があるとします。エラーを検出するために99999ログファイルの1つをチェックする代わりにerrorsという名前のログファイルを開く方が簡単です。 –
99999個のログファイルを1個にまとめることができ、エラーでフィルタリングできるビューアがあります....何が問題なのですか? – athos
1週間前にクラッシュしたセッションの99999ログを検索するようにユーザーに指示すると、サポートチームにとって楽しいことになります。オープンファイル記述子の数に対するOSの制限など、考慮すべき事項はもちろんあります。 – paddy