/// <summary> /// 写入网页访问日志 /// </summary> /// <param name="urlReferrer">导入网址</param> /// <param name="ad">广告商ID</param> /// <param name="webUrl">访问的网址</param> /// <param name="ipAddress">网络地址</param> /// <param name="userId">用户主键</param> /// <param name="userName">用户名</param> public void AddWebLog(string urlReferrer, string adId, string webUrl, string ipAddress, string userId, string userName) { BaseLogEntity logEntity = new BaseLogEntity(); logEntity.ProcessId = "WebLog"; logEntity.UrlReferrer = urlReferrer; if (!string.IsNullOrEmpty(adId)) { logEntity.MethodName = "AD"; logEntity.Parameters = adId; } logEntity.WebUrl = webUrl; logEntity.IPAddress = ipAddress; logEntity.UserId = userId; logEntity.UserRealName = userName; this.AddEntity(logEntity); }
/// <summary> /// 添加日志 /// </summary> /// <param name="logEntity">日志对象</param> /// <returns>主键</returns> public int AddEntity(BaseLogEntity logEntity) { int returnValue = 0; // if (!BaseSystemInfo.RecordLog) // { // return string.Empty; // } // 由于并发控制,没有能获得有效ID的错误处理,测试一下错误发生的数量。 // if (Log.ID.Length == 0) // { // return returnValue; // } // string sequence = BaseSequenceManager.Instance.GetSequence(DbHelper, BaseLogEntity.TableName); // string sequence = BaseSequenceManager.Instance.NewGuid(); string sequence = string.Empty; SQLBuilder sqlBuilder = new SQLBuilder(DbHelper); if (DbHelper.CurrentDbType == DbTypes.Access) // sqlBuilder.BeginInsert(this.CurrentTableName, "LogId", this.Identity); { // 写入日志 04-24 dbHelper.Open(BaseSystemInfo.UserCenterDbConnection); // 用户已经不存在的需要整理干净,防止数据不完整。 string sqlQuery = " INSERT INTO [BaseLog]([ProcessId],[ProcessName],[MethodId] " + " ,[MethodName],[Parameters],[UserId],[UserRealName],[IPAddress],[UrlReferrer],[WebUrl],[Description],[CreateOn],[ModifiedOn]) VALUES " + "( '" + logEntity.ProcessId + "','" + logEntity.ProcessName + "','" + logEntity.MethodId.ToString() + "','" + logEntity.MethodName + "','" + logEntity.Parameters + "','" + logEntity.UserId + "','" + logEntity.UserRealName + "','" + logEntity.IPAddress + "','" + logEntity.UrlReferrer + "','" + logEntity.WebUrl + " ','" + logEntity.Description + "'," + DbHelper.GetDBNow() + "," + DbHelper.GetDBNow() + ")"; return dbHelper.ExecuteNonQuery(sqlQuery); ; } else sqlBuilder.BeginInsert(this.CurrentTableName, this.Identity); if (!this.Identity) { sqlBuilder.SetValue(BaseLogEntity.FieldId, logEntity.Id); } else { if (!this.ReturnId && (DbHelper.CurrentDbType == DbTypes.Oracle || DbHelper.CurrentDbType == DbTypes.DB2)) { if (DbHelper.CurrentDbType == DbTypes.Oracle) { sqlBuilder.SetFormula(BaseLogEntity.FieldId, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } if (DbHelper.CurrentDbType == DbTypes.DB2) { sqlBuilder.SetFormula(BaseLogEntity.FieldId, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper()); } } else { if (this.Identity && (DbHelper.CurrentDbType == DbTypes.Oracle || DbHelper.CurrentDbType == DbTypes.DB2)) { if (string.IsNullOrEmpty(logEntity.Id)) { if (string.IsNullOrEmpty(sequence)) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity); sequence = sequenceManager.GetSequence(this.CurrentTableName); } logEntity.Id = sequence; } sqlBuilder.SetValue(BaseLogEntity.FieldId, logEntity.Id); } } } if (String.IsNullOrEmpty(logEntity.UserId)) { logEntity.UserId = logEntity.IPAddress; } sqlBuilder.SetValue(BaseLogEntity.FieldUserId, logEntity.UserId); sqlBuilder.SetValue(BaseLogEntity.FieldUserRealName, logEntity.UserRealName); sqlBuilder.SetValue(BaseLogEntity.FieldProcessId, logEntity.ProcessId); sqlBuilder.SetValue(BaseLogEntity.FieldProcessName, logEntity.ProcessName); sqlBuilder.SetValue(BaseLogEntity.FieldMethodId, logEntity.MethodId); sqlBuilder.SetValue(BaseLogEntity.FieldMethodName, logEntity.MethodName); sqlBuilder.SetValue(BaseLogEntity.FieldParameters, logEntity.Parameters); sqlBuilder.SetValue(BaseLogEntity.FieldUrlReferrer, logEntity.UrlReferrer); sqlBuilder.SetValue(BaseLogEntity.FieldWebUrl, logEntity.WebUrl); sqlBuilder.SetValue(BaseLogEntity.FieldIPAddress, logEntity.IPAddress); sqlBuilder.SetValue(BaseLogEntity.FieldDescription, logEntity.Description); //if (logEntity.CreateUserId.Length == 0) //{ // logEntity.CreateUserId = logEntity.IPAddress; //} //sqlBuilder.SetValue(BaseLogEntity.FieldCreateUserId, logEntity.CreateUserId); sqlBuilder.SetDBNow(BaseLogEntity.FieldCreateOn); // return sqlBuilder.EndInsert() > 0 ? sequence : string.Empty; if (DbHelper.CurrentDbType == DbTypes.SqlServer) { returnValue = sqlBuilder.EndInsert(); } else { sqlBuilder.EndInsert(); if (this.ReturnId)//如果需要反回值 { returnValue = int.Parse(logEntity.Id); } else { returnValue = 0; } } return returnValue; }
/// <summary> /// 添加 /// </summary> /// <param name="userId">用户Id</param> /// <param name="userRealName">用户姓名</param> /// <param name="processID">模块ID</param> /// <param name="processName">模块名称</param> /// <param name="methodName">对象ID</param> /// <param name="parameters">对象名称</param> /// <param name="ipAddress">IP地址</param> /// <param name="description">描述</param> /// <returns>主键</returns> public void Add(string userId, string realName, string processId, string processName, string methodId, string methodName, string parameters, string ipAddress, string description) { BaseLogEntity logEntity = new BaseLogEntity(); logEntity.UserId = userId; logEntity.UserRealName = realName; logEntity.ProcessId = processId; logEntity.ProcessName = processName; logEntity.MethodName = methodName; logEntity.MethodId = methodId; logEntity.Parameters = parameters; logEntity.IPAddress = ipAddress; logEntity.Description = description; // 这里是出错了,才调试 // return 0; this.AddEntity(logEntity); }
/// <summary> /// 添加日志 /// </summary> /// <param name="dbHelper">数据库连接</param> /// <param name="logEntity">日志对象</param> /// <returns>主键</returns> public void Add(IDbHelper dbHelper, BaseLogEntity logEntity) { DbHelper = dbHelper; // 这里是出错了,才调试 // return 0; AddEntity(logEntity); }
public void Add(IDbHelper dbHelper, BaseUserInfo userInfo, string processName, string methodName, string processId, string methodId, string parameters) { // int returnValue = 0; DbHelper = dbHelper; UserInfo = userInfo; if (!BaseSystemInfo.RecordLog) { return; } BaseLogEntity logEntity = new BaseLogEntity(); logEntity.UserId = userInfo.Id; logEntity.UserRealName = userInfo.RealName; logEntity.ProcessId = processId; logEntity.ProcessName = processName; logEntity.MethodId = methodId; logEntity.MethodName = methodName; logEntity.Parameters = parameters; logEntity.IPAddress = userInfo.IPAddress; this.Add(dbHelper, logEntity); }