Exemplo n.º 1
0
 public static async Task LogAsync(LogObject log)
 {
     if (Initialized)
     {
         await PostLogInternal(log);
     }
 }
Exemplo n.º 2
0
 private static void AddExceptionDataAsLogParameter(Exception ex, LogObject log, string prefixo = "")
 {
     foreach (DictionaryEntry item in ex.Data)
     {
         log.AddParameter($"{prefixo}{item.Key}", item.Value);
     }
 }
Exemplo n.º 3
0
 public static void Log(LogObject log)
 {
     if (Initialized)
     {
         Task.Run(() => LogAsync(log)).Wait();
     }
 }
Exemplo n.º 4
0
        internal static LogObject CreateExceptionLog(Exception ex)
        {
            var log = new LogObject(CreateExceptionMessage(ex), ELogType.Error, ex.Source);

            AddExceptionDataAsLogParameter(ex, log);
            LogInnerException(ex, log);

            return(log);
        }
Exemplo n.º 5
0
 public static async Task LogAsync(string message, ELogType logType = ELogType.Info, string source = null, dynamic parameters = null)
 {
     if (Initialized)
     {
         var log = new LogObject(message, logType);
         FillDynamicParameters(parameters, log);
         await PostLogInternal(log);
     }
 }
Exemplo n.º 6
0
 private static async Task PostLogInternal(LogObject log)
 {
     if (Initialized)
     {
         log.SetSorceIfEmpty(DefaultSourceName);
         foreach (var obs in _logObserversList)
         {
             await obs.HandleLogAsync(log, SessionId);
         }
     }
 }
Exemplo n.º 7
0
        private static void FillDynamicParameters(dynamic parameters, LogObject log)
        {
            if (parameters != null)
            {
                var properties = parameters.GetType().DeclaredProperties as System.Reflection.PropertyInfo[];

                foreach (var property in properties)
                {
                    log.AddParameter(property.Name, property.GetValue(parameters));
                }
            }
        }
Exemplo n.º 8
0
        private static void LogInnerException(Exception ex, LogObject log, int level = 1)
        {
            if (ex.InnerException != null)
            {
                var innerEx    = ex.InnerException;
                var excepLevel = $"ExLevel{level}";

                log.AddParameter(excepLevel, CreateExceptionMessage(innerEx));
                AddExceptionDataAsLogParameter(innerEx, log, excepLevel);

                LogInnerException(innerEx, log, ++level);
            }
        }