/// <summary> /// Calls the DoAppende method on the <see cref="T:log4net.Appender.IAppender" /> with /// the <see cref="T:log4net.Core.LoggingEvent" /> objects supplied. /// </summary> /// <param name="appender">The appender</param> /// <param name="loggingEvents">The events</param> /// <remarks> /// <para> /// If the <paramref name="appender" /> supports the <see cref="T:log4net.Appender.IBulkAppender" /> /// interface then the <paramref name="loggingEvents" /> will be passed /// through using that interface. Otherwise the <see cref="T:log4net.Core.LoggingEvent" /> /// objects in the array will be passed one at a time. /// </para> /// </remarks> private static void CallAppend(IAppender appender, LoggingEvent[] loggingEvents) { IBulkAppender bulkAppender = appender as IBulkAppender; if (bulkAppender != null) { bulkAppender.DoAppend(loggingEvents); return; } foreach (LoggingEvent loggingEvent in loggingEvents) { appender.DoAppend(loggingEvent); } }
private static void CallAppend(IAppender appender, LoggingEvent[] loggingEvents) { IBulkAppender appender2 = appender as IBulkAppender; if (appender2 != null) { appender2.DoAppend(loggingEvents); } else { foreach (LoggingEvent event2 in loggingEvents) { appender.DoAppend(event2); } } }
public static void AppendAndClose(this IBulkAppender self, IEnumerable <LoggingEvent> events) { self.DoAppend(events.ToArray()); self.Close(); }