/// <summary> /// Almacena informacion de auditoria.- /// Llama a StaticLogger y carga el log auditando los datos del Request de entrada /// </summary> /// <param name="pRequest">Request</param> /// <param name="wResult">Response</param> /// <param name="logType">Audit default</param> public static void LogSuccessfulExecution(IServiceContract pRequest, IServiceContract wResult, Fwk.Logging.EventType logType = Fwk.Logging.EventType.Audit) { fwk_ServiceAudit audit = new fwk_ServiceAudit(); audit.LogTime = System.DateTime.Now; audit.ServiceName = pRequest.ServiceName; audit.Send_Time = pRequest.ContextInformation.HostTime; if (Fwk.HelperFunctions.DateFunctions.IsSqlDateTimeOutOverflow(wResult.ContextInformation.HostTime) == false) { audit.Resived_Time = wResult.ContextInformation.HostTime; } else { audit.Resived_Time = wResult.ContextInformation.HostTime = DateTime.Now; } audit.Send_UserId = pRequest.ContextInformation.UserId; audit.Send_Machine = pRequest.ContextInformation.HostName; audit.Dispatcher_Instance_Name = FacadeHelper.ServiceDispatcherConfig.InstanseName; audit.ApplicationId = pRequest.ContextInformation.AppId; try { audit.RequetsText = HelperFunctions.SerializationFunctions.SerializeObjectToJson_Newtonsoft(pRequest); audit.ResponseText = HelperFunctions.SerializationFunctions.SerializeObjectToJson_Newtonsoft(wResult.Error); } catch { //Si existe error al serializar json almacena el xml audit.RequetsText = pRequest.GetXml(); audit.ResponseText = wResult.Error.GetXml(); } audit.Logtype = Enum.GetName(typeof(Fwk.Logging.EventType), logType); try { using (FwkDatacontext context = new FwkDatacontext(System.Configuration.ConfigurationManager.ConnectionStrings[ConfigurationsHelper.ServiceDispatcherConnection].ConnectionString)) { context.fwk_ServiceAudit.InsertOnSubmit(audit); context.SubmitChanges(); } } catch (Exception ex) { TechnicalException te = new TechnicalException("No se pudo insertar la auditoria de la ejecucion de un servicio.- " + ex.Message.ToString(), ex); te.ErrorId = "7010"; Fwk.Exceptions.ExceptionHelper.SetTechnicalException(te, typeof(Audit)); LogDispatcherError(te); LogSuccessfulExecution_Old(pRequest, wResult); } }
private void btnAudit_Click(object sender, EventArgs e) { fwk_ServiceAudit l = new fwk_ServiceAudit(); l.ApplicationId = "cc"; l.Dispatcher_Instance_Name = "cc"; l.Logtype = "Error"; l.Message = "casdasdasdasdsac"; l.Send_Time = System.DateTime.Now; l.Resived_Time = System.DateTime.Now; l.ServiceName = "servicio de prueba"; l.Send_Machine = "pc test"; l.Send_UserId = "123"; Fwk.BusinessFacades.Utils.Audit.LogNonSucessfulExecution(l); }
/// <summary> /// Audita un error /// </summary> /// <param name="serviceName"></param> /// <param name="message"></param> /// <param name="appId"></param> /// <param name="forceLogError">si vieno en true no se interpretara la Configuracion de AuditMode</param> internal static void DoAuditError(string serviceName, string message, string appId, bool forceLogError = false) { var dispatcherSuditMode = (AuditMode)FacadeHelper.ServiceDispatcherConfig.AuditMode; if (dispatcherSuditMode == AuditMode.Required_ErrorsOnly || dispatcherSuditMode == AuditMode.Required_ExecutionsAndErrors || forceLogError == true) { fwk_ServiceAudit audit = new fwk_ServiceAudit(); audit.ServiceName = serviceName; //audit.Send_Time = pRequest.ContextInformation.; //audit.Resived_Time = DateTime.Now; audit.ApplicationId = appId; audit.Message = message; Audit.LogNonSucessfulExecution(audit); } }
public static void LogNonSucessfulExecution(fwk_ServiceAudit audit) //ServiceError pServiceError, ServiceConfiguration pConfig) { audit.LogTime = System.DateTime.Now; audit.Dispatcher_Instance_Name = FacadeHelper.ServiceDispatcherConfig.InstanseName; audit.Logtype = Enum.GetName(typeof(Fwk.Logging.EventType), Fwk.Logging.EventType.Error); try { using (FwkDatacontext context = new FwkDatacontext(System.Configuration.ConfigurationManager.ConnectionStrings[ConfigurationsHelper.ServiceDispatcherConnection].ConnectionString)) { context.fwk_ServiceAudit.InsertOnSubmit(audit); context.SubmitChanges(); } } catch (Exception ex) { TechnicalException te = new TechnicalException("No se pudo insertar la auditoria de la ejecucion de un servicio.- " + ex.Message.ToString(), ex); te.ErrorId = "7010"; Fwk.Exceptions.ExceptionHelper.SetTechnicalException(te, typeof(Audit)); LogDispatcherError(ex); } }