/// <summary> /// Fixed: /// </summary> private void SetProperties() { SysLogType = SysLogModel.SysLogTypes.Info; OnAzure = Environments.RdsProvider == "Azure"; MachineName = Environments.MachineName; ServiceName = Environments.ServiceName; Application = Environments.Application; var request = new Request(System.Web.HttpContext.Current); if (request.HttpRequest != null) { RequestData = request.ProcessedRequestData(); HttpMethod = request.HttpMethod(); ApplicationAge = Applications.ApplicationAge(); ApplicationRequestInterval = Applications.ApplicationRequestInterval(); SessionAge = Sessions.SessionAge(); SessionRequestInterval = Sessions.SessionRequestInterval(); RequestSize = RequestData.Length; Url = request.Url(); UrlReferer = request.UrlReferrer(); UserHostName = request.UserHostName(); UserHostAddress = request.UserHostAddress(); UserLanguage = request.UserLanguage(); UserAgent = request.UserAgent(); SessionGuid = Sessions.SessionGuid(); } InDebug = Debugs.InDebug(); AssemblyVersion = Environments.AssemblyVersion; }
/// <summary> /// Fixed: /// </summary> private void SetProperties(Context context) { SysLogType = SysLogTypes.Info; OnAzure = Environments.RdsProvider == "Azure"; MachineName = Environments.MachineName; ServiceName = Environments.ServiceName; Application = Environments.Application; if (context.Url != null) { RequestData = ProcessedRequestData(context: context); HttpMethod = context.HttpMethod; ApplicationAge = Applications.ApplicationAge(); ApplicationRequestInterval = Applications.ApplicationRequestInterval(); SessionAge = context.SessionAge(); SessionRequestInterval = context.SessionRequestInterval(); RequestSize = RequestData.Length; Url = context.Url; UrlReferer = context.UrlReferrer; UserHostName = context.UserHostName; UserHostAddress = context.UserHostAddress; UserLanguage = context.Language; UserAgent = context.UserAgent; SessionGuid = context.SessionGuid; } InDebug = Debugs.InDebug(); AssemblyVersion = Environments.AssemblyVersion; }
/// <summary> /// Fixed: /// </summary> public SysLogModel( Context context, string method, string message, string errStackTrace = null, SysLogTypes sysLogType = SysLogTypes.Info) { Class = context.Controller; Method = $"{context.Action}:{method}"; switch (sysLogType) { case SysLogTypes.SystemError: case SysLogTypes.Execption: ErrMessage = message; break; default: Comments = new Comments() { new Comment() { Body = message } }; break; } ErrStackTrace = errStackTrace; WriteSysLog( context: context, sysLogType: sysLogType); }
/// <summary> /// Fixed: /// </summary> public SysLogModel(System.Web.Mvc.ExceptionContext filterContext) { Class = Routes.Controller(); Method = Routes.Action(); WriteSysLog(); SysLogType = SysLogTypes.Execption; ErrMessage = filterContext.Exception.Message; ErrStackTrace = filterContext.Exception.StackTrace; Finish(); }
/// <summary> /// Fixed: /// </summary> public SysLogModel(Microsoft.AspNetCore.Mvc.Filters.ExceptionContext filterContext) { Class = Routes.Controller(); Method = Routes.Action(); WriteSysLog(); SysLogType = SysLogTypes.Execption; ErrMessage = filterContext.Exception.Message; ErrStackTrace = filterContext.Exception.StackTrace; Finish(); }
/// <summary> /// Fixed: /// </summary> public SysLogModel(Context context, System.Web.Mvc.ExceptionContext filterContext) { Class = context.Controller; Method = context.Action; WriteSysLog(context: context); SysLogType = SysLogTypes.Execption; ErrMessage = filterContext.Exception.Message; ErrStackTrace = filterContext.Exception.StackTrace; Finish(context: context); }
/// <summary> /// Fixed: /// </summary> public SysLogModel(IContext context, string exceptionMessage, string exceptionStackTrace) { Class = context.Controller; Method = context.Action; WriteSysLog(context: context); SysLogType = SysLogTypes.Execption; ErrMessage = exceptionMessage; ErrStackTrace = exceptionStackTrace; Finish(context: context); }
/// <summary> /// Fixed: /// </summary> public void WriteSysLog( Context context, SysLogTypes sysLogType) { StartTime = DateTime.Now; SetProperties( context: context, sysLogType: sysLogType); if (Parameters.SysLog.NotLoggingIp?.Contains(UserHostAddress) != true) { SysLogId = Repository.ExecuteScalar_response( context: context, selectIdentity: true, statements: Rds.InsertSysLogs( selectIdentity: true, param: SysLogParam(context: context))) .Id.ToLong(); } }
/// <summary> /// Fixed: /// </summary> public SysLogModel( Context context, Exception e, string extendedErrorMessage = null, Logs logs = null, SysLogTypes sysLogType = SysLogTypes.Execption) { Class = context.Controller; Method = context.Action; ErrMessage = e.Message + (extendedErrorMessage != null ? "\n" + extendedErrorMessage : string.Empty) + (logs?.Any() == true ? "\n" + logs.Select(o => o.Name + ": " + o.Value).Join("\n") : string.Empty); ErrStackTrace = e.StackTrace; WriteSysLog( context: context, sysLogType: sysLogType); }
private void Set(DataRow dataRow, string tableAlias = null) { AccessStatus = Databases.AccessStatuses.Selected; foreach (DataColumn dataColumn in dataRow.Table.Columns) { var column = new ColumnNameInfo(dataColumn.ColumnName); if (column.TableAlias == tableAlias) { switch (column.Name) { case "CreatedTime": if (dataRow[column.ColumnName] != DBNull.Value) { CreatedTime = new Time(dataRow, column.ColumnName); SavedCreatedTime = CreatedTime.Value; } break; case "SysLogId": if (dataRow[column.ColumnName] != DBNull.Value) { SysLogId = dataRow[column.ColumnName].ToLong(); SavedSysLogId = SysLogId; } break; case "Ver": Ver = dataRow[column.ColumnName].ToInt(); SavedVer = Ver; break; case "SysLogType": SysLogType = (SysLogTypes)dataRow[column.ColumnName].ToInt(); SavedSysLogType = SysLogType.ToInt(); break; case "OnAzure": OnAzure = dataRow[column.ColumnName].ToBool(); SavedOnAzure = OnAzure; break; case "MachineName": MachineName = dataRow[column.ColumnName].ToString(); SavedMachineName = MachineName; break; case "ServiceName": ServiceName = dataRow[column.ColumnName].ToString(); SavedServiceName = ServiceName; break; case "TenantName": TenantName = dataRow[column.ColumnName].ToString(); SavedTenantName = TenantName; break; case "Application": Application = dataRow[column.ColumnName].ToString(); SavedApplication = Application; break; case "Class": Class = dataRow[column.ColumnName].ToString(); SavedClass = Class; break; case "Method": Method = dataRow[column.ColumnName].ToString(); SavedMethod = Method; break; case "RequestData": RequestData = dataRow[column.ColumnName].ToString(); SavedRequestData = RequestData; break; case "HttpMethod": HttpMethod = dataRow[column.ColumnName].ToString(); SavedHttpMethod = HttpMethod; break; case "RequestSize": RequestSize = dataRow[column.ColumnName].ToInt(); SavedRequestSize = RequestSize; break; case "ResponseSize": ResponseSize = dataRow[column.ColumnName].ToInt(); SavedResponseSize = ResponseSize; break; case "Elapsed": Elapsed = dataRow[column.ColumnName].ToDouble(); SavedElapsed = Elapsed; break; case "ApplicationAge": ApplicationAge = dataRow[column.ColumnName].ToDouble(); SavedApplicationAge = ApplicationAge; break; case "ApplicationRequestInterval": ApplicationRequestInterval = dataRow[column.ColumnName].ToDouble(); SavedApplicationRequestInterval = ApplicationRequestInterval; break; case "SessionAge": SessionAge = dataRow[column.ColumnName].ToDouble(); SavedSessionAge = SessionAge; break; case "SessionRequestInterval": SessionRequestInterval = dataRow[column.ColumnName].ToDouble(); SavedSessionRequestInterval = SessionRequestInterval; break; case "WorkingSet64": WorkingSet64 = dataRow[column.ColumnName].ToLong(); SavedWorkingSet64 = WorkingSet64; break; case "VirtualMemorySize64": VirtualMemorySize64 = dataRow[column.ColumnName].ToLong(); SavedVirtualMemorySize64 = VirtualMemorySize64; break; case "ProcessId": ProcessId = dataRow[column.ColumnName].ToInt(); SavedProcessId = ProcessId; break; case "ProcessName": ProcessName = dataRow[column.ColumnName].ToString(); SavedProcessName = ProcessName; break; case "BasePriority": BasePriority = dataRow[column.ColumnName].ToInt(); SavedBasePriority = BasePriority; break; case "Url": Url = dataRow[column.ColumnName].ToString(); SavedUrl = Url; break; case "UrlReferer": UrlReferer = dataRow[column.ColumnName].ToString(); SavedUrlReferer = UrlReferer; break; case "UserHostName": UserHostName = dataRow[column.ColumnName].ToString(); SavedUserHostName = UserHostName; break; case "UserHostAddress": UserHostAddress = dataRow[column.ColumnName].ToString(); SavedUserHostAddress = UserHostAddress; break; case "UserLanguage": UserLanguage = dataRow[column.ColumnName].ToString(); SavedUserLanguage = UserLanguage; break; case "UserAgent": UserAgent = dataRow[column.ColumnName].ToString(); SavedUserAgent = UserAgent; break; case "SessionGuid": SessionGuid = dataRow[column.ColumnName].ToString(); SavedSessionGuid = SessionGuid; break; case "ErrMessage": ErrMessage = dataRow[column.ColumnName].ToString(); SavedErrMessage = ErrMessage; break; case "ErrStackTrace": ErrStackTrace = dataRow[column.ColumnName].ToString(); SavedErrStackTrace = ErrStackTrace; break; case "InDebug": InDebug = dataRow[column.ColumnName].ToBool(); SavedInDebug = InDebug; break; case "AssemblyVersion": AssemblyVersion = dataRow[column.ColumnName].ToString(); SavedAssemblyVersion = AssemblyVersion; break; case "Comments": Comments = dataRow[column.ColumnName].ToString().Deserialize <Comments>() ?? new Comments(); SavedComments = Comments.ToJson(); break; case "Creator": Creator = SiteInfo.User(dataRow[column.ColumnName].ToInt()); SavedCreator = Creator.Id; break; case "Updator": Updator = SiteInfo.User(dataRow[column.ColumnName].ToInt()); SavedUpdator = Updator.Id; break; case "UpdatedTime": UpdatedTime = new Time(dataRow, column.ColumnName); Timestamp = dataRow.Field <DateTime>(column.ColumnName).ToString("yyyy/M/d H:m:s.fff"); SavedUpdatedTime = UpdatedTime.Value; break; case "IsHistory": VerType = dataRow[column.ColumnName].ToBool() ? Versions.VerTypes.History : Versions.VerTypes.Latest; break; } } } }