如何使用XML文件记录操作日志

小编给大家分享一下如何使用XML文件记录操作日志,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

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

如何使用XML文件记录操作日志

在 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文件记录操作日志”有了一定的了解,如果想了解更多相关知识,欢迎关注恰卡编程网行业资讯频道,感谢各位的阅读!

发布于 2021-03-13 15:40:21
收藏
分享
海报
0 条评论
164
上一篇:如何使用正则表达式进行xml数据验证 下一篇:如何使用XMLHTTP发送超长XML表单数据
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码