private static void PrepareMessageAndLogToBlobStorage <TEntity>(ISerializingLogItem <TEntity> logItem, Exception ex, IEnumerable <string> errors, Action <string, Exception> logAction) { logItem.Errors = errors; logItem.Exception = ex; if (logItem.IsNotifyEMailRecipients) { ThreadContext.Properties["notifyEMailRecipients"] = "1"; } var message = logItem.SimpleLogMessage; ThreadContext.Properties["logItem"] = logItem; logAction(message, ex); }
public static void FatalDump <TEntity>(this ILogger logger, ISerializingLogItem <TEntity> logItem, Exception ex = null, params string[] errors) => ProcessIfEnabled(logger.IsFatalEnabled, () => PrepareMessageAndLogToBlobStorage(logItem, ex, errors, logger.Fatal));