Exemple #1
0
        /// <summary>
        /// Metodo extensor para registrar un log en el sistema con nombre de archivo, clase y metodo
        /// </summary>
        /// <param name="log">referencia a la cadena del log a registrar</param>
        /// <param name="filename">
        /// Nombre o ruta\Nombre del archivo de texto en el que sera registrado el log.
        /// Si esta vacio o es nulo, se establecera el nombre por defecto 'Log_{0}.log' donde {0} es la fecha en formato 'MMyyy'
        /// </param>
        /// <param name="entryType">tipo de entrada en el log (error, warning, etc.)</param>
        /// <param name="type">Clase que sera registrada en el log, null si no se quiere establecer</param>
        /// <param name="method">Metodo que sera registrado en el log, null o cadena vacia si no se quiere establecer</param>
        /// <param name="warningLevel">Nivel de warning para registrar en el log, la configuracion permite filtrar niveles de warnings (1 maximo, 5 minimo)</param>
        public static void RegisterLog(this string log, string filename, EnumLogType entryType, Type type, string method,
                                       EnumWarningLevel warningLevel = EnumWarningLevel.LEVEL_3)
        {
            // verificar si es un warning, el nivel para no registrarse
            if (entryType == EnumLogType.WARNING && (int)warningLevel > (int)Log._warningLevel)
            {
                return;
            }

            // obtener la cadena con el log formateado
            string logString = Log._getLogStringFormat(log, entryType, type, method);

            // mostrar el log en los resultados del depurador
            Log._showInDebugger(log);

            // registrar en archivo de texto, usar el nombre del parametro de entrada, en caso de no existir, sera el nombre de la propiedad,
            // si no existe tampoco, sera usado el nombre por defecto
            Log._writeFile(filename ?? LogFileName, logString);
        }
Exemple #2
0
        /// <summary>
        /// Constructor estatico de la clase para inicializar el helper
        /// </summary>
        static Log()
        {
            // crear el directorio por defecto donde seran almacenados los logs
            LogPath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
            // añadir el directorio por defecto 'Log'
            LogPath = System.IO.Path.Combine(LogPath, "log");

            // almacenar el nivel de warnings por defecto = 3
            _warningLevel = EnumWarningLevel.LEVEL_3;

            // crear el directorio de logs si no existe
            try
            {
                if (!Directory.Exists(LogPath))
                {
                    Directory.CreateDirectory(LogPath);
                }
            }
            catch (Exception ex)
            {
                Trace.Write(ex);
            }
        }
Exemple #3
0
 /// <summary>
 /// Metodo extensor para registrar un log en el sistema con nombre de clase y metodo
 /// </summary>
 /// <param name="_log">referencia a la cadena del log a registrar</param>
 /// <param name="_entryType">tipo de entrada en el log (error, warning, etc.)</param>
 /// <param name="_type">Clase que sera registrada en el log, null si no se quiere establecer</param>
 /// <param name="_method">Metodo que sera registrado en el log, null o cadena vacia si no se quiere establecer</param>
 /// <param name="_warningLevel">Nivel de warning para registrar en el log, la configuracion permite filtrar niveles de warnings (1 maximo, 5 minimo)</param>
 public static void RegisterLog(this string _log, EnumLogType _entryType, Type _type, string _method, EnumWarningLevel _warningLevel)
 {
     // llamar a la funcion sobrecargada correspondiente
     _log.RegisterLog(null, _entryType, _type, _method, _warningLevel);
 }
Exemple #4
0
 /// <summary>
 /// Metodo extensor para registrar un log en el sistema
 /// NOTA: esta funcion registra un Log con una entrada de informacion, para otros tipos de entradas, ver funciones sobrecargadas
 /// </summary>
 /// <param name="_log">referencia a la cadena del log a registrar</param>
 /// <param name="_warningLevel">Nivel de warning para registrar en el log, la configuracion permite filtrar niveles de warnings (1 maximo, 5 minimo)</param>
 public static void RegisterLog(this string _log, EnumWarningLevel _warningLevel)
 {
     // llamar a la funcion sobrecargada correspondiente
     _log.RegisterLog(EnumLogType.INFO, null, null, _warningLevel);
 }