基于ArcGIS10.0和Oracle10g的空间数据管理平台七(C#开发)-日志操作类
2011-11-22 23:27
976 查看
这篇博文很简单,就是介绍一下各种日志的写入操作,因为写日志的操作随时都需要,所以专门实现一个类来完成。日志一般情况可以写入文件,但是在本项目实现是直接写入Oracle数据库,主要是方便查询和按分类管理这些日志。日志的管理主要是一个单独的功能模块,写日志的功能可能遍布每一个其他功能模块。这里介绍写日志,主要写三种日志,具体实现如下各部分代码所示。
1.操作日志,就是用户使用本系统产生的一些行为日志,方便监控哪些用户分别作了哪些操作。
2.写数据库更新的日志信息,这些日志信息主要用于各个数据库之间的同步。分为空间表和属性表的修改,如此划分主要是因为空间表和一般的属性表同步策略是不一样的。
3.数据库监控日志,主要监控数据的运行状态是否良好,以便能够及时发现数据库的问题,比如性能问题;并可以根据这些日志信息来执行数据库的优化方案。这些监控日志的产生是通过执行一些数据库的监控脚本SQL语句得到的,具体的SQL语句大家可以网上去查询一些。
三种日志的写入操作都介绍完毕,这里没有单独读日志的操作函数,是因为当时系统没有这个必要,这个系统日志的管理是集中式管理,即对日志的查询、读取和删除都是在一个独立的模块完成的,后面会详细介绍!
1.操作日志,就是用户使用本系统产生的一些行为日志,方便监控哪些用户分别作了哪些操作。
/// <summary> /// 写操作日志 /// </summary> /// <param name="username">操作用户</param> /// <param name="type">操作类型</param> /// <param name="content">操作内容</param> /// <returns></returns> public static bool writeLog(string username, string type, string content) { bool result = false; SqlHelper sh = new SqlHelper(); Hashtable ht = new Hashtable(); ht.Add("USERNAME", username); ht.Add("OPTTIME", DateTime.Now); ht.Add("TYPE", type); ht.Add("DESCRIPTION", content); if (sh.Insert("optlog", ht) > 0) { result = true; } else { result = false; } return result; }
2.写数据库更新的日志信息,这些日志信息主要用于各个数据库之间的同步。分为空间表和属性表的修改,如此划分主要是因为空间表和一般的属性表同步策略是不一样的。
/// <summary> /// 写更新日志 /// </summary> /// <param name="strTableName">表名</param> /// <param name="strTableType">表的类型(0:属性表;1:空间表)</param> /// <param name="strOptType">操作类型(目前全部当作update(修改))</param> /// <returns></returns> public static bool writeUpdateDataLog(string strTableName, string strTableType, string strOptType) { bool result = false; SqlHelper sh = new SqlHelper(); string sql = "select * from updatedata_log"; //自己增长ID值 int id = 0; if (sh.GetRecordCount(sql) > 0) { sql = "select max(id) from updatedata_log"; OracleDataReader odr = sh.ReturnDataReader(sql); if (odr.Read()) { id = int.Parse(odr[0].ToString()); id++; } } else { id = 0; } Hashtable ht = new Hashtable(); //如果表已经存在就更新,否则就插入一条记录 sql = "select * from updatedata_log where tablename='" + strTableName + "'"; if (sh.GetRecordCount(sql) > 0) { ht.Add("OPERDATE", DateTime.Now); if (sh.Update("updatedata_log", "tablename='" + strTableName + "'", ht) > 0) { result = true; } else { result = false; } } else { ht.Add("ID", id); ht.Add("TABLENAME", strTableName); ht.Add("TABLETYPE", strTableType); ht.Add("OPERTYPE", strOptType); ht.Add("OPERDATE", DateTime.Now); if (sh.Insert("updatedata_log", ht) > 0) { result = true; } else { result = false; } } return result; }
3.数据库监控日志,主要监控数据的运行状态是否良好,以便能够及时发现数据库的问题,比如性能问题;并可以根据这些日志信息来执行数据库的优化方案。这些监控日志的产生是通过执行一些数据库的监控脚本SQL语句得到的,具体的SQL语句大家可以网上去查询一些。
/// <summary> /// 写数据库监控警告日志 /// </summary> /// <param name="strType">警告类型</param> /// <param name="strContent">具体内容</param> /// <returns></returns> public static bool writeAlertLog(string strType, string strContent) { bool result = false; SqlHelper sh = new SqlHelper(); Hashtable ht = new Hashtable(); ht.Add("HAPPENTIME", DateTime.Now); ht.Add("TYPE", strType); ht.Add("CONTENT", strContent); if (sh.Insert("jcsjk_alert_log", ht) > 0) { result = true; } else { result = false; } return result; }
三种日志的写入操作都介绍完毕,这里没有单独读日志的操作函数,是因为当时系统没有这个必要,这个系统日志的管理是集中式管理,即对日志的查询、读取和删除都是在一个独立的模块完成的,后面会详细介绍!
相关文章推荐
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台七(C#开发)-日志操作类
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台七(C#开发)-日志操作类
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台六(C#开发)-空间数据操作类
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台六(C#开发)-空间数据操作类
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台十二(C#开发)-日志管理
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台十二(C#开发)-日志管理
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台十二(C#开发)-日志管理
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台六(C#开发)-空间数据操作类
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台十二(C#开发)-元数据库库管理
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台三(C#开发)-多皮肤主界面功能
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台(C#开发)-系统需求分析
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台八(C#开发)-图层分类标准定义
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台(C#开发)-背景介绍
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台十八(C#开发)-数据字典编辑
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台三(C#开发)-多皮肤主界面功能
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台(C#开发)-AE常用操作代码
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台四(C#开发)-通用数据管理模块
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台十(C#开发)-空间数据导入RDBMS上-MDB格式
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台(C#开发)-背景介绍
- 基于ArcGIS10.0和Oracle10g的空间数据管理平台十七(C#开发)-空间数据编辑(下)