예제 #1
0
        /// <summary>
        /// Logs the aggregate exception.
        /// </summary>
        /// <param name="log">The logger.</param>
        /// <param name="message">The message.</param>
        /// <param name="exception">The exception.</param>
        public static void LogAggregateException(this ILog log, string message, AggregateException exception)
        {
            var sb = new StringBuilder();

            sb.AppendLine(message);

            foreach (var e in exception.InnerExceptions)
            {
                sb.AppendLine("#1: " + e.Message);
                sb.AppendLine(e.StackTrace);
            }

            log.Error(sb.ToString());
        }
예제 #2
0
 /// <summary>
 /// Log a message at Error level
 /// </summary>
 /// <param name="logger">extended logger</param>
 /// <param name="message">message function for deferred evaluation</param>
 /// <param name="line">compiler injected line number</param>
 /// <param name="member">compiler injected class member</param>
 /// <param name="file">compiler injected file</param>
 public static void Error([NotNull] this ILogger2 logger, Func <string> message, [CallerLineNumber] int?line = null, [CallerMemberName] string?member = null, [CallerFilePath] string?file = null)
 {
     logger.Error(null, message, line, member, file);
 }
예제 #3
0
 /// <summary>
 /// Log a message at Error level
 /// </summary>
 /// <param name="logger">extended logger</param>
 /// <param name="message">message</param>
 /// <param name="line">compiler injected line number</param>
 /// <param name="member">compiler injected class member</param>
 /// <param name="file">compiler injected file</param>
 public static void Error([NotNull] this ILogger2 logger, [Localizable(false)] string message, [CallerLineNumber] int?line = null, [CallerMemberName] string?member = null, [CallerFilePath] string?file = null)
 {
     logger.Error(null, () => message, line, member, file);
 }