using System; using System.Collections.Generic; using System.Text; using System.Data; using SysBaseLibs; using System.Web.Script.Serialization; namespace SysDataLibs.TableClass { #region Sys_Log public class Sys_Log_info : ITableInfo { #region Sys_Log表 字段信息 /// /// 为关键字段: N ; /// 自动增长: N; /// 数据类型: nvarchar; /// 数据长度: 100; /// 是否允许为空: Y; /// 默认值: ; /// 描述: 执行动作; /// public const string cLogCommand = "LogCommand"; /// /// 为关键字段: N ; /// 自动增长: N; /// 数据类型: smalldatetime; /// 数据长度: 4; /// 是否允许为空: N; /// 默认值: ; /// 描述: 日志日期; /// public const string cLogDate = "LogDate"; /// /// 为关键字段: N ; /// 自动增长: N; /// 数据类型: ntext; /// 数据长度: 16; /// 是否允许为空: Y; /// 默认值: ; /// 描述: 执行结果; /// public const string cLogErrorMessage = "LogErrorMessage"; /// /// 为关键字段: N ; /// 自动增长: N; /// 数据类型: nvarchar; /// 数据长度: 6000; /// 是否允许为空: N; /// 默认值: ; /// 描述: 动作内容; /// public const string cLogMessage = "LogMessage"; /// /// 为关键字段: N ; /// 自动增长: N; /// 数据类型: nvarchar; /// 数据长度: 1000; /// 是否允许为空: Y; /// 默认值: ; /// 描述: 动作执行位置; /// public const string cLogSite = "LogSite"; /// /// 为关键字段: Y --- PrimaryKey; /// 自动增长: Y; /// 数据类型: int; /// 数据长度: 4; /// 是否允许为空: N; /// 默认值: ; /// 描述: 日志编号; /// public const string cSysLogId = "SysLogId"; /// /// 为关键字段: N ; /// 自动增长: N; /// 数据类型: nchar; /// 数据长度: 2; /// 是否允许为空: N; /// 默认值: ; /// 描述: 日志类型; /// public const string cSysLogType = "SysLogType"; /// /// 为关键字段: N ; /// 自动增长: N; /// 数据类型: nvarchar; /// 数据长度: 100; /// 是否允许为空: Y; /// 默认值: ; /// 描述: 执行人的网址; /// public const string cUserHostAddress = "UserHostAddress"; /// /// 为关键字段: N ; /// 自动增长: N; /// 数据类型: varchar; /// 数据长度: 30; /// 是否允许为空: N; /// 默认值: ; /// 描述: 执行人编号; /// public const string cUserId = "UserId"; #endregion public Sys_Log_info() { } public Sys_Log_info(DataRow poRow) { CreateTableInfo(poRow); } public void CreateTableInfo(DataRow poRow) { _LogCommand = UtilStr.StrFromObj(poRow[cLogCommand]); _LogDate = UtilStr.StrFromObj(poRow[cLogDate]); _LogErrorMessage = UtilStr.StrFromObj(poRow[cLogErrorMessage]); _LogMessage = UtilStr.StrFromObj(poRow[cLogMessage]); _LogSite = UtilStr.StrFromObj(poRow[cLogSite]); _SysLogId = UtilStr.StrFromObj(poRow[cSysLogId]); _SysLogType = UtilStr.StrFromObj(poRow[cSysLogType]); _UserHostAddress = UtilStr.StrFromObj(poRow[cUserHostAddress]); _UserId = UtilStr.StrFromObj(poRow[cUserId]); } public Sys_Log_info(string pcSysLogId, DBConnSql poDBConn) { if (pcSysLogId.Trim().Length > 0 && poDBConn != null) { string lcSql = "select * from " + Tn.Sys_Log + " where SysLogId='" + pcSysLogId + "'"; rsQuery loQuery = poDBConn.OpenQuery(lcSql); if (loQuery != null && loQuery.IsOpened && loQuery.RecCount == 1) { loQuery.MoveFirst(); CreateTableInfo(loQuery.CurrentRow); } } } private string _LogCommand = ""; public string LogCommand { get { return _LogCommand; } set { _LogCommand = value; } } private string _LogDate = ""; public string LogDate { get { return _LogDate; } set { _LogDate = value; } } private string _LogErrorMessage = ""; public string LogErrorMessage { get { return _LogErrorMessage; } set { _LogErrorMessage = value; } } private string _LogMessage = ""; public string LogMessage { get { return _LogMessage; } set { _LogMessage = value; } } private string _LogSite = ""; public string LogSite { get { return _LogSite; } set { _LogSite = value; } } private string _SysLogId = ""; public string SysLogId { get { return _SysLogId; } set { _SysLogId = value; } } private string _SysLogType = ""; public string SysLogType { get { return _SysLogType; } set { _SysLogType = value; } } private string _UserHostAddress = ""; public string UserHostAddress { get { return _UserHostAddress; } set { _UserHostAddress = value; } } private string _UserId = ""; public string UserId { get { return _UserId; } set { _UserId = value; } } [ScriptIgnore] public rsXmlNode DataXMLNode { get { rsXmlNode loMainNode = new rsXmlNode("Sys_LogRecord", ""); rsXmlNode loNode = null; loNode = new rsXmlNode(cLogCommand, LogCommand); loMainNode.AddChild(loNode); loNode = new rsXmlNode(cLogDate, LogDate); loMainNode.AddChild(loNode); loNode = new rsXmlNode(cLogErrorMessage, LogErrorMessage); loMainNode.AddChild(loNode); loNode = new rsXmlNode(cLogMessage, LogMessage); loMainNode.AddChild(loNode); loNode = new rsXmlNode(cLogSite, LogSite); loMainNode.AddChild(loNode); loNode = new rsXmlNode(cSysLogId, SysLogId); loMainNode.AddChild(loNode); loNode = new rsXmlNode(cSysLogType, SysLogType); loMainNode.AddChild(loNode); loNode = new rsXmlNode(cUserHostAddress, UserHostAddress); loMainNode.AddChild(loNode); loNode = new rsXmlNode(cUserId, UserId); loMainNode.AddChild(loNode); return loMainNode; } } public string InsertSql() { return " insert into " + Tn.Sys_Log + " " + " (" + cLogCommand + "," + cLogDate + "," + cLogErrorMessage + "," + cLogMessage + "," + cLogSite + "," + cSysLogType + "," + cUserHostAddress + "," + cUserId + ") " + " values ('" + _LogCommand + "','" + _LogDate + "','" + _LogErrorMessage + "','" + _LogMessage + "','" + _LogSite + "','" + _SysLogType + "','" + _UserHostAddress + "','" + _UserId + "') "; } public string UpdateSql() { return " update " + Tn.Sys_Log + " " + " set " + cLogCommand + "='" + _LogCommand + "'," + cLogDate + "='" + _LogDate + "'," + cLogErrorMessage + "='" + _LogErrorMessage + "'," + cLogMessage + "='" + _LogMessage + "'," + cLogSite + "='" + _LogSite + "'," + cSysLogType + "='" + _SysLogType + "'," + cUserHostAddress + "='" + _UserHostAddress + "'," + cUserId + "='" + _UserId + "' " + " where " + cSysLogId + "=" + _SysLogId + ""; } public string DeleteSql() { return "Delete " + Tn.Sys_Log + " where " + cSysLogId + "=" + _SysLogId + ""; } public static void LogMsg(LogType poType, string pcCommond, string pcMsg, string pcErrorMsg) { UserSession loSession = WebLibs.CheckLogin(); if (pcMsg != null && pcMsg.Length > 0 && loSession != null) { Sys_Log_info loSysLog = new Sys_Log_info(); loSysLog.LogCommand = pcCommond; loSysLog.LogDate = DateTime.Now.ToString(); loSysLog.LogMessage = pcMsg; loSysLog.LogErrorMessage = pcErrorMsg; loSysLog.SysLogType = ((int)poType).ToString(); loSysLog.UserId = loSession.UserInfo.UserID; loSysLog.UserHostAddress = System.Web.HttpContext.Current.Request.UserHostAddress; loSysLog.LogSite = System.Web.HttpContext.Current.Request.RawUrl; LogMsg(loSysLog); } } public static void LogMsg(Sys_Log_info poSysLog) { if (poSysLog != null) { DBConnSql loDBConn = new DBConnSql(); if (loDBConn.Open()) { try { if (loDBConn != null && loDBConn.IsOpened) { int liSaveMonths = AppEnv.SysSetObj.GetInt("MessageSaveMonth"); DateTime loTime = DateTime.Now.AddMonths(liSaveMonths); string lcSql = " delete "+Tn.Sys_Log+" where logdate <'" + loTime.ToShortDateString() + "'"; loDBConn.ExcuteSqlTran(lcSql + poSysLog.InsertSql()); loDBConn.Close(); } } finally { if (loDBConn != null) loDBConn.Close(); } } if (loDBConn != null) loDBConn = null; } } } public enum LogType { Normal = 0, System = 1, ErrorMsg = 2 } #endregion #region public class Sys_Log_Qry : rsQuery { public String LogCommand { get { return GetString(Sys_Log_info.cLogCommand); } // set { SetField(Sys_Log_info.cLogCommand, value); } } public DateTime LogDate { get { return GetDateTime(Sys_Log_info.cLogDate); } // set { SetField(Sys_Log_info.cLogDate, value); } } public String LogErrorMessage { get { return GetString(Sys_Log_info.cLogErrorMessage); } // set { SetField(Sys_Log_info.cLogErrorMessage, value); } } public String LogMessage { get { return GetString(Sys_Log_info.cLogMessage); } // set { SetField(Sys_Log_info.cLogMessage, value); } } public String LogSite { get { return GetString(Sys_Log_info.cLogSite); } // set { SetField(Sys_Log_info.cLogSite, value); } } public Int64 SysLogId { get { return GetInt(Sys_Log_info.cSysLogId); } // set { SetField(Sys_Log_info.cSysLogId, value); } } public Boolean SysLogType { get { return GetBool(Sys_Log_info.cSysLogType); } // set { SetField(Sys_Log_info.cSysLogType, value); } } public String UserHostAddress { get { return GetString(Sys_Log_info.cUserHostAddress); } // set { SetField(Sys_Log_info.cUserHostAddress, value); } } public String UserId { get { return GetString(Sys_Log_info.cUserId); } // set { SetField(Sys_Log_info.cUserId, value); } } } #endregion }