Exemplo n.º 1
0
        /// <summary>
        /// Guarda un log con la Excepcion y luego levanta una ventana emergente. 
        /// </summary>
        /// <param name="ex"></param>
        public void GestionExcepciones(Exception ex)
        {
            try
            {
                #region Manejo de Directorio de LOG
                Boolean oLogActivo = Boolean.Parse(System.Configuration.ConfigurationManager.AppSettings["oLogActivo"]);

                if (!oLogActivo)
                    return;

                string logPath = System.Configuration.ConfigurationManager.AppSettings["oLogPath"];
                string logNombre = System.Configuration.ConfigurationManager.AppSettings["oLogNombre"];

                //Crea el directorio.
                if (!System.IO.Directory.Exists(logPath))
                    System.IO.Directory.CreateDirectory(logPath);

                string oLogPath = string.Format("{0}\\{1}", logPath, logNombre);

                //Crea el archivo.
                if (!System.IO.File.Exists(oLogPath))
                    System.IO.File.CreateText(oLogPath);

                #endregion

                //Variables
                string informacion = string.Empty;
                string message;
                string source;
                string stackTrace;

                //Log
                StringBuilder msgLog = new StringBuilder();
                msgLog.AppendLine("*********************************************************************************");

                //Validacion sobre GenericException
                string exceptionName = ex.GetType().FullName;
                if ((exceptionName.Contains("GenericException")))
                {
                    #region "GenericException"
                    GenericException genericEx = ((FaultException<GenericException>)ex).Detail;
                    switch (genericEx.ExceptionType)
                    {
                        case enuExceptionType.SqlException:
                            Titulo = "Error en Base de Datos";
                            Detalle = "Se ha producido un error al realizar una acción en la Base de Datos.";
                            break;
                        case enuExceptionType.ServicesException:
                            Titulo = "Error en Servicio";
                            Detalle = "Se ha producido un error al realizar la consulta al Servicio.";
                            break;
                        case enuExceptionType.BusinessLogicException:
                            Titulo = "Error en Negocio";
                            Detalle = "Se ha producido un error al realizar una acción en el negocio.";
                            break;
                        default:
                            Titulo = "Error en la Aplicación";
                            Detalle = "Se ha producido un error interno en la aplicación.";
                            break;
                    }

                    informacion = string.Format("{0} {1}", genericEx.Mensaje, genericEx.Informacion);
                    message = genericEx.Mensaje;
                    source = genericEx.Origen;
                    stackTrace = genericEx.Trace;
                    #endregion

                    msgLog.AppendFormat("{0} - {1}", DateTime.Now, genericEx.ExceptionType);
                }
                else
                {
                    #region Excepcion no controlada
                    message = ex.Message;
                    source = ex.Source;
                    stackTrace = ex.StackTrace;

                    Titulo = "Error en la Aplicación";
                    Detalle = "Se ha producido un error interno en la aplicación.";
                    #endregion
                    msgLog.AppendFormat("{0} - {1}", DateTime.Now, enuExceptionType.Exception);
                }

                //Borrar al realizar la entraga
                //Detalle = message + "<br/>" + source + "<br/>" + stackTrace;
                //FIN Borrar al realizar la entraga

                #region Guarda la Info en el Log
                //Informacion
                msgLog.AppendLine();
                msgLog.Append(string.Format("Informacion: {0}", informacion));
                msgLog.AppendLine();
                //Message
                msgLog.Append(string.Format("Message: {0}", message));
                msgLog.AppendLine();
                //Source
                msgLog.Append(string.Format("Source: {0}", source));
                msgLog.AppendLine();
                //StackTrace
                msgLog.Append(string.Format("StackTrace: {0}", stackTrace));
                msgLog.AppendLine();

                msgLog.AppendLine();
                msgLog.AppendLine("*********************************************************************************");

                EDUARLog objLog = new EDUARLog(oLogPath, true);
                objLog.write(msgLog.ToString());
                #endregion
                CargarPresentacion(false);
            }
            catch (Exception) { }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Guarda un log con la informacion recibida por parametro.
        /// </summary>
        /// <param name="exepcionControlada"></param>
        public void GestionExcepcionesLog(Exception exepcionControlada)
        {
            try
            {
                #region Manejo de Directorio de LOG

                Boolean oLogActivo = Boolean.Parse(System.Configuration.ConfigurationManager.AppSettings["oLogActivo"]);

                if (!oLogActivo)
                    return;

                string logPath = System.Configuration.ConfigurationManager.AppSettings["oLogPath"];
                string logNombre = System.Configuration.ConfigurationManager.AppSettings["oLogNombre"];

                //Crea el directorio.
                if (!System.IO.Directory.Exists(logPath))
                    System.IO.Directory.CreateDirectory(logPath);

                string oLogPath = string.Format("{0}\\{1}", logPath, logNombre);

                //Crea el archivo.
                if (!System.IO.File.Exists(oLogPath))
                    System.IO.File.CreateText(oLogPath);

                #endregion

                //Log
                StringBuilder msgLog = new StringBuilder();
                msgLog.AppendLine("*********************************************************************************");
                msgLog.AppendFormat("{0} - {1}", DateTime.Now, enuExceptionType.Exception);
                //Message
                msgLog.Append(string.Format("Message: {0}", exepcionControlada.Message));
                msgLog.AppendLine();
                //Source
                msgLog.Append(string.Format("Source: {0}", exepcionControlada.Source));
                msgLog.AppendLine();
                //StackTrace
                msgLog.Append(string.Format("StackTrace: {0}", exepcionControlada.StackTrace));
                msgLog.AppendLine();

                msgLog.AppendLine();
                msgLog.AppendLine("*********************************************************************************");

                EDUARLog objLog = new EDUARLog(oLogPath, true);
                objLog.write(msgLog.ToString());

            }
            catch (Exception ex) { GestionExcepciones(ex); }
        }