Пример #1
0
 private static void AddExceptionDataAsLogParameter(Exception ex, LogObject log, string prefixo = "")
 {
     foreach (DictionaryEntry item in ex.Data)
     {
         log.AddParameter($"{prefixo}{item.Key}", item.Value);
     }
 }
Пример #2
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));
                }
            }
        }
Пример #3
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);
            }
        }