|
分類:[C#]
ログ処理において現在以下のような処理をさせています。
その都度ファイルへ書き込み処理をしているので負荷等考えた場合あまりいい方法
ではないと思っているのですがなにかいい方法があればご意見お願い致します。
(起動時とかは特にログ数が多いです)
また現在は追記で書き込みしていますがやはり新しいログを最初のほうに書き込み
したいです。
ちなみに今考えてる方法はとりあえずファイルに書き込みをせず、リングバッファ
(string配列)に書き込み、上限数を設けて(例えば1000件までとか)オーバー分は
古いほうから削除していきファイルに書き込みさせた場合はbuttonを押して処理させる。
【現在】
・日付単位でファイルを生成し追記
・各クラスからはLog.Save("message");でコール
・コールされる度にファイルへの書き込み処理
・今後はフォーム等でログファイルの内容を表示させたい
// logData=ログの内容
public class Log
{
public static void Save(string logData)
{
string logFile = string.Format("\\{0:yyyyMMdd}.log", DateTime.Now);
StreamWriter sw =
new StreamWriter((new FileStream(logFile, FileMode.Append)),Encoding.Default);
sw.Write(logData);
sw.Close();
}
}
|