栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 前沿技术 > 人工智能 > NLP

使用 XML 文件记录操作日志

NLP 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用 XML 文件记录操作日志

记录应用程序的操作日志可以使用数据库、文本文件、xml文件等。我这里介绍的是使用 XML 文件记录操作日志。
我觉得使用 XML 记录操作日志有如下几点好处:
1. 不占用数据库的空间,可以任意的删除历史操作日志。
2. DataTable 可以方面的读入 XML 文件,DataTable 也可以方便的保存为 XML 文件。
3. 查看日志方便,可以直接打开 XML 文件查看,也可以读入 DataTable,然后通过程序查看。

在 VS2005 中使用 XML 文件记录操作日志方法如下:
1. 建立数据集:JobLogDataSet.xsd
这里包括:TraceLevel(日志类型)、User(用户)、DateTime(操作时间)、Module(模块)、Function(功能)、Message(消息) 6 个字段。
不够自己再加吧, 其中 TraceLevel(日志类型) 是指 Info,Warning,Error,Trance,Off。

2. 建立日志类型

///     /// 日志类型    ///     public enum LogType     {         ///         /// 信息        ///         Info,         ///         /// 警告        ///         Warning,        ///         /// 错误        ///         Error,         ///         /// 跟踪        ///         Trace,         ///         /// 不记录日志        ///         Off     }

2. 写日志的方法

  ///     /// 写日志    ///     /// 日志类型(Info,Warning,Error,Trance,Off)    /// 用户    /// 模块    /// 功能    /// 消息    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);
  // 添加一条日志            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);
           // 保存到日志到 XML 文件            t.WriteXml(jobLogFile);        }        catch (Exception)        {}    }

3. 读日志的方法

  ///     /// 读日志    ///     /// 返回读取日志的 DataTable    public static JobLogDataSet.JobLogDataTable ReadLog()    {        JobLogDataSet.JobLogDataTable jobLogDataTable = new JobLogDataSet.JobLogDataTable();        try        {            // 从应用程序文件夹中,获得所有日志文件 JobLog*.xml            string[] jobLogFiles = Directory.GetFiles(                AppDomain.CurrentDomain.baseDirectory, "JobLog*.xml", SearchOption.TopDirectoryOnly);
// 把每个日志记录读取到日志 DataTable 中            foreach (string jobLogFile in jobLogFiles)            {                if (File.Exists(jobLogFile))                {                    // 读取所有日志文件到临时 DataTable                    JobLogDataSet.JobLogDataTable t = new JobLogDataSet.JobLogDataTable();                    t.ReadXml(jobLogFile);                    // 导入日志记录到主日志 DataTable                    foreach (JobLogDataSet.JobLogRow r in t)                        jobLogDataTable.importRow(r);                }            }            // 返回读取的日志 DataTable            return jobLogDataTable;        }        catch (Exception)        {            return jobLogDataTable;        }    }

4. 在需要写日志的地方,直接调用 WriteLog 方法即可。

以上就是使用 XML 文件记录操作日志的内容,更多相关内容请关注PHP中文网(www.kaotop.com)!

转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/794788.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号