アプリケーションの操作ログを記録するには、データベース、テキスト ファイル、xml ファイルなどを使用できます。ここで紹介するのはXMLファイルを利用した操作ログの記録です。
XMLを使用して操作ログを記録することには、以下の利点があると思います:
1.データベーススペースを占有せず、過去の操作ログを任意に削除できます。
2. DataTable は XML ファイルを簡単に読み取ることができ、DataTable を XML ファイルとして簡単に保存することもできます。
3. ログを表示するには、XML ファイルを直接開いて表示することも、DataTable に読み込んでプログラムを通じて表示することもできます。
VS2005 で XML ファイルを使用して操作ログを記録する方法は次のとおりです:
1. データセットを作成します: JobLogDataSet.xsd
これには、TraceLevel (ログの種類)、User (ユーザー)、DateTime (操作時間)、モジュール (モジュール)、関数、およびメッセージ 6 フィールド。
十分でない場合は、自分でさらに追加します。ここで、TraceLevel (ログ タイプ) は、Info、Warning、Error、Trance、Off を指します。
2. ログタイプの作成
/// <summary> /// 日志类型 /// </summary> public enum LogType { /// <summary> /// 信息 /// </summary> Info, /// <summary> /// 警告 /// </summary> Warning, /// <summary> /// 错误 /// </summary> Error, /// <summary> /// 跟踪 /// </summary> Trace, /// <summary> /// 不记录日志 /// </summary> Off }
2. ログの書き込み方法
/// <summary> /// 写日志 /// </summary> /// <param name="traceLevel">日志类型(Info,Warning,Error,Trance,Off)</param> /// <param name="user">用户</param> /// <param name="module">模块</param> /// <param name="function">功能</param> /// <param name="message">消息</param> public static void WriteLog(LogType logType,string user, string module, string function, string message) { try { // 类型为 LogType.Off 的 不记录日志 if (logType == LogType.Off) return;
JobLogDataSet.JobLogDataTable t = new JobLogDataSet.JobLogDataTable();
// 每天一个日志文件(.XML 文件),日志的文件名称为:JobLog yyyy-MM-dd.xml string jobLogFile = AppDomain.CurrentDomain.BaseDirectory + "JobLog " + DateTime.Today.ToString("yyyy-MM-dd") + ".xml"; if (!File.Exists(jobLogFile)) t.WriteXml(jobLogFile);
// 从 .XML 文件中读取日志 t.ReadXml(jobLogFile);rree
// 添加一条日志 JobLogDataSet.JobLogRow r = t.NewJobLogRow(); r.TraceLevel = logType.ToString(); r.User = user; r.Datetime = DateTime.Now; r.Module = module; r.Function = function; r.Message = message; t.AddJobLogRow(r);
3. ログの見方
4ログを書き込む必要がある場合は、WriteLog メソッドを直接呼び出します。
上記は、XML ファイルを使用して操作ログを記録する内容です。さらに関連する内容については、PHP 中国語 Web サイト (www.php.cn) に注目してください。