public bool LogAsync(string message,
                      Exception exception,
                      LogLevel logLevel,
                      LogNotification logNotification,
                      LogParameter logParameter)
 {
     throw new NotImplementedException();
 }
Example #2
0
        protected override void WriteLog(LogParameter logParameter)
        {
            var           path = Configuration.GetSection("FileLogger").GetSection("FileLoggerPath").Value;
            List <string> list = new List <string>();

            list.Add(JsonConvert.SerializeObject(logParameter));

            File.AppendAllLinesAsync(path, list);
        }
Example #3
0
        static void OneLoggerOption()
        {
            Console.Clear();
            ShowTitle("Registrar en estrategia específica");

            var myLog = new LogParameter();

            Console.WriteLine("Estrategias encontradas: ");
            ShowLoggers();
            Console.WriteLine("");
            Console.WriteLine("Ingrese número de estrategia elegida: ");

            try
            {
                int idxLog = Convert.ToInt32(Console.ReadLine());
                myLog.PluginToExecute = _MyPluginNames[idxLog - 1].Key;
            }
            catch (Exception)
            {
                Console.WriteLine("Número de estrategia incorrecto, presione cualquier tecla para volver al menú: ");
                Console.ReadKey();
                ShowMenu();
            }


            Console.WriteLine("- Ingrese Mensaje: ");
            myLog.Message = Console.ReadLine();

            Console.WriteLine("- Ingrese Tipo de Mensaje: ");
            ShowMessageTypes();
            try
            {
                myLog.MessageType = (MessageTypeEnum)Convert.ToInt32(Console.ReadLine());
            }
            catch (Exception)
            {
                Console.WriteLine("Tipo incorrecto, presione cualquier tecla para volver al menú: ");
                Console.ReadKey();
                ShowMenu();
            }

            Console.WriteLine("CONFIRMA REGISTRO? Digite [S] para ejecutar o [N] para cancelar y retornar al Menú.  ");
            string rpta = Console.ReadLine();

            if (rpta.ToUpper() == "N")
            {
                ShowMenu();
            }
            else if (rpta.ToUpper() == "S")
            {
                Console.WriteLine("RESULTADOS:");
                MyLogger.Logger(myLog, true);
            }
        }
Example #4
0
 public virtual void Warn()
 {
     _logParameter = new LogParameter
     {
         Message     = _message,
         TimeStamp   = DateTime.Now,
         Username    = _userName,
         Data        = _data,
         LogTypeEnum = "Warn"
     };
     WriteLog(_logParameter);
 }
Example #5
0
 /// <summary>
 /// 记录日志(建议在有上下文的环境下使用,否则可能会报错)
 /// </summary>
 /// <param name="logType">日志类型TRACE,INFO,ERROR,FATAL</param>
 /// <param name="className">哪个类中出错</param>
 /// <param name="methodName">哪个方法中出错</param>
 /// <param name="content">日志内容</param>
 public static void SaveLog(LogTypeEnum logType, string className, string methodName, string content)
 {
     try
     {
         LogParameter logParameter = new LogParameter();
         logParameter.LogType    = logType;
         logParameter.ClassName  = className;
         logParameter.MethodName = methodName;
         logParameter.LogMessage = content;
         NestLogHelper.WriteLog(logParameter);
     }
     catch (Exception esError)
     {
         //发送es日志异常
         DebugUtil.Debug(content + ",尝试发送es的FATAL日志时发生异常:" + esError.ToString());
     }
 }
Example #6
0
        protected override void WriteLog(LogParameter logParameter)
        {
            string sql = "INSERT INTO [dbo].[Logs]([Detail],[Timestamp],[Audit],[Message],[Username]) values (@Detail,@Timestamp,@Audit,@Message,@Username)";

            using (var connection = new SqlConnection(Configuration.GetConnectionString("DatabaseLoggerConnection")))
            {
                var affectedRows = connection.ExecuteAsync(sql,
                                                           new
                {
                    Detail    = logParameter.Data,
                    Timestamp = logParameter.TimeStamp,
                    Audit     = logParameter.LogTypeEnum,
                    Message   = logParameter.Message,
                    Username  = logParameter.Username
                }).Result;
            }
        }
Example #7
0
        public static List <KeyValuePair <string, string> > Logger(LogParameter pLogParam, bool pExecute = false)
        {
            AppDomain pluginsAD = null;

            try
            {
                var pluginAppDomainSetup = new AppDomainSetup();
                pluginAppDomainSetup.ApplicationBase = AppDomain.CurrentDomain.BaseDirectory;

                pluginsAD = AppDomain.CreateDomain(_PLUGIN_APPDOMAIN_NAME, null, pluginAppDomainSetup);

                var pluginContext = new Utilities.PluginContext();
                pluginContext.FilePath   = _PLUGIN_PATH;
                pluginContext.CanExecute = pExecute;
                if (pLogParam != null)
                {
                    pluginContext.Message         = pLogParam.Message;
                    pluginContext.MessageType     = pLogParam.MessageType;
                    pluginContext.PluginToExecute = pLogParam.PluginToExecute;
                }


                pluginsAD.SetData(_PLUGIN_CONTEXT_KEY, pluginContext);

                pluginsAD.DoCallBack(PluginCallback);

                pluginContext = pluginsAD.GetData(_PLUGIN_CONTEXT_KEY) as Utilities.PluginContext;

                var result = new List <KeyValuePair <string, string> >();
                foreach (var itemPlugin in pluginContext.PluginNames)
                {
                    result.Add(itemPlugin);
                }
                return(result);
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Excepción:{ex.Message}");
                return(null);
            }
            finally
            {
                AppDomain.Unload(pluginsAD);
            }
        }
Example #8
0
        static void AllLoggerOption()
        {
            Console.Clear();
            ShowTitle("Registrar en todas las estrategias");

            var myLog = new LogParameter();

            Console.WriteLine("- Ingrese Mensaje: ");
            myLog.Message = Console.ReadLine();

            Console.WriteLine("- Ingrese Tipo de Mensaje: ");
            ShowMessageTypes();

            try
            {
                myLog.MessageType = (MessageTypeEnum)Convert.ToInt32(Console.ReadLine());
            }
            catch (Exception)
            {
                Console.WriteLine("Tipo incorrecto, presione cualquier tecla para volver al menú: ");
                Console.ReadKey();
                ShowMenu();
            }

            Console.WriteLine("CONFIRMA REGISTRO? Digite [S] para ejecutar o [N] para cancelar y retornar al Menú.  ");
            string rpta = Console.ReadLine();

            if (rpta.ToUpper() == "N")
            {
                ShowMenu();
            }
            else if (rpta.ToUpper() == "S")
            {
                myLog.PluginToExecute = "*";
                Console.WriteLine("RESULTADOS:");
                MyLogger.Logger(myLog, true);
            }
        }
Example #9
0
        private LogDetail GetLogDetail(IInvocation invocation)
        {
            var logParameters = new List <LogParameter>();

            for (int i = 0; i < invocation.Arguments.Length; i++)
            {
                var logParameter = new LogParameter
                {
                    Type  = invocation.Arguments[i].GetType().Name,
                    Name  = invocation.GetConcreteMethod().GetParameters()[i].Name,
                    Value = invocation.Arguments[i]
                };

                logParameters.Add(logParameter);
            }

            var logDetail = new LogDetail
            {
                LogParameters = logParameters,
                MethodName    = $"{invocation.Method.ReflectedType.FullName}.{invocation.Method.Name}"
            };

            return(logDetail);
        }
Example #10
0
 protected abstract void WriteLog(LogParameter logParameter);
Example #11
0
        /// <summary>
        /// Sets the log.
        /// </summary>
        /// <param name="errNo">The err no.</param>
        /// <param name="logParameter">The log parameter.</param>
        /// <exception cref="System.ArgumentOutOfRangeException">errNo or loggerLevel.</exception>
        public static void SetLog(int errNo, LogParameter logParameter = null)
        {
            try
            {
                if (logParameter == null)
                    logParameter = new LogParameter();

                LoggerLevel loggerLevel;
                switch (errNo)
                {
                    case 1:
                        loggerLevel = LoggerLevel.Info;
                        break;

                    case 300:
                        loggerLevel = LoggerLevel.Error;
                        break;

                    case 400:
                        loggerLevel = LoggerLevel.Fatal;
                        break;

                    default:
                        throw new ArgumentOutOfRangeException("errNo");
                }

                var stringBuilder = new StringBuilder();
                if (!String.IsNullOrEmpty(logParameter.ExceptionMessage) || !String.IsNullOrEmpty(logParameter.StackTrace))
                {
                    stringBuilder.AppendLine(logParameter.ExceptionMessage);
                    stringBuilder.AppendLine(logParameter.StackTrace);
                }

                if (!String.IsNullOrEmpty(logParameter.AdditionalMessage))
                {
                    if (stringBuilder.Length > 0)
                    {
                        stringBuilder.AppendLine();
                    }
                    stringBuilder.AppendLine("Additional message:");
                    stringBuilder.AppendLine(logParameter.AdditionalMessage);
                }

                string message = String.Format("{0};{1};Description: {2}",
                                               errNo.ToString(CultureInfo.InvariantCulture).PadLeft(3, '0'), DefaultLoggerName,
                                               stringBuilder);

                switch (loggerLevel)
                {
                    case LoggerLevel.Info:
                        if (logParameter.CreateFileLog)
                            Info(message);

                        break;

                    case LoggerLevel.Warn:
                        if (logParameter.CreateFileLog)
                            Warn(message);

                        break;

                    case LoggerLevel.Error:
                    case LoggerLevel.Fatal:
                        if (logParameter.CreateFileLog)
                            Error(message);

                        break;

                    default:
                        throw new ArgumentOutOfRangeException();
                }
            }
            // ReSharper disable EmptyGeneralCatchClause
            catch (Exception)
            // ReSharper restore EmptyGeneralCatchClause
            {
            }
        }
Example #12
0
        /// <summary>
        /// Sets the log.
        /// </summary>
        /// <param name="exception">The exception.</param>
        /// <param name="logParameter">The log parameter.</param>
        public static void SetLog(Exception exception, LogParameter logParameter = null)
        {
            try
            {
                if (logParameter == null)
                    logParameter = new LogParameter();

                logParameter.ExceptionMessage = exception.Message;
                logParameter.StackTrace = exception.StackTrace;
                SetLog(400, logParameter);

                if (exception.InnerException != null)
                    SetLog(exception.InnerException, logParameter);
            }
            // ReSharper disable EmptyGeneralCatchClause
            catch (Exception)
            // ReSharper restore EmptyGeneralCatchClause
            {
            }
        }