Sys_Log_info.cs 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using System.Data;
  5. using SysBaseLibs;
  6. using System.Web.Script.Serialization;
  7. namespace SysDataLibs.TableClass
  8. {
  9. #region Sys_Log
  10. public class Sys_Log_info : ITableInfo
  11. {
  12. #region Sys_Log表 字段信息
  13. /// <summary>
  14. /// 为关键字段: N ;
  15. /// 自动增长: N;
  16. /// 数据类型: nvarchar;
  17. /// 数据长度: 100;
  18. /// 是否允许为空: Y;
  19. /// 默认值: ;
  20. /// 描述: 执行动作;
  21. /// </summary>
  22. public const string cLogCommand = "LogCommand";
  23. /// <summary>
  24. /// 为关键字段: N ;
  25. /// 自动增长: N;
  26. /// 数据类型: smalldatetime;
  27. /// 数据长度: 4;
  28. /// 是否允许为空: N;
  29. /// 默认值: ;
  30. /// 描述: 日志日期;
  31. /// </summary>
  32. public const string cLogDate = "LogDate";
  33. /// <summary>
  34. /// 为关键字段: N ;
  35. /// 自动增长: N;
  36. /// 数据类型: ntext;
  37. /// 数据长度: 16;
  38. /// 是否允许为空: Y;
  39. /// 默认值: ;
  40. /// 描述: 执行结果;
  41. /// </summary>
  42. public const string cLogErrorMessage = "LogErrorMessage";
  43. /// <summary>
  44. /// 为关键字段: N ;
  45. /// 自动增长: N;
  46. /// 数据类型: nvarchar;
  47. /// 数据长度: 6000;
  48. /// 是否允许为空: N;
  49. /// 默认值: ;
  50. /// 描述: 动作内容;
  51. /// </summary>
  52. public const string cLogMessage = "LogMessage";
  53. /// <summary>
  54. /// 为关键字段: N ;
  55. /// 自动增长: N;
  56. /// 数据类型: nvarchar;
  57. /// 数据长度: 1000;
  58. /// 是否允许为空: Y;
  59. /// 默认值: ;
  60. /// 描述: 动作执行位置;
  61. /// </summary>
  62. public const string cLogSite = "LogSite";
  63. /// <summary>
  64. /// 为关键字段: Y --- PrimaryKey;
  65. /// 自动增长: Y;
  66. /// 数据类型: int;
  67. /// 数据长度: 4;
  68. /// 是否允许为空: N;
  69. /// 默认值: ;
  70. /// 描述: 日志编号;
  71. /// </summary>
  72. public const string cSysLogId = "SysLogId";
  73. /// <summary>
  74. /// 为关键字段: N ;
  75. /// 自动增长: N;
  76. /// 数据类型: nchar;
  77. /// 数据长度: 2;
  78. /// 是否允许为空: N;
  79. /// 默认值: ;
  80. /// 描述: 日志类型;
  81. /// </summary>
  82. public const string cSysLogType = "SysLogType";
  83. /// <summary>
  84. /// 为关键字段: N ;
  85. /// 自动增长: N;
  86. /// 数据类型: nvarchar;
  87. /// 数据长度: 100;
  88. /// 是否允许为空: Y;
  89. /// 默认值: ;
  90. /// 描述: 执行人的网址;
  91. /// </summary>
  92. public const string cUserHostAddress = "UserHostAddress";
  93. /// <summary>
  94. /// 为关键字段: N ;
  95. /// 自动增长: N;
  96. /// 数据类型: varchar;
  97. /// 数据长度: 30;
  98. /// 是否允许为空: N;
  99. /// 默认值: ;
  100. /// 描述: 执行人编号;
  101. /// </summary>
  102. public const string cUserId = "UserId";
  103. #endregion
  104. public Sys_Log_info() { }
  105. public Sys_Log_info(DataRow poRow)
  106. {
  107. CreateTableInfo(poRow);
  108. }
  109. public void CreateTableInfo(DataRow poRow)
  110. {
  111. _LogCommand = UtilStr.StrFromObj(poRow[cLogCommand]);
  112. _LogDate = UtilStr.StrFromObj(poRow[cLogDate]);
  113. _LogErrorMessage = UtilStr.StrFromObj(poRow[cLogErrorMessage]);
  114. _LogMessage = UtilStr.StrFromObj(poRow[cLogMessage]);
  115. _LogSite = UtilStr.StrFromObj(poRow[cLogSite]);
  116. _SysLogId = UtilStr.StrFromObj(poRow[cSysLogId]);
  117. _SysLogType = UtilStr.StrFromObj(poRow[cSysLogType]);
  118. _UserHostAddress = UtilStr.StrFromObj(poRow[cUserHostAddress]);
  119. _UserId = UtilStr.StrFromObj(poRow[cUserId]);
  120. }
  121. public Sys_Log_info(string pcSysLogId, DBConnSql poDBConn)
  122. {
  123. if (pcSysLogId.Trim().Length > 0 && poDBConn != null)
  124. {
  125. string lcSql = "select * from " + Tn.Sys_Log + " where SysLogId='" + pcSysLogId + "'";
  126. rsQuery loQuery = poDBConn.OpenQuery(lcSql);
  127. if (loQuery != null && loQuery.IsOpened && loQuery.RecCount == 1)
  128. {
  129. loQuery.MoveFirst();
  130. CreateTableInfo(loQuery.CurrentRow);
  131. }
  132. }
  133. }
  134. private string _LogCommand = "";
  135. public string LogCommand
  136. {
  137. get { return _LogCommand; }
  138. set { _LogCommand = value; }
  139. }
  140. private string _LogDate = "";
  141. public string LogDate
  142. {
  143. get { return _LogDate; }
  144. set { _LogDate = value; }
  145. }
  146. private string _LogErrorMessage = "";
  147. public string LogErrorMessage
  148. {
  149. get { return _LogErrorMessage; }
  150. set { _LogErrorMessage = value; }
  151. }
  152. private string _LogMessage = "";
  153. public string LogMessage
  154. {
  155. get { return _LogMessage; }
  156. set { _LogMessage = value; }
  157. }
  158. private string _LogSite = "";
  159. public string LogSite
  160. {
  161. get { return _LogSite; }
  162. set { _LogSite = value; }
  163. }
  164. private string _SysLogId = "";
  165. public string SysLogId
  166. {
  167. get { return _SysLogId; }
  168. set { _SysLogId = value; }
  169. }
  170. private string _SysLogType = "";
  171. public string SysLogType
  172. {
  173. get { return _SysLogType; }
  174. set { _SysLogType = value; }
  175. }
  176. private string _UserHostAddress = "";
  177. public string UserHostAddress
  178. {
  179. get { return _UserHostAddress; }
  180. set { _UserHostAddress = value; }
  181. }
  182. private string _UserId = "";
  183. public string UserId
  184. {
  185. get { return _UserId; }
  186. set { _UserId = value; }
  187. }
  188. [ScriptIgnore]
  189. public rsXmlNode DataXMLNode
  190. {
  191. get
  192. {
  193. rsXmlNode loMainNode = new rsXmlNode("Sys_LogRecord", "");
  194. rsXmlNode loNode = null;
  195. loNode = new rsXmlNode(cLogCommand, LogCommand);
  196. loMainNode.AddChild(loNode);
  197. loNode = new rsXmlNode(cLogDate, LogDate);
  198. loMainNode.AddChild(loNode);
  199. loNode = new rsXmlNode(cLogErrorMessage, LogErrorMessage);
  200. loMainNode.AddChild(loNode);
  201. loNode = new rsXmlNode(cLogMessage, LogMessage);
  202. loMainNode.AddChild(loNode);
  203. loNode = new rsXmlNode(cLogSite, LogSite);
  204. loMainNode.AddChild(loNode);
  205. loNode = new rsXmlNode(cSysLogId, SysLogId);
  206. loMainNode.AddChild(loNode);
  207. loNode = new rsXmlNode(cSysLogType, SysLogType);
  208. loMainNode.AddChild(loNode);
  209. loNode = new rsXmlNode(cUserHostAddress, UserHostAddress);
  210. loMainNode.AddChild(loNode);
  211. loNode = new rsXmlNode(cUserId, UserId);
  212. loMainNode.AddChild(loNode);
  213. return loMainNode;
  214. }
  215. }
  216. public string InsertSql()
  217. {
  218. return " insert into " + Tn.Sys_Log + " " +
  219. " (" + cLogCommand + "," + cLogDate + "," + cLogErrorMessage + "," + cLogMessage + "," + cLogSite + "," + cSysLogType + "," + cUserHostAddress + "," + cUserId + ") " +
  220. " values ('" + _LogCommand + "','" + _LogDate + "','" + _LogErrorMessage + "','" + _LogMessage + "','" + _LogSite + "','" + _SysLogType + "','" + _UserHostAddress + "','" + _UserId + "') ";
  221. }
  222. public string UpdateSql()
  223. {
  224. return " update " + Tn.Sys_Log + " " +
  225. " set " + cLogCommand + "='" + _LogCommand + "'," + cLogDate + "='" + _LogDate + "'," + cLogErrorMessage + "='" + _LogErrorMessage + "'," + cLogMessage + "='" + _LogMessage + "'," + cLogSite + "='" + _LogSite + "'," + cSysLogType + "='" + _SysLogType + "'," + cUserHostAddress + "='" + _UserHostAddress + "'," + cUserId + "='" + _UserId + "' " +
  226. " where " + cSysLogId + "=" + _SysLogId + "";
  227. }
  228. public string DeleteSql()
  229. {
  230. return "Delete " + Tn.Sys_Log + " where " + cSysLogId + "=" + _SysLogId + "";
  231. }
  232. public static void LogMsg(LogType poType, string pcCommond, string pcMsg, string pcErrorMsg)
  233. {
  234. UserSession loSession = WebLibs.CheckLogin();
  235. if (pcMsg != null && pcMsg.Length > 0 && loSession != null)
  236. {
  237. Sys_Log_info loSysLog = new Sys_Log_info();
  238. loSysLog.LogCommand = pcCommond;
  239. loSysLog.LogDate = DateTime.Now.ToString();
  240. loSysLog.LogMessage = pcMsg;
  241. loSysLog.LogErrorMessage = pcErrorMsg;
  242. loSysLog.SysLogType = ((int)poType).ToString();
  243. loSysLog.UserId = loSession.UserInfo.UserID;
  244. loSysLog.UserHostAddress = System.Web.HttpContext.Current.Request.UserHostAddress;
  245. loSysLog.LogSite = System.Web.HttpContext.Current.Request.RawUrl;
  246. LogMsg(loSysLog);
  247. }
  248. }
  249. public static void LogMsg(Sys_Log_info poSysLog)
  250. {
  251. if (poSysLog != null)
  252. {
  253. DBConnSql loDBConn = new DBConnSql();
  254. if (loDBConn.Open())
  255. {
  256. try
  257. {
  258. if (loDBConn != null && loDBConn.IsOpened)
  259. {
  260. int liSaveMonths = AppEnv.SysSetObj.GetInt("MessageSaveMonth");
  261. DateTime loTime = DateTime.Now.AddMonths(liSaveMonths);
  262. string lcSql = " delete "+Tn.Sys_Log+" where logdate <'" + loTime.ToShortDateString() + "'";
  263. loDBConn.ExcuteSqlTran(lcSql + poSysLog.InsertSql());
  264. loDBConn.Close();
  265. }
  266. }
  267. finally
  268. {
  269. if (loDBConn != null)
  270. loDBConn.Close();
  271. }
  272. }
  273. if (loDBConn != null)
  274. loDBConn = null;
  275. }
  276. }
  277. }
  278. public enum LogType
  279. {
  280. Normal = 0,
  281. System = 1,
  282. ErrorMsg = 2
  283. }
  284. #endregion
  285. #region
  286. public class Sys_Log_Qry : rsQuery
  287. {
  288. public String LogCommand
  289. {
  290. get { return GetString(Sys_Log_info.cLogCommand); }
  291. // set { SetField(Sys_Log_info.cLogCommand, value); }
  292. }
  293. public DateTime LogDate
  294. {
  295. get { return GetDateTime(Sys_Log_info.cLogDate); }
  296. // set { SetField(Sys_Log_info.cLogDate, value); }
  297. }
  298. public String LogErrorMessage
  299. {
  300. get { return GetString(Sys_Log_info.cLogErrorMessage); }
  301. // set { SetField(Sys_Log_info.cLogErrorMessage, value); }
  302. }
  303. public String LogMessage
  304. {
  305. get { return GetString(Sys_Log_info.cLogMessage); }
  306. // set { SetField(Sys_Log_info.cLogMessage, value); }
  307. }
  308. public String LogSite
  309. {
  310. get { return GetString(Sys_Log_info.cLogSite); }
  311. // set { SetField(Sys_Log_info.cLogSite, value); }
  312. }
  313. public Int64 SysLogId
  314. {
  315. get { return GetInt(Sys_Log_info.cSysLogId); }
  316. // set { SetField(Sys_Log_info.cSysLogId, value); }
  317. }
  318. public Boolean SysLogType
  319. {
  320. get { return GetBool(Sys_Log_info.cSysLogType); }
  321. // set { SetField(Sys_Log_info.cSysLogType, value); }
  322. }
  323. public String UserHostAddress
  324. {
  325. get { return GetString(Sys_Log_info.cUserHostAddress); }
  326. // set { SetField(Sys_Log_info.cUserHostAddress, value); }
  327. }
  328. public String UserId
  329. {
  330. get { return GetString(Sys_Log_info.cUserId); }
  331. // set { SetField(Sys_Log_info.cUserId, value); }
  332. }
  333. }
  334. #endregion
  335. }