简体企业网站
英文企业网站
繁体企业网站
三语企业网站
 
综合网店商城
鲜花礼品网店
图书音像网店
手机数码网店
服装鞋业网店
学校教育网站
医院诊所网站
律师事务网站
代理网站平台
 
行业商贸网站
城市美食网站
分类信息网站
新闻文章网站
 
国际域名
国内域名
虚拟主机
企业邮局
 
优惠套餐
基础报价
模块开发报价
网站定制流程
 
代理商体系
代理商优势
申请流程
加盟办事处
 
Asp编程
PHP编程
.Net编程
XML编程
更多教程...
网站管理
预付款充值
付款方式
在线教程
 
   
 
Asp编程  (32)
PHP编程  (13)
.Net编程  (10)
Xml编程  (10)
Access  (10)
Mssql  (10)
Mysql  (10)
Jsp编程  (0)
 
使用XML文件记录操作日志
深圳通用网站建设与开发工作室   2008-06-15 00:47:31 作者:SystemMaster 来源: 文字大小:[][][]
记录应用程序的操作日志可以使用数据库、文本文件、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>
    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);

            // 添加一条日志
            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. 读日志的方法
    /// <summary>
    /// 读日志
    /// </summary>
    /// <returns>返回读取日志的 DataTable</returns>
    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 方法即可

最新评论
发表评论  
评论标题
评论内容
图片上传
表情图标
验 证 码
关于我们 建站流程 联系方式 付款方式 帮助中心 典型案例
 
主营范围:深圳网站建设、深圳网页设计、深圳网站制作与优化、大型网站建设、英文网站建设、域名注册、虚拟主机
深圳通用网站建设团队  点击这里给我发消息184268   点击这里给我发消息7683320    24小时服务:13510468215
Powered By 545.com.cn Copyright © 2006-2008  粤ICP备08039309号