如何使用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. 建立日志类型
///<summary> ///日志类型 ///</summary> publicenumLogType { ///<summary> ///信息 ///</summary> Info, ///<summary> ///警告 ///</summary> Warning, ///<summary> ///错误 ///</summary> Error, ///<summary> ///跟踪 ///</summary> Trace, ///<summary> ///不记录日志 ///</summary> Off }
2. 写日志的方法
///<summary> ///写日志 ///</summary> ///<paramname="traceLevel">日志类型(Info,Warning,Error,Trance,Off)</param> ///<paramname="user">用户</param> ///<paramname="module">模块</param> ///<paramname="function">功能</param> ///<paramname="message">消息</param> publicstaticvoidWriteLog(LogTypelogType,stringuser,stringmodule,stringfunction,stringmessage) { try { //类型为LogType.Off的不记录日志 if(logType==LogType.Off) return;
JobLogDataSet.JobLogDataTable t = new JobLogDataSet.JobLogDataTable();
//每天一个日志文件(.XML文件),日志的文件名称为:JobLogyyyy-MM-dd.xml stringjobLogFile=AppDomain.CurrentDomain.BaseDirectory+"JobLog"+ DateTime.Today.ToString("yyyy-MM-dd")+".xml"; if(!File.Exists(jobLogFile)) t.WriteXml(jobLogFile);
//从.XML文件中读取日志 t.ReadXml(jobLogFile);
//添加一条日志 JobLogDataSet.JobLogRowr=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. 读日志的方法
///<summary> ///读日志 ///</summary> ///<returns>返回读取日志的DataTable</returns> publicstaticJobLogDataSet.JobLogDataTableReadLog() { JobLogDataSet.JobLogDataTablejobLogDataTable=newJobLogDataSet.JobLogDataTable(); try { //从应用程序文件夹中,获得所有日志文件JobLog*.xml string[]jobLogFiles=Directory.GetFiles( AppDomain.CurrentDomain.BaseDirectory,"JobLog*.xml",SearchOption.TopDirectoryOnly);
//把每个日志记录读取到日志DataTable中 foreach(stringjobLogFileinjobLogFiles) { if(File.Exists(jobLogFile)) { //读取所有日志文件到临时DataTable JobLogDataSet.JobLogDataTablet=newJobLogDataSet.JobLogDataTable(); t.ReadXml(jobLogFile); //导入日志记录到主日志DataTable foreach(JobLogDataSet.JobLogRowrint) jobLogDataTable.ImportRow(r); } } //返回读取的日志DataTable returnjobLogDataTable; } catch(Exception) { returnjobLogDataTable; } }
4. 在需要写日志的地方,直接调用 WriteLog 方法即可。
看完了这篇文章,相信你对“如何使用XML文件记录操作日志”有了一定的了解,如果想了解更多相关知识,欢迎关注恰卡编程网行业资讯频道,感谢各位的阅读!
目录
推荐阅读
0 条评论
本站已关闭游客评论,请登录或者注册后再评论吧~