コード例 #1
0
        /// <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);
            }
        }
コード例 #2
0
        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);
                }
            }
        }
コード例 #3
0
 public static void AppendAndClose(this IBulkAppender self, IEnumerable <LoggingEvent> events)
 {
     self.DoAppend(events.ToArray());
     self.Close();
 }