私は毎日たくさんのログを書きます (1 日あたり数百万の文字列、最大 1 Gb のログ)。AutoFlush
設定したときにコンピューターの速度が大幅に低下するか、HDD が「損傷」するか (これが重要な場合は SaS 15000)に興味がありますか? HDD は、新しい行が書き込まれるたびに高価な余分な操作を行いますか (ファイルを開く、閉じるなどの変更など)。
おそらく使用すべきではありませんAutoFlush
が、他の問題のトラブルシューティングに使用したい場合があります。
私は毎日たくさんのログを書きます (1 日あたり数百万の文字列、最大 1 Gb のログ)。AutoFlush
設定したときにコンピューターの速度が大幅に低下するか、HDD が「損傷」するか (これが重要な場合は SaS 15000)に興味がありますか? HDD は、新しい行が書き込まれるたびに高価な余分な操作を行いますか (ファイルを開く、閉じるなどの変更など)。
おそらく使用すべきではありませんAutoFlush
が、他の問題のトラブルシューティングに使用したい場合があります。
誰があなたの質問に反対票を投じたのか、その理由はわかりません(推測はできますが)。
http://msdn.microsoft.com/en-us/library/system.io.streamwriter.autoflush.aspxによると、使用AutoFlush
するとコードが確実に遅くなります。速度がどの程度低下するか、およびログ メッセージを取得する価値があるかどうかを判断するには、いくつかのテストを行う必要があります。
もし私があなただったら、ロギングを真剣に見直します - 本当にそんなに多くのデータが毎日必要ですか? 私の推測では、すべてではないにしてもほとんどを除去できれば、プログラムのパフォーマンスは劇的に向上します。
何らかの理由でログを削除できない場合は、log4net や Enterprise Logging などのログ ライブラリを調べてください。c# でログを記録する方法を参照してください。詳細については。これらのライブラリは、あまりにも多くの時間を手にしている人々によって書かれ、徹底的にパフォーマンスがテストされています。ライブラリには、自家製のコードよりもエラーやボトルネックが含まれる可能性が低くなります。