Refactored the Kernel registration fluent interface to be more readable, better suppo...
[castle.git] / SharedLibs / net / 2.0 / log4net.xml
blobdb9e99f9e7e274f7a7e959b44a7390172688915c
1 <?xml version="1.0"?>
2 <doc>
3     <assembly>
4         <name>log4net</name>
5     </assembly>
6     <members>
7         <member name="T:log4net.Appender.AdoNetAppender">
8             <summary>
9             Appender that logs to a database.
10             </summary>
11             <remarks>
12             <para>
13             <see cref="T:log4net.Appender.AdoNetAppender"/> appends logging events to a table within a
14             database. The appender can be configured to specify the connection 
15             string by setting the <see cref="P:log4net.Appender.AdoNetAppender.ConnectionString"/> property. 
16             The connection type (provider) can be specified by setting the <see cref="P:log4net.Appender.AdoNetAppender.ConnectionType"/>
17             property. For more information on database connection strings for
18             your specific database see <a href="http://www.connectionstrings.com/">http://www.connectionstrings.com/</a>.
19             </para>
20             <para>
21             Records are written into the database either using a prepared
22             statement or a stored procedure. The <see cref="P:log4net.Appender.AdoNetAppender.CommandType"/> property
23             is set to <see cref="F:System.Data.CommandType.Text"/> (<c>System.Data.CommandType.Text</c>) to specify a prepared statement
24             or to <see cref="F:System.Data.CommandType.StoredProcedure"/> (<c>System.Data.CommandType.StoredProcedure</c>) to specify a stored
25             procedure.
26             </para>
27             <para>
28             The prepared statement text or the name of the stored procedure
29             must be set in the <see cref="P:log4net.Appender.AdoNetAppender.CommandText"/> property.
30             </para>
31             <para>
32             The prepared statement or stored procedure can take a number
33             of parameters. Parameters are added using the <see cref="M:log4net.Appender.AdoNetAppender.AddParameter(log4net.Appender.AdoNetAppenderParameter)"/>
34             method. This adds a single <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> to the
35             ordered list of parameters. The <see cref="T:log4net.Appender.AdoNetAppenderParameter"/>
36             type may be subclassed if required to provide database specific
37             functionality. The <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> specifies
38             the parameter name, database type, size, and how the value should
39             be generated using a <see cref="T:log4net.Layout.ILayout"/>.
40             </para>
41             </remarks>
42             <example>
43             An example of a SQL Server table that could be logged to:
44             <code lang="SQL">
45             CREATE TABLE [dbo].[Log] ( 
46               [ID] [int] IDENTITY (1, 1) NOT NULL ,
47               [Date] [datetime] NOT NULL ,
48               [Thread] [varchar] (255) NOT NULL ,
49               [Level] [varchar] (20) NOT NULL ,
50               [Logger] [varchar] (255) NOT NULL ,
51               [Message] [varchar] (4000) NOT NULL 
52             ) ON [PRIMARY]
53             </code>
54             </example>
55             <example>
56             An example configuration to log to the above table:
57             <code lang="XML" escaped="true">
58             <appender name="AdoNetAppender_SqlServer" type="log4net.Appender.AdoNetAppender">
59               <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
60               <connectionString value="data source=SQLSVR;initial catalog=test_log4net;integrated security=false;persist security info=True;User ID=sa;Password=sa"/>
61               <commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message]) VALUES (@log_date, @thread, @log_level, @logger, @message)"/>
62               <parameter>
63                 <parameterName value="@log_date"/>
64                 <dbType value="DateTime"/>
65                 <layout type="log4net.Layout.PatternLayout" value="%date{yyyy'-'MM'-'dd HH':'mm':'ss'.'fff}"/>
66               </parameter>
67               <parameter>
68                 <parameterName value="@thread"/>
69                 <dbType value="String"/>
70                 <size value="255"/>
71                 <layout type="log4net.Layout.PatternLayout" value="%thread"/>
72               </parameter>
73               <parameter>
74                 <parameterName value="@log_level"/>
75                 <dbType value="String"/>
76                 <size value="50"/>
77                 <layout type="log4net.Layout.PatternLayout" value="%level"/>
78               </parameter>
79               <parameter>
80                 <parameterName value="@logger"/>
81                 <dbType value="String"/>
82                 <size value="255"/>
83                 <layout type="log4net.Layout.PatternLayout" value="%logger"/>
84               </parameter>
85               <parameter>
86                 <parameterName value="@message"/>
87                 <dbType value="String"/>
88                 <size value="4000"/>
89                 <layout type="log4net.Layout.PatternLayout" value="%message"/>
90               </parameter>
91             </appender>
92             </code>
93             </example>
94             <author>Julian Biddle</author>
95             <author>Nicko Cadell</author>
96             <author>Gert Driesen</author>
97             <author>Lance Nehring</author>
98         </member>
99         <member name="T:log4net.Appender.BufferingAppenderSkeleton">
100             <summary>
101             Abstract base class implementation of <see cref="T:log4net.Appender.IAppender"/> that 
102             buffers events in a fixed size buffer.
103             </summary>
104             <remarks>
105             <para>
106             This base class should be used by appenders that need to buffer a 
107             number of events before logging them. For example the <see cref="T:log4net.Appender.AdoNetAppender"/> 
108             buffers events and then submits the entire contents of the buffer to 
109             the underlying database in one go.
110             </para>
111             <para>
112             Subclasses should override the <see cref="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.Core.LoggingEvent[])"/>
113             method to deliver the buffered events.
114             </para>
115             <para>The BufferingAppenderSkeleton maintains a fixed size cyclic 
116             buffer of events. The size of the buffer is set using 
117             the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> property.
118             </para>
119             <para>A <see cref="T:log4net.Core.ITriggeringEventEvaluator"/> is used to inspect 
120             each event as it arrives in the appender. If the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> 
121             triggers, then the current buffer is sent immediately 
122             (see <see cref="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.Core.LoggingEvent[])"/>). Otherwise the event 
123             is stored in the buffer. For example, an evaluator can be used to 
124             deliver the events immediately when an ERROR event arrives.
125             </para>
126             <para>
127             The buffering appender can be configured in a <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> mode. 
128             By default the appender is NOT lossy. When the buffer is full all 
129             the buffered events are sent with <see cref="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.Core.LoggingEvent[])"/>.
130             If the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> property is set to <c>true</c> then the 
131             buffer will not be sent when it is full, and new events arriving 
132             in the appender will overwrite the oldest event in the buffer. 
133             In lossy mode the buffer will only be sent when the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/>
134             triggers. This can be useful behavior when you need to know about 
135             ERROR events but not about events with a lower level, configure an 
136             evaluator that will trigger when an ERROR event arrives, the whole 
137             buffer will be sent which gives a history of events leading up to
138             the ERROR event.
139             </para>
140             </remarks>
141             <author>Nicko Cadell</author>
142             <author>Gert Driesen</author>
143         </member>
144         <member name="T:log4net.Appender.AppenderSkeleton">
145             <summary>
146             Abstract base class implementation of <see cref="T:log4net.Appender.IAppender"/>. 
147             </summary>
148             <remarks>
149             <para>
150             This class provides the code for common functionality, such 
151             as support for threshold filtering and support for general filters.
152             </para>
153             <para>
154             Appenders can also implement the <see cref="T:log4net.Core.IOptionHandler"/> interface. Therefore
155             they would require that the <see cref="M:log4net.Core.IOptionHandler.ActivateOptions"/> method
156             be called after the appenders properties have been configured.
157             </para>
158             </remarks>
159             <author>Nicko Cadell</author>
160             <author>Gert Driesen</author>
161         </member>
162         <member name="T:log4net.Appender.IAppender">
163             <summary>
164             Implement this interface for your own strategies for printing log statements.
165             </summary>
166             <remarks>
167             <para>
168             Implementors should consider extending the <see cref="T:log4net.Appender.AppenderSkeleton"/>
169             class which provides a default implementation of this interface.
170             </para>
171             <para>
172             Appenders can also implement the <see cref="T:log4net.Core.IOptionHandler"/> interface. Therefore
173             they would require that the <see cref="M:log4net.Core.IOptionHandler.ActivateOptions"/> method
174             be called after the appenders properties have been configured.
175             </para>
176             </remarks>
177             <author>Nicko Cadell</author>
178             <author>Gert Driesen</author>
179         </member>
180         <member name="M:log4net.Appender.IAppender.Close">
181             <summary>
182             Closes the appender and releases resources.
183             </summary>
184             <remarks>
185             <para>
186             Releases any resources allocated within the appender such as file handles, 
187             network connections, etc.
188             </para>
189             <para>
190             It is a programming error to append to a closed appender.
191             </para>
192             </remarks>
193         </member>
194         <member name="M:log4net.Appender.IAppender.DoAppend(log4net.Core.LoggingEvent)">
195             <summary>
196             Log the logging event in Appender specific way.
197             </summary>
198             <param name="loggingEvent">The event to log</param>
199             <remarks>
200             <para>
201             This method is called to log a message into this appender.
202             </para>
203             </remarks>
204         </member>
205         <member name="P:log4net.Appender.IAppender.Name">
206             <summary>
207             Gets or sets the name of this appender.
208             </summary>
209             <value>The name of the appender.</value>
210             <remarks>
211             <para>The name uniquely identifies the appender.</para>
212             </remarks>
213         </member>
214         <member name="T:log4net.Appender.IBulkAppender">
215             <summary>
216             Interface for appenders that support bulk logging.
217             </summary>
218             <remarks>
219             <para>
220             This interface extends the <see cref="T:log4net.Appender.IAppender"/> interface to
221             support bulk logging of <see cref="T:log4net.Core.LoggingEvent"/> objects. Appenders
222             should only implement this interface if they can bulk log efficiently.
223             </para>
224             </remarks>
225             <author>Nicko Cadell</author>
226         </member>
227         <member name="M:log4net.Appender.IBulkAppender.DoAppend(log4net.Core.LoggingEvent[])">
228             <summary>
229             Log the array of logging events in Appender specific way.
230             </summary>
231             <param name="loggingEvents">The events to log</param>
232             <remarks>
233             <para>
234             This method is called to log an array of events into this appender.
235             </para>
236             </remarks>
237         </member>
238         <member name="T:log4net.Core.IOptionHandler">
239             <summary>
240             Interface used to delay activate a configured object.
241             </summary>
242             <remarks>
243             <para>
244             This allows an object to defer activation of its options until all
245             options have been set. This is required for components which have
246             related options that remain ambiguous until all are set.
247             </para>
248             <para>
249             If a component implements this interface then the <see cref="M:log4net.Core.IOptionHandler.ActivateOptions"/> method 
250             must be called by the container after its all the configured properties have been set 
251             and before the component can be used.
252             </para>
253             </remarks>
254             <author>Nicko Cadell</author>
255         </member>
256         <member name="M:log4net.Core.IOptionHandler.ActivateOptions">
257             <summary>
258             Activate the options that were previously set with calls to properties.
259             </summary>
260             <remarks>
261             <para>
262             This allows an object to defer activation of its options until all
263             options have been set. This is required for components which have
264             related options that remain ambiguous until all are set.
265             </para>
266             <para>
267             If a component implements this interface then this method must be called
268             after its properties have been set before the component can be used.
269             </para>
270             </remarks>
271         </member>
272         <member name="F:log4net.Appender.AppenderSkeleton.c_renderBufferSize">
273             <summary>
274             Initial buffer size
275             </summary>
276         </member>
277         <member name="F:log4net.Appender.AppenderSkeleton.c_renderBufferMaxCapacity">
278             <summary>
279             Maximum buffer size before it is recycled
280             </summary>
281         </member>
282         <member name="M:log4net.Appender.AppenderSkeleton.#ctor">
283             <summary>
284             Default constructor
285             </summary>
286             <remarks>
287             <para>Empty default constructor</para>
288             </remarks>
289         </member>
290         <member name="M:log4net.Appender.AppenderSkeleton.Finalize">
291             <summary>
292             Finalizes this appender by calling the implementation's 
293             <see cref="M:log4net.Appender.AppenderSkeleton.Close"/> method.
294             </summary>
295             <remarks>
296             <para>
297             If this appender has not been closed then the <c>Finalize</c> method
298             will call <see cref="M:log4net.Appender.AppenderSkeleton.Close"/>.
299             </para>
300             </remarks>
301         </member>
302         <member name="M:log4net.Appender.AppenderSkeleton.ActivateOptions">
303             <summary>
304             Initialize the appender based on the options set
305             </summary>
306             <remarks>
307             <para>
308             This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
309             activation scheme. The <see cref="M:log4net.Appender.AppenderSkeleton.ActivateOptions"/> method must 
310             be called on this object after the configuration properties have
311             been set. Until <see cref="M:log4net.Appender.AppenderSkeleton.ActivateOptions"/> is called this
312             object is in an undefined state and must not be used. 
313             </para>
314             <para>
315             If any of the configuration properties are modified then 
316             <see cref="M:log4net.Appender.AppenderSkeleton.ActivateOptions"/> must be called again.
317             </para>
318             </remarks>
319         </member>
320         <member name="M:log4net.Appender.AppenderSkeleton.Close">
321             <summary>
322             Closes the appender and release resources.
323             </summary>
324             <remarks>
325             <para>
326             Release any resources allocated within the appender such as file handles, 
327             network connections, etc.
328             </para>
329             <para>
330             It is a programming error to append to a closed appender.
331             </para>
332             <para>
333             This method cannot be overridden by subclasses. This method 
334             delegates the closing of the appender to the <see cref="M:log4net.Appender.AppenderSkeleton.OnClose"/>
335             method which must be overridden in the subclass.
336             </para>
337             </remarks>
338         </member>
339         <member name="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)">
340             <summary>
341             Performs threshold checks and invokes filters before 
342             delegating actual logging to the subclasses specific 
343             <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent)"/> method.
344             </summary>
345             <param name="loggingEvent">The event to log.</param>
346             <remarks>
347             <para>
348             This method cannot be overridden by derived classes. A
349             derived class should override the <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent)"/> method
350             which is called by this method.
351             </para>
352             <para>
353             The implementation of this method is as follows:
354             </para>
355             <para>
356             <list type="bullet">
357                 <item>
358                         <description>
359                         Checks that the severity of the <paramref name="loggingEvent"/>
360                         is greater than or equal to the <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/> of this
361                         appender.</description>
362                 </item>
363                 <item>
364                         <description>
365                         Checks that the <see cref="T:log4net.Filter.IFilter"/> chain accepts the 
366                         <paramref name="loggingEvent"/>.
367                         </description>
368                 </item>
369                 <item>
370                         <description>
371                         Calls <see cref="M:log4net.Appender.AppenderSkeleton.PreAppendCheck"/> and checks that 
372                         it returns <c>true</c>.</description>
373                 </item>
374             </list>
375             </para>
376             <para>
377             If all of the above steps succeed then the <paramref name="loggingEvent"/>
378             will be passed to the abstract <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent)"/> method.
379             </para>
380             </remarks>
381         </member>
382         <member name="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent[])">
383             <summary>
384             Performs threshold checks and invokes filters before 
385             delegating actual logging to the subclasses specific 
386             <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent[])"/> method.
387             </summary>
388             <param name="loggingEvents">The array of events to log.</param>
389             <remarks>
390             <para>
391             This method cannot be overridden by derived classes. A
392             derived class should override the <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent[])"/> method
393             which is called by this method.
394             </para>
395             <para>
396             The implementation of this method is as follows:
397             </para>
398             <para>
399             <list type="bullet">
400                 <item>
401                         <description>
402                         Checks that the severity of the <paramref name="loggingEvent"/>
403                         is greater than or equal to the <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/> of this
404                         appender.</description>
405                 </item>
406                 <item>
407                         <description>
408                         Checks that the <see cref="T:log4net.Filter.IFilter"/> chain accepts the 
409                         <paramref name="loggingEvent"/>.
410                         </description>
411                 </item>
412                 <item>
413                         <description>
414                         Calls <see cref="M:log4net.Appender.AppenderSkeleton.PreAppendCheck"/> and checks that 
415                         it returns <c>true</c>.</description>
416                 </item>
417             </list>
418             </para>
419             <para>
420             If all of the above steps succeed then the <paramref name="loggingEvents"/>
421             will be passed to the <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent[])"/> method.
422             </para>
423             </remarks>
424         </member>
425         <member name="M:log4net.Appender.AppenderSkeleton.FilterEvent(log4net.Core.LoggingEvent)">
426             <summary>
427             Test if the logging event should we output by this appender
428             </summary>
429             <param name="loggingEvent">the event to test</param>
430             <returns><c>true</c> if the event should be output, <c>false</c> if the event should be ignored</returns>
431             <remarks>
432             <para>
433             This method checks the logging event against the threshold level set
434             on this appender and also against the filters specified on this
435             appender.
436             </para>
437             <para>
438             The implementation of this method is as follows:
439             </para>
440             <para>
441             <list type="bullet">
442                 <item>
443                         <description>
444                         Checks that the severity of the <paramref name="loggingEvent"/>
445                         is greater than or equal to the <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/> of this
446                         appender.</description>
447                 </item>
448                 <item>
449                         <description>
450                         Checks that the <see cref="T:log4net.Filter.IFilter"/> chain accepts the 
451                         <paramref name="loggingEvent"/>.
452                         </description>
453                 </item>
454             </list>
455             </para>
456             </remarks>
457         </member>
458         <member name="M:log4net.Appender.AppenderSkeleton.AddFilter(log4net.Filter.IFilter)">
459             <summary>
460             Adds a filter to the end of the filter chain.
461             </summary>
462             <param name="filter">the filter to add to this appender</param>
463             <remarks>
464             <para>
465             The Filters are organized in a linked list.
466             </para>
467             <para>
468             Setting this property causes the new filter to be pushed onto the 
469             back of the filter chain.
470             </para>
471             </remarks>
472         </member>
473         <member name="M:log4net.Appender.AppenderSkeleton.ClearFilters">
474             <summary>
475             Clears the filter list for this appender.
476             </summary>
477             <remarks>
478             <para>
479             Clears the filter list for this appender.
480             </para>
481             </remarks>
482         </member>
483         <member name="M:log4net.Appender.AppenderSkeleton.IsAsSevereAsThreshold(log4net.Core.Level)">
484             <summary>
485             Checks if the message level is below this appender's threshold.
486             </summary>
487             <param name="level"><see cref="T:log4net.Core.Level"/> to test against.</param>
488             <remarks>
489             <para>
490             If there is no threshold set, then the return value is always <c>true</c>.
491             </para>
492             </remarks>
493             <returns>
494             <c>true</c> if the <paramref name="level"/> meets the <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/> 
495             requirements of this appender.
496             </returns>
497         </member>
498         <member name="M:log4net.Appender.AppenderSkeleton.OnClose">
499             <summary>
500             Is called when the appender is closed. Derived classes should override 
501             this method if resources need to be released.
502             </summary>
503             <remarks>
504             <para>
505             Releases any resources allocated within the appender such as file handles, 
506             network connections, etc.
507             </para>
508             <para>
509             It is a programming error to append to a closed appender.
510             </para>
511             </remarks>
512         </member>
513         <member name="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent)">
514             <summary>
515             Subclasses of <see cref="T:log4net.Appender.AppenderSkeleton"/> should implement this method 
516             to perform actual logging.
517             </summary>
518             <param name="loggingEvent">The event to append.</param>
519             <remarks>
520             <para>
521             A subclass must implement this method to perform
522             logging of the <paramref name="loggingEvent"/>.
523             </para>
524             <para>This method will be called by <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/>
525             if all the conditions listed for that method are met.
526             </para>
527             <para>
528             To restrict the logging of events in the appender
529             override the <see cref="M:log4net.Appender.AppenderSkeleton.PreAppendCheck"/> method.
530             </para>
531             </remarks>
532         </member>
533         <member name="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent[])">
534             <summary>
535             Append a bulk array of logging events.
536             </summary>
537             <param name="loggingEvents">the array of logging events</param>
538             <remarks>
539             <para>
540             This base class implementation calls the <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent)"/>
541             method for each element in the bulk array.
542             </para>
543             <para>
544             A sub class that can better process a bulk array of events should
545             override this method in addition to <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent)"/>.
546             </para>
547             </remarks>
548         </member>
549         <member name="M:log4net.Appender.AppenderSkeleton.PreAppendCheck">
550             <summary>
551             Called before <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent)"/> as a precondition.
552             </summary>
553             <remarks>
554             <para>
555             This method is called by <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/>
556             before the call to the abstract <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent)"/> method.
557             </para>
558             <para>
559             This method can be overridden in a subclass to extend the checks 
560             made before the event is passed to the <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent)"/> method.
561             </para>
562             <para>
563             A subclass should ensure that they delegate this call to
564             this base class if it is overridden.
565             </para>
566             </remarks>
567             <returns><c>true</c> if the call to <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent)"/> should proceed.</returns>
568         </member>
569         <member name="M:log4net.Appender.AppenderSkeleton.RenderLoggingEvent(log4net.Core.LoggingEvent)">
570             <summary>
571             Renders the <see cref="T:log4net.Core.LoggingEvent"/> to a string.
572             </summary>
573             <param name="loggingEvent">The event to render.</param>
574             <returns>The event rendered as a string.</returns>
575             <remarks>
576             <para>
577             Helper method to render a <see cref="T:log4net.Core.LoggingEvent"/> to 
578             a string. This appender must have a <see cref="P:log4net.Appender.AppenderSkeleton.Layout"/>
579             set to render the <paramref name="loggingEvent"/> to 
580             a string.
581             </para>
582             <para>If there is exception data in the logging event and 
583             the layout does not process the exception, this method 
584             will append the exception text to the rendered string.
585             </para>
586             <para>
587             Where possible use the alternative version of this method
588             <see cref="M:log4net.Appender.AppenderSkeleton.RenderLoggingEvent(System.IO.TextWriter,log4net.Core.LoggingEvent)"/>.
589             That method streams the rendering onto an existing Writer
590             which can give better performance if the caller already has
591             a <see cref="T:System.IO.TextWriter"/> open and ready for writing.
592             </para>
593             </remarks>
594         </member>
595         <member name="M:log4net.Appender.AppenderSkeleton.RenderLoggingEvent(System.IO.TextWriter,log4net.Core.LoggingEvent)">
596             <summary>
597             Renders the <see cref="T:log4net.Core.LoggingEvent"/> to a string.
598             </summary>
599             <param name="loggingEvent">The event to render.</param>
600             <param name="writer">The TextWriter to write the formatted event to</param>
601             <remarks>
602             <para>
603             Helper method to render a <see cref="T:log4net.Core.LoggingEvent"/> to 
604             a string. This appender must have a <see cref="P:log4net.Appender.AppenderSkeleton.Layout"/>
605             set to render the <paramref name="loggingEvent"/> to 
606             a string.
607             </para>
608             <para>If there is exception data in the logging event and 
609             the layout does not process the exception, this method 
610             will append the exception text to the rendered string.
611             </para>
612             <para>
613             Use this method in preference to <see cref="M:log4net.Appender.AppenderSkeleton.RenderLoggingEvent(log4net.Core.LoggingEvent)"/>
614             where possible. If, however, the caller needs to render the event
615             to a string then <see cref="M:log4net.Appender.AppenderSkeleton.RenderLoggingEvent(log4net.Core.LoggingEvent)"/> does
616             provide an efficient mechanism for doing so.
617             </para>
618             </remarks>
619         </member>
620         <member name="F:log4net.Appender.AppenderSkeleton.m_layout">
621             <summary>
622             The layout of this appender.
623             </summary>
624             <remarks>
625             See <see cref="P:log4net.Appender.AppenderSkeleton.Layout"/> for more information.
626             </remarks>
627         </member>
628         <member name="F:log4net.Appender.AppenderSkeleton.m_name">
629             <summary>
630             The name of this appender.
631             </summary>
632             <remarks>
633             See <see cref="P:log4net.Appender.AppenderSkeleton.Name"/> for more information.
634             </remarks>
635         </member>
636         <member name="F:log4net.Appender.AppenderSkeleton.m_threshold">
637             <summary>
638             The level threshold of this appender.
639             </summary>
640             <remarks>
641             <para>
642             There is no level threshold filtering by default.
643             </para>
644             <para>
645             See <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/> for more information.
646             </para>
647             </remarks>
648         </member>
649         <member name="F:log4net.Appender.AppenderSkeleton.m_errorHandler">
650             <summary>
651             It is assumed and enforced that errorHandler is never null.
652             </summary>
653             <remarks>
654             <para>
655             It is assumed and enforced that errorHandler is never null.
656             </para>
657             <para>
658             See <see cref="P:log4net.Appender.AppenderSkeleton.ErrorHandler"/> for more information.
659             </para>
660             </remarks>
661         </member>
662         <member name="F:log4net.Appender.AppenderSkeleton.m_headFilter">
663             <summary>
664             The first filter in the filter chain.
665             </summary>
666             <remarks>
667             <para>
668             Set to <c>null</c> initially.
669             </para>
670             <para>
671             See <see cref="T:log4net.Filter.IFilter"/> for more information.
672             </para>
673             </remarks>
674         </member>
675         <member name="F:log4net.Appender.AppenderSkeleton.m_tailFilter">
676             <summary>
677             The last filter in the filter chain.
678             </summary>
679             <remarks>
680             See <see cref="T:log4net.Filter.IFilter"/> for more information.
681             </remarks>
682         </member>
683         <member name="F:log4net.Appender.AppenderSkeleton.m_closed">
684             <summary>
685             Flag indicating if this appender is closed.
686             </summary>
687             <remarks>
688             See <see cref="M:log4net.Appender.AppenderSkeleton.Close"/> for more information.
689             </remarks>
690         </member>
691         <member name="F:log4net.Appender.AppenderSkeleton.m_recursiveGuard">
692             <summary>
693             The guard prevents an appender from repeatedly calling its own DoAppend method
694             </summary>
695         </member>
696         <member name="F:log4net.Appender.AppenderSkeleton.m_renderWriter">
697             <summary>
698             StringWriter used to render events
699             </summary>
700         </member>
701         <member name="P:log4net.Appender.AppenderSkeleton.Threshold">
702             <summary>
703             Gets or sets the threshold <see cref="T:log4net.Core.Level"/> of this appender.
704             </summary>
705             <value>
706             The threshold <see cref="T:log4net.Core.Level"/> of the appender. 
707             </value>
708             <remarks>
709             <para>
710             All log events with lower level than the threshold level are ignored 
711             by the appender.
712             </para>
713             <para>
714             In configuration files this option is specified by setting the
715             value of the <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/> option to a level
716             string, such as "DEBUG", "INFO" and so on.
717             </para>
718             </remarks>
719         </member>
720         <member name="P:log4net.Appender.AppenderSkeleton.ErrorHandler">
721             <summary>
722             Gets or sets the <see cref="T:log4net.Core.IErrorHandler"/> for this appender.
723             </summary>
724             <value>The <see cref="T:log4net.Core.IErrorHandler"/> of the appender</value>
725             <remarks>
726             <para>
727             The <see cref="T:log4net.Appender.AppenderSkeleton"/> provides a default 
728             implementation for the <see cref="P:log4net.Appender.AppenderSkeleton.ErrorHandler"/> property. 
729             </para>
730             </remarks>
731         </member>
732         <member name="P:log4net.Appender.AppenderSkeleton.FilterHead">
733             <summary>
734             The filter chain.
735             </summary>
736             <value>The head of the filter chain filter chain.</value>
737             <remarks>
738             <para>
739             Returns the head Filter. The Filters are organized in a linked list
740             and so all Filters on this Appender are available through the result.
741             </para>
742             </remarks>
743         </member>
744         <member name="P:log4net.Appender.AppenderSkeleton.Layout">
745             <summary>
746             Gets or sets the <see cref="T:log4net.Layout.ILayout"/> for this appender.
747             </summary>
748             <value>The layout of the appender.</value>
749             <remarks>
750             <para>
751             See <see cref="P:log4net.Appender.AppenderSkeleton.RequiresLayout"/> for more information.
752             </para>
753             </remarks>
754             <seealso cref="P:log4net.Appender.AppenderSkeleton.RequiresLayout"/>
755         </member>
756         <member name="P:log4net.Appender.AppenderSkeleton.Name">
757             <summary>
758             Gets or sets the name of this appender.
759             </summary>
760             <value>The name of the appender.</value>
761             <remarks>
762             <para>
763             The name uniquely identifies the appender.
764             </para>
765             </remarks>
766         </member>
767         <member name="P:log4net.Appender.AppenderSkeleton.RequiresLayout">
768             <summary>
769             Tests if this appender requires a <see cref="P:log4net.Appender.AppenderSkeleton.Layout"/> to be set.
770             </summary>
771             <remarks>
772             <para>
773             In the rather exceptional case, where the appender 
774             implementation admits a layout but can also work without it, 
775             then the appender should return <c>true</c>.
776             </para>
777             <para>
778             This default implementation always returns <c>true</c>.
779             </para>
780             </remarks>
781             <returns>
782             <c>true</c> if the appender requires a layout object, otherwise <c>false</c>.
783             </returns>
784         </member>
785         <member name="F:log4net.Appender.BufferingAppenderSkeleton.DEFAULT_BUFFER_SIZE">
786             <summary>
787             The default buffer size.
788             </summary>
789             <remarks>
790             The default size of the cyclic buffer used to store events.
791             This is set to 512 by default.
792             </remarks>
793         </member>
794         <member name="M:log4net.Appender.BufferingAppenderSkeleton.#ctor">
795             <summary>
796             Initializes a new instance of the <see cref="T:log4net.Appender.BufferingAppenderSkeleton"/> class.
797             </summary>
798             <remarks>
799             <para>
800             Protected default constructor to allow subclassing.
801             </para>
802             </remarks>
803         </member>
804         <member name="M:log4net.Appender.BufferingAppenderSkeleton.#ctor(System.Boolean)">
805             <summary>
806             Initializes a new instance of the <see cref="T:log4net.Appender.BufferingAppenderSkeleton"/> class.
807             </summary>
808             <param name="eventMustBeFixed">the events passed through this appender must be
809             fixed by the time that they arrive in the derived class' <c>SendBuffer</c> method.</param>
810             <remarks>
811             <para>
812             Protected constructor to allow subclassing.
813             </para>
814             <para>
815             The <paramref name="eventMustBeFixed"/> should be set if the subclass
816             expects the events delivered to be fixed even if the 
817             <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> is set to zero, i.e. when no buffering occurs.
818             </para>
819             </remarks>
820         </member>
821         <member name="M:log4net.Appender.BufferingAppenderSkeleton.Flush">
822             <summary>
823             Flush the currently buffered events
824             </summary>
825             <remarks>
826             <para>
827             Flushes any events that have been buffered.
828             </para>
829             <para>
830             If the appender is buffering in <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> mode then the contents
831             of the buffer will NOT be flushed to the appender.
832             </para>
833             </remarks>
834         </member>
835         <member name="M:log4net.Appender.BufferingAppenderSkeleton.Flush(System.Boolean)">
836             <summary>
837             Flush the currently buffered events
838             </summary>
839             <param name="flushLossyBuffer">set to <c>true</c> to flush the buffer of lossy events</param>
840             <remarks>
841             <para>
842             Flushes events that have been buffered. If <paramref name="flushLossyBuffer"/> is
843             <c>false</c> then events will only be flushed if this buffer is non-lossy mode.
844             </para>
845             <para>
846             If the appender is buffering in <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> mode then the contents
847             of the buffer will only be flushed if <paramref name="flushLossyBuffer"/> is <c>true</c>.
848             In this case the contents of the buffer will be tested against the 
849             <see cref="P:log4net.Appender.BufferingAppenderSkeleton.LossyEvaluator"/> and if triggering will be output. All other buffered
850             events will be discarded.
851             </para>
852             <para>
853             If <paramref name="flushLossyBuffer"/> is <c>true</c> then the buffer will always
854             be emptied by calling this method.
855             </para>
856             </remarks>
857         </member>
858         <member name="M:log4net.Appender.BufferingAppenderSkeleton.ActivateOptions">
859             <summary>
860             Initialize the appender based on the options set
861             </summary>
862             <remarks>
863             <para>
864             This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
865             activation scheme. The <see cref="M:log4net.Appender.BufferingAppenderSkeleton.ActivateOptions"/> method must 
866             be called on this object after the configuration properties have
867             been set. Until <see cref="M:log4net.Appender.BufferingAppenderSkeleton.ActivateOptions"/> is called this
868             object is in an undefined state and must not be used. 
869             </para>
870             <para>
871             If any of the configuration properties are modified then 
872             <see cref="M:log4net.Appender.BufferingAppenderSkeleton.ActivateOptions"/> must be called again.
873             </para>
874             </remarks>
875         </member>
876         <member name="M:log4net.Appender.BufferingAppenderSkeleton.OnClose">
877             <summary>
878             Close this appender instance.
879             </summary>
880             <remarks>
881             <para>
882             Close this appender instance. If this appender is marked
883             as not <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> then the remaining events in 
884             the buffer must be sent when the appender is closed.
885             </para>
886             </remarks>
887         </member>
888         <member name="M:log4net.Appender.BufferingAppenderSkeleton.Append(log4net.Core.LoggingEvent)">
889             <summary>
890             This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/> method. 
891             </summary>
892             <param name="loggingEvent">the event to log</param>
893             <remarks>
894             <para>
895             Stores the <paramref name="loggingEvent"/> in the cyclic buffer.
896             </para>
897             <para>
898             The buffer will be sent (i.e. passed to the <see cref="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.Core.LoggingEvent[])"/> 
899             method) if one of the following conditions is met:
900             </para>
901             <list type="bullet">
902                 <item>
903                         <description>The cyclic buffer is full and this appender is
904                         marked as not lossy (see <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/>)</description>
905                 </item>
906                 <item>
907                         <description>An <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> is set and
908                         it is triggered for the <paramref name="loggingEvent"/>
909                         specified.</description>
910                 </item>
911             </list>
912             <para>
913             Before the event is stored in the buffer it is fixed
914             (see <see cref="M:log4net.Core.LoggingEvent.FixVolatileData(log4net.Core.FixFlags)"/>) to ensure that
915             any data referenced by the event will be valid when the buffer
916             is processed.
917             </para>
918             </remarks>
919         </member>
920         <member name="M:log4net.Appender.BufferingAppenderSkeleton.SendFromBuffer(log4net.Core.LoggingEvent,log4net.Util.CyclicBuffer)">
921             <summary>
922             Sends the contents of the buffer.
923             </summary>
924             <param name="firstLoggingEvent">The first logging event.</param>
925             <param name="buffer">The buffer containing the events that need to be send.</param>
926             <remarks>
927             <para>
928             The subclass must override <see cref="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.Core.LoggingEvent[])"/>.
929             </para>
930             </remarks>
931         </member>
932         <member name="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.Core.LoggingEvent[])">
933             <summary>
934             Sends the events.
935             </summary>
936             <param name="events">The events that need to be send.</param>
937             <remarks>
938             <para>
939             The subclass must override this method to process the buffered events.
940             </para>
941             </remarks>
942         </member>
943         <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_bufferSize">
944             <summary>
945             The size of the cyclic buffer used to hold the logging events.
946             </summary>
947             <remarks>
948             Set to <see cref="F:log4net.Appender.BufferingAppenderSkeleton.DEFAULT_BUFFER_SIZE"/> by default.
949             </remarks>
950         </member>
951         <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_cb">
952             <summary>
953             The cyclic buffer used to store the logging events.
954             </summary>
955         </member>
956         <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_evaluator">
957             <summary>
958             The triggering event evaluator that causes the buffer to be sent immediately.
959             </summary>
960             <remarks>
961             The object that is used to determine if an event causes the entire
962             buffer to be sent immediately. This field can be <c>null</c>, which 
963             indicates that event triggering is not to be done. The evaluator
964             can be set using the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> property. If this appender
965             has the <see cref="F:log4net.Appender.BufferingAppenderSkeleton.m_lossy"/> (<see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> property) set to 
966             <c>true</c> then an <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> must be set.
967             </remarks>
968         </member>
969         <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_lossy">
970             <summary>
971             Indicates if the appender should overwrite events in the cyclic buffer 
972             when it becomes full, or if the buffer should be flushed when the 
973             buffer is full.
974             </summary>
975             <remarks>
976             If this field is set to <c>true</c> then an <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> must 
977             be set.
978             </remarks>
979         </member>
980         <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_lossyEvaluator">
981             <summary>
982             The triggering event evaluator filters discarded events.
983             </summary>
984             <remarks>
985             The object that is used to determine if an event that is discarded should
986             really be discarded or if it should be sent to the appenders. 
987             This field can be <c>null</c>, which indicates that all discarded events will
988             be discarded. 
989             </remarks>
990         </member>
991         <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_fixFlags">
992             <summary>
993             Value indicating which fields in the event should be fixed
994             </summary>
995             <remarks>
996             By default all fields are fixed
997             </remarks>
998         </member>
999         <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_eventMustBeFixed">
1000             <summary>
1001             The events delivered to the subclass must be fixed.
1002             </summary>
1003         </member>
1004         <member name="P:log4net.Appender.BufferingAppenderSkeleton.Lossy">
1005             <summary>
1006             Gets or sets a value that indicates whether the appender is lossy.
1007             </summary>
1008             <value>
1009             <c>true</c> if the appender is lossy, otherwise <c>false</c>. The default is <c>false</c>.
1010             </value>
1011             <remarks>
1012             <para>
1013             This appender uses a buffer to store logging events before 
1014             delivering them. A triggering event causes the whole buffer
1015             to be send to the remote sink. If the buffer overruns before
1016             a triggering event then logging events could be lost. Set
1017             <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> to <c>false</c> to prevent logging events 
1018             from being lost.
1019             </para>
1020             <para>If <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> is set to <c>true</c> then an
1021             <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> must be specified.</para>
1022             </remarks>
1023         </member>
1024         <member name="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize">
1025             <summary>
1026             Gets or sets the size of the cyclic buffer used to hold the 
1027             logging events.
1028             </summary>
1029             <value>
1030             The size of the cyclic buffer used to hold the logging events.
1031             </value>
1032             <remarks>
1033             <para>
1034             The <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> option takes a positive integer
1035             representing the maximum number of logging events to collect in 
1036             a cyclic buffer. When the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> is reached,
1037             oldest events are deleted as new events are added to the
1038             buffer. By default the size of the cyclic buffer is 512 events.
1039             </para>
1040             <para>
1041             If the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> is set to a value less than
1042             or equal to 1 then no buffering will occur. The logging event
1043             will be delivered synchronously (depending on the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/>
1044             and <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> properties). Otherwise the event will
1045             be buffered.
1046             </para>
1047             </remarks>
1048         </member>
1049         <member name="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator">
1050             <summary>
1051             Gets or sets the <see cref="T:log4net.Core.ITriggeringEventEvaluator"/> that causes the 
1052             buffer to be sent immediately.
1053             </summary>
1054             <value>
1055             The <see cref="T:log4net.Core.ITriggeringEventEvaluator"/> that causes the buffer to be
1056             sent immediately.
1057             </value>
1058             <remarks>
1059             <para>
1060             The evaluator will be called for each event that is appended to this 
1061             appender. If the evaluator triggers then the current buffer will 
1062             immediately be sent (see <see cref="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.Core.LoggingEvent[])"/>).
1063             </para>
1064             <para>If <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> is set to <c>true</c> then an
1065             <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> must be specified.</para>
1066             </remarks>
1067         </member>
1068         <member name="P:log4net.Appender.BufferingAppenderSkeleton.LossyEvaluator">
1069             <summary>
1070             Gets or sets the value of the <see cref="T:log4net.Core.ITriggeringEventEvaluator"/> to use.
1071             </summary>
1072             <value>
1073             The value of the <see cref="T:log4net.Core.ITriggeringEventEvaluator"/> to use.
1074             </value>
1075             <remarks>
1076             <para>
1077             The evaluator will be called for each event that is discarded from this 
1078             appender. If the evaluator triggers then the current buffer will immediately 
1079             be sent (see <see cref="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.Core.LoggingEvent[])"/>).
1080             </para>
1081             </remarks>
1082         </member>
1083         <member name="P:log4net.Appender.BufferingAppenderSkeleton.OnlyFixPartialEventData">
1084             <summary>
1085             Gets or sets a value indicating if only part of the logging event data
1086             should be fixed.
1087             </summary>
1088             <value>
1089             <c>true</c> if the appender should only fix part of the logging event 
1090             data, otherwise <c>false</c>. The default is <c>false</c>.
1091             </value>
1092             <remarks>
1093             <para>
1094             Setting this property to <c>true</c> will cause only part of the
1095             event data to be fixed and serialized. This will improve performance.
1096             </para>
1097             <para>
1098             See <see cref="M:log4net.Core.LoggingEvent.FixVolatileData(log4net.Core.FixFlags)"/> for more information.
1099             </para>
1100             </remarks>
1101         </member>
1102         <member name="P:log4net.Appender.BufferingAppenderSkeleton.Fix">
1103             <summary>
1104             Gets or sets a the fields that will be fixed in the event
1105             </summary>
1106             <value>
1107             The event fields that will be fixed before the event is buffered
1108             </value>
1109             <remarks>
1110             <para>
1111             The logging event needs to have certain thread specific values 
1112             captured before it can be buffered. See <see cref="P:log4net.Core.LoggingEvent.Fix"/>
1113             for details.
1114             </para>
1115             </remarks>
1116             <seealso cref="P:log4net.Core.LoggingEvent.Fix"/>
1117         </member>
1118         <member name="M:log4net.Appender.AdoNetAppender.#ctor">
1119             <summary> 
1120             Initializes a new instance of the <see cref="T:log4net.Appender.AdoNetAppender"/> class.
1121             </summary>
1122             <remarks>
1123             Public default constructor to initialize a new instance of this class.
1124             </remarks>
1125         </member>
1126         <member name="M:log4net.Appender.AdoNetAppender.ActivateOptions">
1127             <summary>
1128             Initialize the appender based on the options set
1129             </summary>
1130             <remarks>
1131             <para>
1132             This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
1133             activation scheme. The <see cref="M:log4net.Appender.AdoNetAppender.ActivateOptions"/> method must 
1134             be called on this object after the configuration properties have
1135             been set. Until <see cref="M:log4net.Appender.AdoNetAppender.ActivateOptions"/> is called this
1136             object is in an undefined state and must not be used. 
1137             </para>
1138             <para>
1139             If any of the configuration properties are modified then 
1140             <see cref="M:log4net.Appender.AdoNetAppender.ActivateOptions"/> must be called again.
1141             </para>
1142             </remarks>
1143         </member>
1144         <member name="M:log4net.Appender.AdoNetAppender.OnClose">
1145             <summary>
1146             Override the parent method to close the database
1147             </summary>
1148             <remarks>
1149             <para>
1150             Closes the database command and database connection.
1151             </para>
1152             </remarks>
1153         </member>
1154         <member name="M:log4net.Appender.AdoNetAppender.SendBuffer(log4net.Core.LoggingEvent[])">
1155             <summary>
1156             Inserts the events into the database.
1157             </summary>
1158             <param name="events">The events to insert into the database.</param>
1159             <remarks>
1160             <para>
1161             Insert all the events specified in the <paramref name="events"/>
1162             array into the database.
1163             </para>
1164             </remarks>
1165         </member>
1166         <member name="M:log4net.Appender.AdoNetAppender.AddParameter(log4net.Appender.AdoNetAppenderParameter)">
1167             <summary>
1168             Adds a parameter to the command.
1169             </summary>
1170             <param name="parameter">The parameter to add to the command.</param>
1171             <remarks>
1172             <para>
1173             Adds a parameter to the ordered list of command parameters.
1174             </para>
1175             </remarks>
1176         </member>
1177         <member name="M:log4net.Appender.AdoNetAppender.SendBuffer(System.Data.IDbTransaction,log4net.Core.LoggingEvent[])">
1178             <summary>
1179             Writes the events to the database using the transaction specified.
1180             </summary>
1181             <param name="dbTran">The transaction that the events will be executed under.</param>
1182             <param name="events">The array of events to insert into the database.</param>
1183             <remarks>
1184             <para>
1185             The transaction argument can be <c>null</c> if the appender has been
1186             configured not to use transactions. See <see cref="P:log4net.Appender.AdoNetAppender.UseTransactions"/>
1187             property for more information.
1188             </para>
1189             </remarks>
1190         </member>
1191         <member name="M:log4net.Appender.AdoNetAppender.GetLogStatement(log4net.Core.LoggingEvent)">
1192             <summary>
1193             Formats the log message into database statement text.
1194             </summary>
1195             <param name="logEvent">The event being logged.</param>
1196             <remarks>
1197             This method can be overridden by subclasses to provide 
1198             more control over the format of the database statement.
1199             </remarks>
1200             <returns>
1201             Text that can be passed to a <see cref="T:System.Data.IDbCommand"/>.
1202             </returns>
1203         </member>
1204         <member name="M:log4net.Appender.AdoNetAppender.InitializeDatabaseConnection">
1205             <summary>
1206             Connects to the database.
1207             </summary>          
1208         </member>
1209         <member name="M:log4net.Appender.AdoNetAppender.ResolveConnectionType">
1210             <summary>
1211             Retrieves the class type of the ADO.NET provider.
1212             </summary>
1213             <remarks>
1214             <para>
1215             Gets the Type of the ADO.NET provider to use to connect to the
1216             database. This method resolves the type specified in the 
1217             <see cref="P:log4net.Appender.AdoNetAppender.ConnectionType"/> property.
1218             </para>
1219             <para>
1220             Subclasses can override this method to return a different type
1221             if necessary.
1222             </para>
1223             </remarks>
1224             <returns>The <see cref="T:System.Type"/> of the ADO.NET provider</returns>
1225         </member>
1226         <member name="M:log4net.Appender.AdoNetAppender.InitializeDatabaseCommand">
1227             <summary>
1228             Prepares the database command and initialize the parameters.
1229             </summary>
1230         </member>
1231         <member name="F:log4net.Appender.AdoNetAppender.m_usePreparedCommand">
1232             <summary>
1233             Flag to indicate if we are using a command object
1234             </summary>
1235             <remarks>
1236             <para>
1237             Set to <c>true</c> when the appender is to use a prepared
1238             statement or stored procedure to insert into the database.
1239             </para>
1240             </remarks>
1241         </member>
1242         <member name="F:log4net.Appender.AdoNetAppender.m_parameters">
1243             <summary>
1244             The list of <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> objects.
1245             </summary>
1246             <remarks>
1247             <para>
1248             The list of <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> objects.
1249             </para>
1250             </remarks>
1251         </member>
1252         <member name="F:log4net.Appender.AdoNetAppender.m_securityContext">
1253             <summary>
1254             The security context to use for privileged calls
1255             </summary>
1256         </member>
1257         <member name="F:log4net.Appender.AdoNetAppender.m_dbConnection">
1258             <summary>
1259             The <see cref="T:System.Data.IDbConnection"/> that will be used
1260             to insert logging events into a database.
1261             </summary>
1262         </member>
1263         <member name="F:log4net.Appender.AdoNetAppender.m_dbCommand">
1264             <summary>
1265             The database command.
1266             </summary>
1267         </member>
1268         <member name="F:log4net.Appender.AdoNetAppender.m_connectionString">
1269             <summary>
1270             Database connection string.
1271             </summary>
1272         </member>
1273         <member name="F:log4net.Appender.AdoNetAppender.m_connectionType">
1274             <summary>
1275             String type name of the <see cref="T:System.Data.IDbConnection"/> type name.
1276             </summary>
1277         </member>
1278         <member name="F:log4net.Appender.AdoNetAppender.m_commandText">
1279             <summary>
1280             The text of the command.
1281             </summary>
1282         </member>
1283         <member name="F:log4net.Appender.AdoNetAppender.m_commandType">
1284             <summary>
1285             The command type.
1286             </summary>
1287         </member>
1288         <member name="F:log4net.Appender.AdoNetAppender.m_useTransactions">
1289             <summary>
1290             Indicates whether to use transactions when writing to the database.
1291             </summary>
1292         </member>
1293         <member name="F:log4net.Appender.AdoNetAppender.m_reconnectOnError">
1294             <summary>
1295             Indicates whether to use transactions when writing to the database.
1296             </summary>
1297         </member>
1298         <member name="P:log4net.Appender.AdoNetAppender.ConnectionString">
1299             <summary>
1300             Gets or sets the database connection string that is used to connect to 
1301             the database.
1302             </summary>
1303             <value>
1304             The database connection string used to connect to the database.
1305             </value>
1306             <remarks>
1307             <para>
1308             The connections string is specific to the connection type.
1309             See <see cref="P:log4net.Appender.AdoNetAppender.ConnectionType"/> for more information.
1310             </para>
1311             </remarks>
1312             <example>Connection string for MS Access via ODBC:
1313             <code>"DSN=MS Access Database;UID=admin;PWD=;SystemDB=C:\data\System.mdw;SafeTransactions = 0;FIL=MS Access;DriverID = 25;DBQ=C:\data\train33.mdb"</code>
1314             </example>
1315             <example>Another connection string for MS Access via ODBC:
1316             <code>"Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\Work\cvs_root\log4net-1.2\access.mdb;UID=;PWD=;"</code>
1317             </example>
1318             <example>Connection string for MS Access via OLE DB:
1319             <code>"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Work\cvs_root\log4net-1.2\access.mdb;User Id=;Password=;"</code>
1320             </example>
1321         </member>
1322         <member name="P:log4net.Appender.AdoNetAppender.ConnectionType">
1323             <summary>
1324             Gets or sets the type name of the <see cref="T:System.Data.IDbConnection"/> connection
1325             that should be created.
1326             </summary>
1327             <value>
1328             The type name of the <see cref="T:System.Data.IDbConnection"/> connection.
1329             </value>
1330             <remarks>
1331             <para>
1332             The type name of the ADO.NET provider to use.
1333             </para>
1334             <para>
1335             The default is to use the OLE DB provider.
1336             </para>
1337             </remarks>
1338             <example>Use the OLE DB Provider. This is the default value.
1339             <code>System.Data.OleDb.OleDbConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</code>
1340             </example>
1341             <example>Use the MS SQL Server Provider. 
1342             <code>System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</code>
1343             </example>
1344             <example>Use the ODBC Provider. 
1345             <code>Microsoft.Data.Odbc.OdbcConnection,Microsoft.Data.Odbc,version=1.0.3300.0,publicKeyToken=b77a5c561934e089,culture=neutral</code>
1346             This is an optional package that you can download from 
1347             <a href="http://msdn.microsoft.com/downloads">http://msdn.microsoft.com/downloads</a> 
1348             search for <b>ODBC .NET Data Provider</b>.
1349             </example>
1350             <example>Use the Oracle Provider. 
1351             <code>System.Data.OracleClient.OracleConnection, System.Data.OracleClient, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</code>
1352             This is an optional package that you can download from 
1353             <a href="http://msdn.microsoft.com/downloads">http://msdn.microsoft.com/downloads</a> 
1354             search for <b>.NET Managed Provider for Oracle</b>.
1355             </example>
1356         </member>
1357         <member name="P:log4net.Appender.AdoNetAppender.CommandText">
1358             <summary>
1359             Gets or sets the command text that is used to insert logging events
1360             into the database.
1361             </summary>
1362             <value>
1363             The command text used to insert logging events into the database.
1364             </value>
1365             <remarks>
1366             <para>
1367             Either the text of the prepared statement or the
1368             name of the stored procedure to execute to write into
1369             the database.
1370             </para>
1371             <para>
1372             The <see cref="P:log4net.Appender.AdoNetAppender.CommandType"/> property determines if
1373             this text is a prepared statement or a stored procedure.
1374             </para>
1375             </remarks>
1376         </member>
1377         <member name="P:log4net.Appender.AdoNetAppender.CommandType">
1378             <summary>
1379             Gets or sets the command type to execute.
1380             </summary>
1381             <value>
1382             The command type to execute.
1383             </value>
1384             <remarks>
1385             <para>
1386             This value may be either <see cref="F:System.Data.CommandType.Text"/> (<c>System.Data.CommandType.Text</c>) to specify
1387             that the <see cref="P:log4net.Appender.AdoNetAppender.CommandText"/> is a prepared statement to execute, 
1388             or <see cref="F:System.Data.CommandType.StoredProcedure"/> (<c>System.Data.CommandType.StoredProcedure</c>) to specify that the
1389             <see cref="P:log4net.Appender.AdoNetAppender.CommandText"/> property is the name of a stored procedure
1390             to execute.
1391             </para>
1392             <para>
1393             The default value is <see cref="F:System.Data.CommandType.Text"/> (<c>System.Data.CommandType.Text</c>).
1394             </para>
1395             </remarks>
1396         </member>
1397         <member name="P:log4net.Appender.AdoNetAppender.UseTransactions">
1398             <summary>
1399             Should transactions be used to insert logging events in the database.
1400             </summary>
1401             <value>
1402             <c>true</c> if transactions should be used to insert logging events in
1403             the database, otherwise <c>false</c>. The default value is <c>true</c>.
1404             </value>
1405             <remarks>
1406             <para>
1407             Gets or sets a value that indicates whether transactions should be used
1408             to insert logging events in the database.
1409             </para>
1410             <para>
1411             When set a single transaction will be used to insert the buffered events
1412             into the database. Otherwise each event will be inserted without using
1413             an explicit transaction.
1414             </para>
1415             </remarks>
1416         </member>
1417         <member name="P:log4net.Appender.AdoNetAppender.SecurityContext">
1418             <summary>
1419             Gets or sets the <see cref="P:log4net.Appender.AdoNetAppender.SecurityContext"/> used to call the NetSend method.
1420             </summary>
1421             <value>
1422             The <see cref="P:log4net.Appender.AdoNetAppender.SecurityContext"/> used to call the NetSend method.
1423             </value>
1424             <remarks>
1425             <para>
1426             Unless a <see cref="P:log4net.Appender.AdoNetAppender.SecurityContext"/> specified here for this appender
1427             the <see cref="P:log4net.Core.SecurityContextProvider.DefaultProvider"/> is queried for the
1428             security context to use. The default behavior is to use the security context
1429             of the current thread.
1430             </para>
1431             </remarks>
1432         </member>
1433         <member name="P:log4net.Appender.AdoNetAppender.ReconnectOnError">
1434             <summary>
1435             Should this appender try to reconnect to the database on error.
1436             </summary>
1437             <value>
1438             <c>true</c> if the appender should try to reconnect to the database after an
1439             error has occurred, otherwise <c>false</c>. The default value is <c>false</c>, 
1440             i.e. not to try to reconnect.
1441             </value>
1442             <remarks>
1443             <para>
1444             The default behaviour is for the appender not to try to reconnect to the
1445             database if an error occurs. Subsequent logging events are discarded.
1446             </para>
1447             <para>
1448             To force the appender to attempt to reconnect to the database set this
1449             property to <c>true</c>.
1450             </para>
1451             <note>
1452             When the appender attempts to connect to the database there may be a
1453             delay of up to the connection timeout specified in the connection string.
1454             This delay will block the calling application's thread. 
1455             Until the connection can be reestablished this potential delay may occur multiple times.
1456             </note>
1457             </remarks>
1458         </member>
1459         <member name="P:log4net.Appender.AdoNetAppender.Connection">
1460             <summary>
1461             Gets or sets the underlying <see cref="T:System.Data.IDbConnection"/>.
1462             </summary>
1463             <value>
1464             The underlying <see cref="T:System.Data.IDbConnection"/>.
1465             </value>
1466             <remarks>
1467             <see cref="T:log4net.Appender.AdoNetAppender"/> creates a <see cref="T:System.Data.IDbConnection"/> to insert 
1468             logging events into a database.  Classes deriving from <see cref="T:log4net.Appender.AdoNetAppender"/> 
1469             can use this property to get or set this <see cref="T:System.Data.IDbConnection"/>.  Use the 
1470             underlying <see cref="T:System.Data.IDbConnection"/> returned from <see cref="P:log4net.Appender.AdoNetAppender.Connection"/> if 
1471             you require access beyond that which <see cref="T:log4net.Appender.AdoNetAppender"/> provides.
1472             </remarks>
1473         </member>
1474         <member name="T:log4net.Appender.AdoNetAppenderParameter">
1475             <summary>
1476             Parameter type used by the <see cref="T:log4net.Appender.AdoNetAppender"/>.
1477             </summary>
1478             <remarks>
1479             <para>
1480             This class provides the basic database parameter properties
1481             as defined by the <see cref="T:System.Data.IDbDataParameter"/> interface.
1482             </para>
1483             <para>This type can be subclassed to provide database specific
1484             functionality. The two methods that are called externally are
1485             <see cref="M:log4net.Appender.AdoNetAppenderParameter.Prepare(System.Data.IDbCommand)"/> and <see cref="M:log4net.Appender.AdoNetAppenderParameter.FormatValue(System.Data.IDbCommand,log4net.Core.LoggingEvent)"/>.
1486             </para>
1487             </remarks>
1488         </member>
1489         <member name="M:log4net.Appender.AdoNetAppenderParameter.#ctor">
1490             <summary>
1491             Initializes a new instance of the <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> class.
1492             </summary>
1493             <remarks>
1494             Default constructor for the AdoNetAppenderParameter class.
1495             </remarks>
1496         </member>
1497         <member name="M:log4net.Appender.AdoNetAppenderParameter.Prepare(System.Data.IDbCommand)">
1498             <summary>
1499             Prepare the specified database command object.
1500             </summary>
1501             <param name="command">The command to prepare.</param>
1502             <remarks>
1503             <para>
1504             Prepares the database command object by adding
1505             this parameter to its collection of parameters.
1506             </para>
1507             </remarks>
1508         </member>
1509         <member name="M:log4net.Appender.AdoNetAppenderParameter.FormatValue(System.Data.IDbCommand,log4net.Core.LoggingEvent)">
1510             <summary>
1511             Renders the logging event and set the parameter value in the command.
1512             </summary>
1513             <param name="command">The command containing the parameter.</param>
1514             <param name="loggingEvent">The event to be rendered.</param>
1515             <remarks>
1516             <para>
1517             Renders the logging event using this parameters layout
1518             object. Sets the value of the parameter on the command object.
1519             </para>
1520             </remarks>
1521         </member>
1522         <member name="F:log4net.Appender.AdoNetAppenderParameter.m_parameterName">
1523             <summary>
1524             The name of this parameter.
1525             </summary>
1526         </member>
1527         <member name="F:log4net.Appender.AdoNetAppenderParameter.m_dbType">
1528             <summary>
1529             The database type for this parameter.
1530             </summary>
1531         </member>
1532         <member name="F:log4net.Appender.AdoNetAppenderParameter.m_inferType">
1533             <summary>
1534             Flag to infer type rather than use the DbType
1535             </summary>
1536         </member>
1537         <member name="F:log4net.Appender.AdoNetAppenderParameter.m_precision">
1538             <summary>
1539             The precision for this parameter.
1540             </summary>
1541         </member>
1542         <member name="F:log4net.Appender.AdoNetAppenderParameter.m_scale">
1543             <summary>
1544             The scale for this parameter.
1545             </summary>
1546         </member>
1547         <member name="F:log4net.Appender.AdoNetAppenderParameter.m_size">
1548             <summary>
1549             The size for this parameter.
1550             </summary>
1551         </member>
1552         <member name="F:log4net.Appender.AdoNetAppenderParameter.m_layout">
1553             <summary>
1554             The <see cref="T:log4net.Layout.IRawLayout"/> to use to render the
1555             logging event into an object for this parameter.
1556             </summary>
1557         </member>
1558         <member name="P:log4net.Appender.AdoNetAppenderParameter.ParameterName">
1559             <summary>
1560             Gets or sets the name of this parameter.
1561             </summary>
1562             <value>
1563             The name of this parameter.
1564             </value>
1565             <remarks>
1566             <para>
1567             The name of this parameter. The parameter name
1568             must match up to a named parameter to the SQL stored procedure
1569             or prepared statement.
1570             </para>
1571             </remarks>
1572         </member>
1573         <member name="P:log4net.Appender.AdoNetAppenderParameter.DbType">
1574             <summary>
1575             Gets or sets the database type for this parameter.
1576             </summary>
1577             <value>
1578             The database type for this parameter.
1579             </value>
1580             <remarks>
1581             <para>
1582             The database type for this parameter. This property should
1583             be set to the database type from the <see cref="P:log4net.Appender.AdoNetAppenderParameter.DbType"/>
1584             enumeration. See <see cref="P:System.Data.IDataParameter.DbType"/>.
1585             </para>
1586             <para>
1587             This property is optional. If not specified the ADO.NET provider 
1588             will attempt to infer the type from the value.
1589             </para>
1590             </remarks>
1591             <seealso cref="P:System.Data.IDataParameter.DbType"/>
1592         </member>
1593         <member name="P:log4net.Appender.AdoNetAppenderParameter.Precision">
1594             <summary>
1595             Gets or sets the precision for this parameter.
1596             </summary>
1597             <value>
1598             The precision for this parameter.
1599             </value>
1600             <remarks>
1601             <para>
1602             The maximum number of digits used to represent the Value.
1603             </para>
1604             <para>
1605             This property is optional. If not specified the ADO.NET provider 
1606             will attempt to infer the precision from the value.
1607             </para>
1608             </remarks>
1609             <seealso cref="P:System.Data.IDbDataParameter.Precision"/>
1610         </member>
1611         <member name="P:log4net.Appender.AdoNetAppenderParameter.Scale">
1612             <summary>
1613             Gets or sets the scale for this parameter.
1614             </summary>
1615             <value>
1616             The scale for this parameter.
1617             </value>
1618             <remarks>
1619             <para>
1620             The number of decimal places to which Value is resolved.
1621             </para>
1622             <para>
1623             This property is optional. If not specified the ADO.NET provider 
1624             will attempt to infer the scale from the value.
1625             </para>
1626             </remarks>
1627             <seealso cref="P:System.Data.IDbDataParameter.Scale"/>
1628         </member>
1629         <member name="P:log4net.Appender.AdoNetAppenderParameter.Size">
1630             <summary>
1631             Gets or sets the size for this parameter.
1632             </summary>
1633             <value>
1634             The size for this parameter.
1635             </value>
1636             <remarks>
1637             <para>
1638             The maximum size, in bytes, of the data within the column.
1639             </para>
1640             <para>
1641             This property is optional. If not specified the ADO.NET provider 
1642             will attempt to infer the size from the value.
1643             </para>
1644             </remarks>
1645             <seealso cref="P:System.Data.IDbDataParameter.Size"/>
1646         </member>
1647         <member name="P:log4net.Appender.AdoNetAppenderParameter.Layout">
1648             <summary>
1649             Gets or sets the <see cref="T:log4net.Layout.IRawLayout"/> to use to 
1650             render the logging event into an object for this 
1651             parameter.
1652             </summary>
1653             <value>
1654             The <see cref="T:log4net.Layout.IRawLayout"/> used to render the
1655             logging event into an object for this parameter.
1656             </value>
1657             <remarks>
1658             <para>
1659             The <see cref="T:log4net.Layout.IRawLayout"/> that renders the value for this
1660             parameter.
1661             </para>
1662             <para>
1663             The <see cref="T:log4net.Layout.RawLayoutConverter"/> can be used to adapt
1664             any <see cref="T:log4net.Layout.ILayout"/> into a <see cref="T:log4net.Layout.IRawLayout"/>
1665             for use in the property.
1666             </para>
1667             </remarks>
1668         </member>
1669         <member name="T:log4net.Appender.AnsiColorTerminalAppender">
1670             <summary>
1671             Appends logging events to the terminal using ANSI color escape sequences.
1672             </summary>
1673             <remarks>
1674             <para>
1675             AnsiColorTerminalAppender appends log events to the standard output stream
1676             or the error output stream using a layout specified by the 
1677             user. It also allows the color of a specific level of message to be set.
1678             </para>
1679             <note>
1680             This appender expects the terminal to understand the VT100 control set 
1681             in order to interpret the color codes. If the terminal or console does not
1682             understand the control codes the behavior is not defined.
1683             </note>
1684             <para>
1685             By default, all output is written to the console's standard output stream.
1686             The <see cref="P:log4net.Appender.AnsiColorTerminalAppender.Target"/> property can be set to direct the output to the
1687             error stream.
1688             </para>
1689             <para>
1690             NOTE: This appender writes each message to the <c>System.Console.Out</c> or 
1691             <c>System.Console.Error</c> that is set at the time the event is appended.
1692             Therefore it is possible to programmatically redirect the output of this appender 
1693             (for example NUnit does this to capture program output). While this is the desired
1694             behavior of this appender it may have security implications in your application. 
1695             </para>
1696             <para>
1697             When configuring the ANSI colored terminal appender, a mapping should be
1698             specified to map a logging level to a color. For example:
1699             </para>
1700             <code lang="XML" escaped="true">
1701             <mapping>
1702                 <level value="ERROR"/>
1703                 <foreColor value="White"/>
1704                 <backColor value="Red"/>
1705                 <attributes value="Bright,Underscore"/>
1706             </mapping>
1707             <mapping>
1708                 <level value="DEBUG"/>
1709                 <backColor value="Green"/>
1710             </mapping>
1711             </code>
1712             <para>
1713             The Level is the standard log4net logging level and ForeColor and BackColor can be any
1714             of the following values:
1715             <list type="bullet">
1716             <item><term>Blue</term><description></description></item>
1717             <item><term>Green</term><description></description></item>
1718             <item><term>Red</term><description></description></item>
1719             <item><term>White</term><description></description></item>
1720             <item><term>Yellow</term><description></description></item>
1721             <item><term>Purple</term><description></description></item>
1722             <item><term>Cyan</term><description></description></item>
1723             </list>
1724             These color values cannot be combined together to make new colors.
1725             </para>
1726             <para>
1727             The attributes can be any combination of the following:
1728             <list type="bullet">
1729             <item><term>Bright</term><description>foreground is brighter</description></item>
1730             <item><term>Dim</term><description>foreground is dimmer</description></item>
1731             <item><term>Underscore</term><description>message is underlined</description></item>
1732             <item><term>Blink</term><description>foreground is blinking (does not work on all terminals)</description></item>
1733             <item><term>Reverse</term><description>foreground and background are reversed</description></item>
1734             <item><term>Hidden</term><description>output is hidden</description></item>
1735             <item><term>Strikethrough</term><description>message has a line through it</description></item>
1736             </list>
1737             While any of these attributes may be combined together not all combinations
1738             work well together, for example setting both <i>Bright</i> and <i>Dim</i> attributes makes
1739             no sense.
1740             </para>
1741             </remarks>
1742             <author>Patrick Wagstrom</author>
1743             <author>Nicko Cadell</author>
1744         </member>
1745         <member name="F:log4net.Appender.AnsiColorTerminalAppender.ConsoleOut">
1746             <summary>
1747             The <see cref="P:log4net.Appender.AnsiColorTerminalAppender.Target"/> to use when writing to the Console 
1748             standard output stream.
1749             </summary>
1750             <remarks>
1751             <para>
1752             The <see cref="P:log4net.Appender.AnsiColorTerminalAppender.Target"/> to use when writing to the Console 
1753             standard output stream.
1754             </para>
1755             </remarks>
1756         </member>
1757         <member name="F:log4net.Appender.AnsiColorTerminalAppender.ConsoleError">
1758             <summary>
1759             The <see cref="P:log4net.Appender.AnsiColorTerminalAppender.Target"/> to use when writing to the Console 
1760             standard error output stream.
1761             </summary>
1762             <remarks>
1763             <para>
1764             The <see cref="P:log4net.Appender.AnsiColorTerminalAppender.Target"/> to use when writing to the Console 
1765             standard error output stream.
1766             </para>
1767             </remarks>
1768         </member>
1769         <member name="F:log4net.Appender.AnsiColorTerminalAppender.PostEventCodes">
1770             <summary>
1771             Ansi code to reset terminal
1772             </summary>
1773         </member>
1774         <member name="M:log4net.Appender.AnsiColorTerminalAppender.#ctor">
1775             <summary>
1776             Initializes a new instance of the <see cref="T:log4net.Appender.AnsiColorTerminalAppender"/> class.
1777             </summary>
1778             <remarks>
1779             The instance of the <see cref="T:log4net.Appender.AnsiColorTerminalAppender"/> class is set up to write 
1780             to the standard output stream.
1781             </remarks>
1782         </member>
1783         <member name="M:log4net.Appender.AnsiColorTerminalAppender.AddMapping(log4net.Appender.AnsiColorTerminalAppender.LevelColors)">
1784             <summary>
1785             Add a mapping of level to color
1786             </summary>
1787             <param name="mapping">The mapping to add</param>
1788             <remarks>
1789             <para>
1790             Add a <see cref="T:log4net.Appender.AnsiColorTerminalAppender.LevelColors"/> mapping to this appender.
1791             Each mapping defines the foreground and background colours
1792             for a level.
1793             </para>
1794             </remarks>
1795         </member>
1796         <member name="M:log4net.Appender.AnsiColorTerminalAppender.Append(log4net.Core.LoggingEvent)">
1797             <summary>
1798             This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/> method.
1799             </summary>
1800             <param name="loggingEvent">The event to log.</param>
1801             <remarks>
1802             <para>
1803             Writes the event to the console.
1804             </para>
1805             <para>
1806             The format of the output will depend on the appender's layout.
1807             </para>
1808             </remarks>
1809         </member>
1810         <member name="M:log4net.Appender.AnsiColorTerminalAppender.ActivateOptions">
1811             <summary>
1812             Initialize the options for this appender
1813             </summary>
1814             <remarks>
1815             <para>
1816             Initialize the level to color mappings set on this appender.
1817             </para>
1818             </remarks>
1819         </member>
1820         <member name="F:log4net.Appender.AnsiColorTerminalAppender.m_writeToErrorStream">
1821             <summary>
1822             Flag to write output to the error stream rather than the standard output stream
1823             </summary>
1824         </member>
1825         <member name="F:log4net.Appender.AnsiColorTerminalAppender.m_levelMapping">
1826             <summary>
1827             Mapping from level object to color value
1828             </summary>
1829         </member>
1830         <member name="P:log4net.Appender.AnsiColorTerminalAppender.Target">
1831             <summary>
1832             Target is the value of the console output stream.
1833             </summary>
1834             <value>
1835             Target is the value of the console output stream.
1836             This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
1837             </value>
1838             <remarks>
1839             <para>
1840             Target is the value of the console output stream.
1841             This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
1842             </para>
1843             </remarks>
1844         </member>
1845         <member name="P:log4net.Appender.AnsiColorTerminalAppender.RequiresLayout">
1846             <summary>
1847             This appender requires a <see cref="N:log4net.Layout"/> to be set.
1848             </summary>
1849             <value><c>true</c></value>
1850             <remarks>
1851             <para>
1852             This appender requires a <see cref="N:log4net.Layout"/> to be set.
1853             </para>
1854             </remarks>
1855         </member>
1856         <member name="T:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes">
1857             <summary>
1858             The enum of possible display attributes
1859             </summary>
1860             <remarks>
1861             <para>
1862             The following flags can be combined together to
1863             form the ANSI color attributes.
1864             </para>
1865             </remarks>
1866             <seealso cref="T:log4net.Appender.AnsiColorTerminalAppender"/>
1867         </member>
1868         <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes.Bright">
1869             <summary>
1870             text is bright
1871             </summary>
1872         </member>
1873         <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes.Dim">
1874             <summary>
1875             text is dim
1876             </summary>
1877         </member>
1878         <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes.Underscore">
1879             <summary>
1880             text is underlined
1881             </summary>
1882         </member>
1883         <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes.Blink">
1884             <summary>
1885             text is blinking
1886             </summary>
1887             <remarks>
1888             Not all terminals support this attribute
1889             </remarks>
1890         </member>
1891         <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes.Reverse">
1892             <summary>
1893             text and background colors are reversed
1894             </summary>
1895         </member>
1896         <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes.Hidden">
1897             <summary>
1898             text is hidden
1899             </summary>
1900         </member>
1901         <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes.Strikethrough">
1902             <summary>
1903             text is displayed with a strikethrough
1904             </summary>
1905         </member>
1906         <member name="T:log4net.Appender.AnsiColorTerminalAppender.AnsiColor">
1907             <summary>
1908             The enum of possible foreground or background color values for 
1909             use with the color mapping method
1910             </summary>
1911             <remarks>
1912             <para>
1913             The output can be in one for the following ANSI colors.
1914             </para>
1915             </remarks>
1916             <seealso cref="T:log4net.Appender.AnsiColorTerminalAppender"/>
1917         </member>
1918         <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.Black">
1919             <summary>
1920             color is black
1921             </summary>
1922         </member>
1923         <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.Red">
1924             <summary>
1925             color is red
1926             </summary>
1927         </member>
1928         <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.Green">
1929             <summary>
1930             color is green
1931             </summary>
1932         </member>
1933         <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.Yellow">
1934             <summary>
1935             color is yellow
1936             </summary>
1937         </member>
1938         <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.Blue">
1939             <summary>
1940             color is blue
1941             </summary>
1942         </member>
1943         <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.Magenta">
1944             <summary>
1945             color is magenta
1946             </summary>
1947         </member>
1948         <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.Cyan">
1949             <summary>
1950             color is cyan
1951             </summary>
1952         </member>
1953         <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.White">
1954             <summary>
1955             color is white
1956             </summary>
1957         </member>
1958         <member name="T:log4net.Appender.AnsiColorTerminalAppender.LevelColors">
1959             <summary>
1960             A class to act as a mapping between the level that a logging call is made at and
1961             the color it should be displayed as.
1962             </summary>
1963             <remarks>
1964             <para>
1965             Defines the mapping between a level and the color it should be displayed in.
1966             </para>
1967             </remarks>
1968         </member>
1969         <member name="T:log4net.Util.LevelMappingEntry">
1970             <summary>
1971             An entry in the <see cref="T:log4net.Util.LevelMapping"/>
1972             </summary>
1973             <remarks>
1974             <para>
1975             This is an abstract base class for types that are stored in the
1976             <see cref="T:log4net.Util.LevelMapping"/> object.
1977             </para>
1978             </remarks>
1979             <author>Nicko Cadell</author>
1980         </member>
1981         <member name="M:log4net.Util.LevelMappingEntry.#ctor">
1982             <summary>
1983             Default protected constructor
1984             </summary>
1985             <remarks>
1986             <para>
1987             Default protected constructor
1988             </para>
1989             </remarks>
1990         </member>
1991         <member name="M:log4net.Util.LevelMappingEntry.ActivateOptions">
1992             <summary>
1993             Initialize any options defined on this entry
1994             </summary>
1995             <remarks>
1996             <para>
1997             Should be overridden by any classes that need to initialise based on their options
1998             </para>
1999             </remarks>
2000         </member>
2001         <member name="P:log4net.Util.LevelMappingEntry.Level">
2002             <summary>
2003             The level that is the key for this mapping 
2004             </summary>
2005             <value>
2006             The <see cref="P:log4net.Util.LevelMappingEntry.Level"/> that is the key for this mapping 
2007             </value>
2008             <remarks>
2009             <para>
2010             Get or set the <see cref="P:log4net.Util.LevelMappingEntry.Level"/> that is the key for this
2011             mapping subclass.
2012             </para>
2013             </remarks>
2014         </member>
2015         <member name="M:log4net.Appender.AnsiColorTerminalAppender.LevelColors.ActivateOptions">
2016             <summary>
2017             Initialize the options for the object
2018             </summary>
2019             <remarks>
2020             <para>
2021             Combine the <see cref="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.ForeColor"/> and <see cref="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.BackColor"/> together
2022             and append the attributes.
2023             </para>
2024             </remarks>
2025         </member>
2026         <member name="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.ForeColor">
2027             <summary>
2028             The mapped foreground color for the specified level
2029             </summary>
2030             <remarks>
2031             <para>
2032             Required property.
2033             The mapped foreground color for the specified level
2034             </para>
2035             </remarks>
2036         </member>
2037         <member name="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.BackColor">
2038             <summary>
2039             The mapped background color for the specified level
2040             </summary>
2041             <remarks>
2042             <para>
2043             Required property.
2044             The mapped background color for the specified level
2045             </para>
2046             </remarks>
2047         </member>
2048         <member name="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.Attributes">
2049             <summary>
2050             The color attributes for the specified level
2051             </summary>
2052             <remarks>
2053             <para>
2054             Required property.
2055             The color attributes for the specified level
2056             </para>
2057             </remarks>
2058         </member>
2059         <member name="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.CombinedColor">
2060             <summary>
2061             The combined <see cref="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.ForeColor"/>, <see cref="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.BackColor"/> and
2062             <see cref="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.Attributes"/> suitable for setting the ansi terminal color.
2063             </summary>
2064         </member>
2065         <member name="T:log4net.Appender.AppenderCollection">
2066             <summary>
2067             A strongly-typed collection of <see cref="T:log4net.Appender.IAppender"/> objects.
2068             </summary>
2069             <author>Nicko Cadell</author>
2070         </member>
2071         <member name="M:log4net.Appender.AppenderCollection.ReadOnly(log4net.Appender.AppenderCollection)">
2072             <summary>
2073             Creates a read-only wrapper for a <c>AppenderCollection</c> instance.
2074             </summary>
2075             <param name="list">list to create a readonly wrapper arround</param>
2076             <returns>
2077             An <c>AppenderCollection</c> wrapper that is read-only.
2078             </returns>
2079         </member>
2080         <member name="F:log4net.Appender.AppenderCollection.EmptyCollection">
2081             <summary>
2082             An empty readonly static AppenderCollection
2083             </summary>
2084         </member>
2085         <member name="M:log4net.Appender.AppenderCollection.#ctor">
2086             <summary>
2087             Initializes a new instance of the <c>AppenderCollection</c> class
2088             that is empty and has the default initial capacity.
2089             </summary>
2090         </member>
2091         <member name="M:log4net.Appender.AppenderCollection.#ctor(System.Int32)">
2092             <summary>
2093             Initializes a new instance of the <c>AppenderCollection</c> class
2094             that has the specified initial capacity.
2095             </summary>
2096             <param name="capacity">
2097             The number of elements that the new <c>AppenderCollection</c> is initially capable of storing.
2098             </param>
2099         </member>
2100         <member name="M:log4net.Appender.AppenderCollection.#ctor(log4net.Appender.AppenderCollection)">
2101             <summary>
2102             Initializes a new instance of the <c>AppenderCollection</c> class
2103             that contains elements copied from the specified <c>AppenderCollection</c>.
2104             </summary>
2105             <param name="c">The <c>AppenderCollection</c> whose elements are copied to the new collection.</param>
2106         </member>
2107         <member name="M:log4net.Appender.AppenderCollection.#ctor(log4net.Appender.IAppender[])">
2108             <summary>
2109             Initializes a new instance of the <c>AppenderCollection</c> class
2110             that contains elements copied from the specified <see cref="T:log4net.Appender.IAppender"/> array.
2111             </summary>
2112             <param name="a">The <see cref="T:log4net.Appender.IAppender"/> array whose elements are copied to the new list.</param>
2113         </member>
2114         <member name="M:log4net.Appender.AppenderCollection.#ctor(System.Collections.ICollection)">
2115             <summary>
2116             Initializes a new instance of the <c>AppenderCollection</c> class
2117             that contains elements copied from the specified <see cref="T:log4net.Appender.IAppender"/> collection.
2118             </summary>
2119             <param name="col">The <see cref="T:log4net.Appender.IAppender"/> collection whose elements are copied to the new list.</param>
2120         </member>
2121         <member name="M:log4net.Appender.AppenderCollection.#ctor(log4net.Appender.AppenderCollection.Tag)">
2122             <summary>
2123             Allow subclasses to avoid our default constructors
2124             </summary>
2125             <param name="tag"></param>
2126             <exclude/>
2127         </member>
2128         <member name="M:log4net.Appender.AppenderCollection.CopyTo(log4net.Appender.IAppender[])">
2129             <summary>
2130             Copies the entire <c>AppenderCollection</c> to a one-dimensional
2131             <see cref="T:log4net.Appender.IAppender"/> array.
2132             </summary>
2133             <param name="array">The one-dimensional <see cref="T:log4net.Appender.IAppender"/> array to copy to.</param>
2134         </member>
2135         <member name="M:log4net.Appender.AppenderCollection.CopyTo(log4net.Appender.IAppender[],System.Int32)">
2136             <summary>
2137             Copies the entire <c>AppenderCollection</c> to a one-dimensional
2138             <see cref="T:log4net.Appender.IAppender"/> array, starting at the specified index of the target array.
2139             </summary>
2140             <param name="array">The one-dimensional <see cref="T:log4net.Appender.IAppender"/> array to copy to.</param>
2141             <param name="start">The zero-based index in <paramref name="array"/> at which copying begins.</param>
2142         </member>
2143         <member name="M:log4net.Appender.AppenderCollection.Add(log4net.Appender.IAppender)">
2144             <summary>
2145             Adds a <see cref="T:log4net.Appender.IAppender"/> to the end of the <c>AppenderCollection</c>.
2146             </summary>
2147             <param name="item">The <see cref="T:log4net.Appender.IAppender"/> to be added to the end of the <c>AppenderCollection</c>.</param>
2148             <returns>The index at which the value has been added.</returns>
2149         </member>
2150         <member name="M:log4net.Appender.AppenderCollection.Clear">
2151             <summary>
2152             Removes all elements from the <c>AppenderCollection</c>.
2153             </summary>
2154         </member>
2155         <member name="M:log4net.Appender.AppenderCollection.Clone">
2156             <summary>
2157             Creates a shallow copy of the <see cref="T:log4net.Appender.AppenderCollection"/>.
2158             </summary>
2159             <returns>A new <see cref="T:log4net.Appender.AppenderCollection"/> with a shallow copy of the collection data.</returns>
2160         </member>
2161         <member name="M:log4net.Appender.AppenderCollection.Contains(log4net.Appender.IAppender)">
2162             <summary>
2163             Determines whether a given <see cref="T:log4net.Appender.IAppender"/> is in the <c>AppenderCollection</c>.
2164             </summary>
2165             <param name="item">The <see cref="T:log4net.Appender.IAppender"/> to check for.</param>
2166             <returns><c>true</c> if <paramref name="item"/> is found in the <c>AppenderCollection</c>; otherwise, <c>false</c>.</returns>
2167         </member>
2168         <member name="M:log4net.Appender.AppenderCollection.IndexOf(log4net.Appender.IAppender)">
2169             <summary>
2170             Returns the zero-based index of the first occurrence of a <see cref="T:log4net.Appender.IAppender"/>
2171             in the <c>AppenderCollection</c>.
2172             </summary>
2173             <param name="item">The <see cref="T:log4net.Appender.IAppender"/> to locate in the <c>AppenderCollection</c>.</param>
2174             <returns>
2175             The zero-based index of the first occurrence of <paramref name="item"/> 
2176             in the entire <c>AppenderCollection</c>, if found; otherwise, -1.
2177             </returns>
2178         </member>
2179         <member name="M:log4net.Appender.AppenderCollection.Insert(System.Int32,log4net.Appender.IAppender)">
2180             <summary>
2181             Inserts an element into the <c>AppenderCollection</c> at the specified index.
2182             </summary>
2183             <param name="index">The zero-based index at which <paramref name="item"/> should be inserted.</param>
2184             <param name="item">The <see cref="T:log4net.Appender.IAppender"/> to insert.</param>
2185             <exception cref="T:System.ArgumentOutOfRangeException">
2186             <para><paramref name="index"/> is less than zero</para>
2187             <para>-or-</para>
2188             <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Appender.AppenderCollection.Count"/>.</para>
2189             </exception>
2190         </member>
2191         <member name="M:log4net.Appender.AppenderCollection.Remove(log4net.Appender.IAppender)">
2192             <summary>
2193             Removes the first occurrence of a specific <see cref="T:log4net.Appender.IAppender"/> from the <c>AppenderCollection</c>.
2194             </summary>
2195             <param name="item">The <see cref="T:log4net.Appender.IAppender"/> to remove from the <c>AppenderCollection</c>.</param>
2196             <exception cref="T:System.ArgumentException">
2197             The specified <see cref="T:log4net.Appender.IAppender"/> was not found in the <c>AppenderCollection</c>.
2198             </exception>
2199         </member>
2200         <member name="M:log4net.Appender.AppenderCollection.RemoveAt(System.Int32)">
2201             <summary>
2202             Removes the element at the specified index of the <c>AppenderCollection</c>.
2203             </summary>
2204             <param name="index">The zero-based index of the element to remove.</param>
2205             <exception cref="T:System.ArgumentOutOfRangeException">
2206             <para><paramref name="index"/> is less than zero</para>
2207             <para>-or-</para>
2208             <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Appender.AppenderCollection.Count"/>.</para>
2209             </exception>
2210         </member>
2211         <member name="M:log4net.Appender.AppenderCollection.GetEnumerator">
2212             <summary>
2213             Returns an enumerator that can iterate through the <c>AppenderCollection</c>.
2214             </summary>
2215             <returns>An <see cref="T:log4net.Appender.AppenderCollection.Enumerator"/> for the entire <c>AppenderCollection</c>.</returns>
2216         </member>
2217         <member name="M:log4net.Appender.AppenderCollection.AddRange(log4net.Appender.AppenderCollection)">
2218             <summary>
2219             Adds the elements of another <c>AppenderCollection</c> to the current <c>AppenderCollection</c>.
2220             </summary>
2221             <param name="x">The <c>AppenderCollection</c> whose elements should be added to the end of the current <c>AppenderCollection</c>.</param>
2222             <returns>The new <see cref="P:log4net.Appender.AppenderCollection.Count"/> of the <c>AppenderCollection</c>.</returns>
2223         </member>
2224         <member name="M:log4net.Appender.AppenderCollection.AddRange(log4net.Appender.IAppender[])">
2225             <summary>
2226             Adds the elements of a <see cref="T:log4net.Appender.IAppender"/> array to the current <c>AppenderCollection</c>.
2227             </summary>
2228             <param name="x">The <see cref="T:log4net.Appender.IAppender"/> array whose elements should be added to the end of the <c>AppenderCollection</c>.</param>
2229             <returns>The new <see cref="P:log4net.Appender.AppenderCollection.Count"/> of the <c>AppenderCollection</c>.</returns>
2230         </member>
2231         <member name="M:log4net.Appender.AppenderCollection.AddRange(System.Collections.ICollection)">
2232             <summary>
2233             Adds the elements of a <see cref="T:log4net.Appender.IAppender"/> collection to the current <c>AppenderCollection</c>.
2234             </summary>
2235             <param name="col">The <see cref="T:log4net.Appender.IAppender"/> collection whose elements should be added to the end of the <c>AppenderCollection</c>.</param>
2236             <returns>The new <see cref="P:log4net.Appender.AppenderCollection.Count"/> of the <c>AppenderCollection</c>.</returns>
2237         </member>
2238         <member name="M:log4net.Appender.AppenderCollection.TrimToSize">
2239             <summary>
2240             Sets the capacity to the actual number of elements.
2241             </summary>
2242         </member>
2243         <member name="M:log4net.Appender.AppenderCollection.ToArray">
2244             <summary>
2245             Return the collection elements as an array
2246             </summary>
2247             <returns>the array</returns>
2248         </member>
2249         <member name="M:log4net.Appender.AppenderCollection.ValidateIndex(System.Int32)">
2250             <exception cref="T:System.ArgumentOutOfRangeException">
2251             <para><paramref name="index"/> is less than zero</para>
2252             <para>-or-</para>
2253             <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Appender.AppenderCollection.Count"/>.</para>
2254             </exception>
2255         </member>
2256         <member name="M:log4net.Appender.AppenderCollection.ValidateIndex(System.Int32,System.Boolean)">
2257             <exception cref="T:System.ArgumentOutOfRangeException">
2258             <para><paramref name="index"/> is less than zero</para>
2259             <para>-or-</para>
2260             <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Appender.AppenderCollection.Count"/>.</para>
2261             </exception>
2262         </member>
2263         <member name="P:log4net.Appender.AppenderCollection.Count">
2264             <summary>
2265             Gets the number of elements actually contained in the <c>AppenderCollection</c>.
2266             </summary>
2267         </member>
2268         <member name="P:log4net.Appender.AppenderCollection.IsSynchronized">
2269             <summary>
2270             Gets a value indicating whether access to the collection is synchronized (thread-safe).
2271             </summary>
2272             <returns>true if access to the ICollection is synchronized (thread-safe); otherwise, false.</returns>
2273         </member>
2274         <member name="P:log4net.Appender.AppenderCollection.SyncRoot">
2275             <summary>
2276             Gets an object that can be used to synchronize access to the collection.
2277             </summary>
2278         </member>
2279         <member name="P:log4net.Appender.AppenderCollection.Item(System.Int32)">
2280             <summary>
2281             Gets or sets the <see cref="T:log4net.Appender.IAppender"/> at the specified index.
2282             </summary>
2283             <param name="index">The zero-based index of the element to get or set.</param>
2284             <exception cref="T:System.ArgumentOutOfRangeException">
2285                 <para><paramref name="index"/> is less than zero</para>
2286                 <para>-or-</para>
2287                 <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Appender.AppenderCollection.Count"/>.</para>
2288             </exception>
2289         </member>
2290         <member name="P:log4net.Appender.AppenderCollection.IsFixedSize">
2291             <summary>
2292             Gets a value indicating whether the collection has a fixed size.
2293             </summary>
2294             <value>true if the collection has a fixed size; otherwise, false. The default is false</value>
2295         </member>
2296         <member name="P:log4net.Appender.AppenderCollection.IsReadOnly">
2297             <summary>
2298             Gets a value indicating whether the IList is read-only.
2299             </summary>
2300             <value>true if the collection is read-only; otherwise, false. The default is false</value>
2301         </member>
2302         <member name="P:log4net.Appender.AppenderCollection.Capacity">
2303             <summary>
2304             Gets or sets the number of elements the <c>AppenderCollection</c> can contain.
2305             </summary>
2306         </member>
2307         <member name="T:log4net.Appender.AppenderCollection.IAppenderCollectionEnumerator">
2308             <summary>
2309             Supports type-safe iteration over a <see cref="T:log4net.Appender.AppenderCollection"/>.
2310             </summary>
2311             <exclude/>
2312         </member>
2313         <member name="M:log4net.Appender.AppenderCollection.IAppenderCollectionEnumerator.MoveNext">
2314             <summary>
2315             Advances the enumerator to the next element in the collection.
2316             </summary>
2317             <returns>
2318             <c>true</c> if the enumerator was successfully advanced to the next element; 
2319             <c>false</c> if the enumerator has passed the end of the collection.
2320             </returns>
2321             <exception cref="T:System.InvalidOperationException">
2322             The collection was modified after the enumerator was created.
2323             </exception>
2324         </member>
2325         <member name="M:log4net.Appender.AppenderCollection.IAppenderCollectionEnumerator.Reset">
2326             <summary>
2327             Sets the enumerator to its initial position, before the first element in the collection.
2328             </summary>
2329         </member>
2330         <member name="P:log4net.Appender.AppenderCollection.IAppenderCollectionEnumerator.Current">
2331             <summary>
2332             Gets the current element in the collection.
2333             </summary>
2334         </member>
2335         <member name="T:log4net.Appender.AppenderCollection.Tag">
2336             <summary>
2337             Type visible only to our subclasses
2338             Used to access protected constructor
2339             </summary>
2340             <exclude/>
2341         </member>
2342         <member name="F:log4net.Appender.AppenderCollection.Tag.Default">
2343             <summary>
2344             A value
2345             </summary>
2346         </member>
2347         <member name="T:log4net.Appender.AppenderCollection.Enumerator">
2348             <summary>
2349             Supports simple iteration over a <see cref="T:log4net.Appender.AppenderCollection"/>.
2350             </summary>
2351             <exclude/>
2352         </member>
2353         <member name="M:log4net.Appender.AppenderCollection.Enumerator.#ctor(log4net.Appender.AppenderCollection)">
2354             <summary>
2355             Initializes a new instance of the <c>Enumerator</c> class.
2356             </summary>
2357             <param name="tc"></param>
2358         </member>
2359         <member name="M:log4net.Appender.AppenderCollection.Enumerator.MoveNext">
2360             <summary>
2361             Advances the enumerator to the next element in the collection.
2362             </summary>
2363             <returns>
2364             <c>true</c> if the enumerator was successfully advanced to the next element; 
2365             <c>false</c> if the enumerator has passed the end of the collection.
2366             </returns>
2367             <exception cref="T:System.InvalidOperationException">
2368             The collection was modified after the enumerator was created.
2369             </exception>
2370         </member>
2371         <member name="M:log4net.Appender.AppenderCollection.Enumerator.Reset">
2372             <summary>
2373             Sets the enumerator to its initial position, before the first element in the collection.
2374             </summary>
2375         </member>
2376         <member name="P:log4net.Appender.AppenderCollection.Enumerator.Current">
2377             <summary>
2378             Gets the current element in the collection.
2379             </summary>
2380         </member>
2381         <member name="T:log4net.Appender.AppenderCollection.ReadOnlyAppenderCollection">
2382             <exclude/>
2383         </member>
2384         <member name="T:log4net.Appender.AspNetTraceAppender">
2385             <summary>
2386             <para>
2387             Appends log events to the ASP.NET <see cref="T:System.Web.TraceContext"/> system.
2388             </para>
2389             </summary>
2390             <remarks>
2391             <para>
2392             Diagnostic information and tracing messages that you specify are appended to the output 
2393             of the page that is sent to the requesting browser. Optionally, you can view this information
2394             from a separate trace viewer (Trace.axd) that displays trace information for every page in a 
2395             given application.
2396             </para>
2397             <para>
2398             Trace statements are processed and displayed only when tracing is enabled. You can control 
2399             whether tracing is displayed to a page, to the trace viewer, or both.
2400             </para>
2401             <para>
2402             The logging event is passed to the <see cref="M:System.Web.TraceContext.Write(System.String)"/> or 
2403             <see cref="M:System.Web.TraceContext.Warn(System.String)"/> method depending on the level of the logging event.
2404             </para>
2405             </remarks>
2406             <author>Nicko Cadell</author>
2407             <author>Gert Driesen</author>
2408         </member>
2409         <member name="M:log4net.Appender.AspNetTraceAppender.#ctor">
2410             <summary>
2411             Initializes a new instance of the <see cref="T:log4net.Appender.AspNetTraceAppender"/> class.
2412             </summary>
2413             <remarks>
2414             <para>
2415             Default constructor.
2416             </para>
2417             </remarks>
2418         </member>
2419         <member name="M:log4net.Appender.AspNetTraceAppender.Append(log4net.Core.LoggingEvent)">
2420             <summary>
2421             Write the logging event to the ASP.NET trace
2422             </summary>
2423             <param name="loggingEvent">the event to log</param>
2424             <remarks>
2425             <para>
2426             Write the logging event to the ASP.NET trace
2427             <c>HttpContext.Current.Trace</c> 
2428             (<see cref="T:System.Web.TraceContext"/>).
2429             </para>
2430             </remarks>
2431         </member>
2432         <member name="P:log4net.Appender.AspNetTraceAppender.RequiresLayout">
2433             <summary>
2434             This appender requires a <see cref="N:log4net.Layout"/> to be set.
2435             </summary>
2436             <value><c>true</c></value>
2437             <remarks>
2438             <para>
2439             This appender requires a <see cref="N:log4net.Layout"/> to be set.
2440             </para>
2441             </remarks>
2442         </member>
2443         <member name="T:log4net.Appender.BufferingForwardingAppender">
2444             <summary>
2445             Buffers events and then forwards them to attached appenders.
2446             </summary>
2447             <remarks>
2448             <para>
2449             The events are buffered in this appender until conditions are
2450             met to allow the appender to deliver the events to the attached 
2451             appenders. See <see cref="T:log4net.Appender.BufferingAppenderSkeleton"/> for the
2452             conditions that cause the buffer to be sent.
2453             </para>
2454             <para>The forwarding appender can be used to specify different 
2455             thresholds and filters for the same appender at different locations 
2456             within the hierarchy.
2457             </para>
2458             </remarks>
2459             <author>Nicko Cadell</author>
2460             <author>Gert Driesen</author>
2461         </member>
2462         <member name="T:log4net.Core.IAppenderAttachable">
2463             <summary>
2464             Interface for attaching appenders to objects.
2465             </summary>
2466             <remarks>
2467             <para>
2468             Interface for attaching, removing and retrieving appenders.
2469             </para>
2470             </remarks>
2471             <author>Nicko Cadell</author>
2472             <author>Gert Driesen</author>
2473         </member>
2474         <member name="M:log4net.Core.IAppenderAttachable.AddAppender(log4net.Appender.IAppender)">
2475             <summary>
2476             Attaches an appender.
2477             </summary>
2478             <param name="appender">The appender to add.</param>
2479             <remarks>
2480             <para>
2481             Add the specified appender. The implementation may
2482             choose to allow or deny duplicate appenders.
2483             </para>
2484             </remarks>
2485         </member>
2486         <member name="M:log4net.Core.IAppenderAttachable.GetAppender(System.String)">
2487             <summary>
2488             Gets an attached appender with the specified name.
2489             </summary>
2490             <param name="name">The name of the appender to get.</param>
2491             <returns>
2492             The appender with the name specified, or <c>null</c> if no appender with the
2493             specified name is found.
2494             </returns>
2495             <remarks>
2496             <para>
2497             Returns an attached appender with the <paramref name="name"/> specified.
2498             If no appender with the specified name is found <c>null</c> will be
2499             returned.
2500             </para>
2501             </remarks>
2502         </member>
2503         <member name="M:log4net.Core.IAppenderAttachable.RemoveAllAppenders">
2504             <summary>
2505             Removes all attached appenders.
2506             </summary>
2507             <remarks>
2508             <para>
2509             Removes and closes all attached appenders
2510             </para>
2511             </remarks>
2512         </member>
2513         <member name="M:log4net.Core.IAppenderAttachable.RemoveAppender(log4net.Appender.IAppender)">
2514             <summary>
2515             Removes the specified appender from the list of attached appenders.
2516             </summary>
2517             <param name="appender">The appender to remove.</param>
2518             <returns>The appender removed from the list</returns>
2519             <remarks>
2520             <para>
2521             The appender removed is not closed.
2522             If you are discarding the appender you must call
2523             <see cref="M:log4net.Appender.IAppender.Close"/> on the appender removed.
2524             </para>
2525             </remarks>
2526         </member>
2527         <member name="M:log4net.Core.IAppenderAttachable.RemoveAppender(System.String)">
2528             <summary>
2529             Removes the appender with the specified name from the list of appenders.
2530             </summary>
2531             <param name="name">The name of the appender to remove.</param>
2532             <returns>The appender removed from the list</returns>
2533             <remarks>
2534             <para>
2535             The appender removed is not closed.
2536             If you are discarding the appender you must call
2537             <see cref="M:log4net.Appender.IAppender.Close"/> on the appender removed.
2538             </para>
2539             </remarks>
2540         </member>
2541         <member name="P:log4net.Core.IAppenderAttachable.Appenders">
2542             <summary>
2543             Gets all attached appenders.
2544             </summary>
2545             <value>
2546             A collection of attached appenders.
2547             </value>
2548             <remarks>
2549             <para>
2550             Gets a collection of attached appenders.
2551             If there are no attached appenders the
2552             implementation should return an empty 
2553             collection rather than <c>null</c>.
2554             </para>
2555             </remarks>
2556         </member>
2557         <member name="M:log4net.Appender.BufferingForwardingAppender.#ctor">
2558             <summary>
2559             Initializes a new instance of the <see cref="T:log4net.Appender.BufferingForwardingAppender"/> class.
2560             </summary>
2561             <remarks>
2562             <para>
2563             Default constructor.
2564             </para>
2565             </remarks>
2566         </member>
2567         <member name="M:log4net.Appender.BufferingForwardingAppender.OnClose">
2568             <summary>
2569             Closes the appender and releases resources.
2570             </summary>
2571             <remarks>
2572             <para>
2573             Releases any resources allocated within the appender such as file handles, 
2574             network connections, etc.
2575             </para>
2576             <para>
2577             It is a programming error to append to a closed appender.
2578             </para>
2579             </remarks>
2580         </member>
2581         <member name="M:log4net.Appender.BufferingForwardingAppender.SendBuffer(log4net.Core.LoggingEvent[])">
2582             <summary>
2583             Send the events.
2584             </summary>
2585             <param name="events">The events that need to be send.</param>
2586             <remarks>
2587             <para>
2588             Forwards the events to the attached appenders.
2589             </para>
2590             </remarks>
2591         </member>
2592         <member name="M:log4net.Appender.BufferingForwardingAppender.AddAppender(log4net.Appender.IAppender)">
2593             <summary>
2594             Adds an <see cref="T:log4net.Appender.IAppender"/> to the list of appenders of this
2595             instance.
2596             </summary>
2597             <param name="newAppender">The <see cref="T:log4net.Appender.IAppender"/> to add to this appender.</param>
2598             <remarks>
2599             <para>
2600             If the specified <see cref="T:log4net.Appender.IAppender"/> is already in the list of
2601             appenders, then it won't be added again.
2602             </para>
2603             </remarks>
2604         </member>
2605         <member name="M:log4net.Appender.BufferingForwardingAppender.GetAppender(System.String)">
2606             <summary>
2607             Looks for the appender with the specified name.
2608             </summary>
2609             <param name="name">The name of the appender to lookup.</param>
2610             <returns>
2611             The appender with the specified name, or <c>null</c>.
2612             </returns>
2613             <remarks>
2614             <para>
2615             Get the named appender attached to this buffering appender.
2616             </para>
2617             </remarks>
2618         </member>
2619         <member name="M:log4net.Appender.BufferingForwardingAppender.RemoveAllAppenders">
2620             <summary>
2621             Removes all previously added appenders from this appender.
2622             </summary>
2623             <remarks>
2624             <para>
2625             This is useful when re-reading configuration information.
2626             </para>
2627             </remarks>
2628         </member>
2629         <member name="M:log4net.Appender.BufferingForwardingAppender.RemoveAppender(log4net.Appender.IAppender)">
2630             <summary>
2631             Removes the specified appender from the list of appenders.
2632             </summary>
2633             <param name="appender">The appender to remove.</param>
2634             <returns>The appender removed from the list</returns>
2635             <remarks>
2636             The appender removed is not closed.
2637             If you are discarding the appender you must call
2638             <see cref="M:log4net.Appender.IAppender.Close"/> on the appender removed.
2639             </remarks>
2640         </member>
2641         <member name="M:log4net.Appender.BufferingForwardingAppender.RemoveAppender(System.String)">
2642             <summary>
2643             Removes the appender with the specified name from the list of appenders.
2644             </summary>
2645             <param name="name">The name of the appender to remove.</param>
2646             <returns>The appender removed from the list</returns>
2647             <remarks>
2648             The appender removed is not closed.
2649             If you are discarding the appender you must call
2650             <see cref="M:log4net.Appender.IAppender.Close"/> on the appender removed.
2651             </remarks>
2652         </member>
2653         <member name="F:log4net.Appender.BufferingForwardingAppender.m_appenderAttachedImpl">
2654             <summary>
2655             Implementation of the <see cref="T:log4net.Core.IAppenderAttachable"/> interface
2656             </summary>
2657         </member>
2658         <member name="P:log4net.Appender.BufferingForwardingAppender.Appenders">
2659             <summary>
2660             Gets the appenders contained in this appender as an 
2661             <see cref="T:System.Collections.ICollection"/>.
2662             </summary>
2663             <remarks>
2664             If no appenders can be found, then an <see cref="T:log4net.Util.EmptyCollection"/> 
2665             is returned.
2666             </remarks>
2667             <returns>
2668             A collection of the appenders in this appender.
2669             </returns>
2670         </member>
2671         <member name="T:log4net.Appender.ColoredConsoleAppender">
2672             <summary>
2673             Appends logging events to the console.
2674             </summary>
2675             <remarks>
2676             <para>
2677             ColoredConsoleAppender appends log events to the standard output stream
2678             or the error output stream using a layout specified by the 
2679             user. It also allows the color of a specific type of message to be set.
2680             </para>
2681             <para>
2682             By default, all output is written to the console's standard output stream.
2683             The <see cref="P:log4net.Appender.ColoredConsoleAppender.Target"/> property can be set to direct the output to the
2684             error stream.
2685             </para>
2686             <para>
2687             NOTE: This appender writes directly to the application's attached console
2688             not to the <c>System.Console.Out</c> or <c>System.Console.Error</c> <c>TextWriter</c>.
2689             The <c>System.Console.Out</c> and <c>System.Console.Error</c> streams can be
2690             programmatically redirected (for example NUnit does this to capture program output).
2691             This appender will ignore these redirections because it needs to use Win32
2692             API calls to colorize the output. To respect these redirections the <see cref="T:log4net.Appender.ConsoleAppender"/>
2693             must be used.
2694             </para>
2695             <para>
2696             When configuring the colored console appender, mapping should be
2697             specified to map a logging level to a color. For example:
2698             </para>
2699             <code lang="XML" escaped="true">
2700             <mapping>
2701                 <level value="ERROR"/>
2702                 <foreColor value="White"/>
2703                 <backColor value="Red, HighIntensity"/>
2704             </mapping>
2705             <mapping>
2706                 <level value="DEBUG"/>
2707                 <backColor value="Green"/>
2708             </mapping>
2709             </code>
2710             <para>
2711             The Level is the standard log4net logging level and ForeColor and BackColor can be any
2712             combination of the following values:
2713             <list type="bullet">
2714             <item><term>Blue</term><description></description></item>
2715             <item><term>Green</term><description></description></item>
2716             <item><term>Red</term><description></description></item>
2717             <item><term>White</term><description></description></item>
2718             <item><term>Yellow</term><description></description></item>
2719             <item><term>Purple</term><description></description></item>
2720             <item><term>Cyan</term><description></description></item>
2721             <item><term>HighIntensity</term><description></description></item>
2722             </list>
2723             </para>
2724             </remarks>
2725             <author>Rick Hobbs</author>
2726             <author>Nicko Cadell</author>
2727         </member>
2728         <member name="F:log4net.Appender.ColoredConsoleAppender.ConsoleOut">
2729             <summary>
2730             The <see cref="P:log4net.Appender.ColoredConsoleAppender.Target"/> to use when writing to the Console 
2731             standard output stream.
2732             </summary>
2733             <remarks>
2734             <para>
2735             The <see cref="P:log4net.Appender.ColoredConsoleAppender.Target"/> to use when writing to the Console 
2736             standard output stream.
2737             </para>
2738             </remarks>
2739         </member>
2740         <member name="F:log4net.Appender.ColoredConsoleAppender.ConsoleError">
2741             <summary>
2742             The <see cref="P:log4net.Appender.ColoredConsoleAppender.Target"/> to use when writing to the Console 
2743             standard error output stream.
2744             </summary>
2745             <remarks>
2746             <para>
2747             The <see cref="P:log4net.Appender.ColoredConsoleAppender.Target"/> to use when writing to the Console 
2748             standard error output stream.
2749             </para>
2750             </remarks>
2751         </member>
2752         <member name="M:log4net.Appender.ColoredConsoleAppender.#ctor">
2753             <summary>
2754             Initializes a new instance of the <see cref="T:log4net.Appender.ColoredConsoleAppender"/> class.
2755             </summary>
2756             <remarks>
2757             The instance of the <see cref="T:log4net.Appender.ColoredConsoleAppender"/> class is set up to write 
2758             to the standard output stream.
2759             </remarks>
2760         </member>
2761         <member name="M:log4net.Appender.ColoredConsoleAppender.#ctor(log4net.Layout.ILayout)">
2762             <summary>
2763             Initializes a new instance of the <see cref="T:log4net.Appender.ColoredConsoleAppender"/> class
2764             with the specified layout.
2765             </summary>
2766             <param name="layout">the layout to use for this appender</param>
2767             <remarks>
2768             The instance of the <see cref="T:log4net.Appender.ColoredConsoleAppender"/> class is set up to write 
2769             to the standard output stream.
2770             </remarks>
2771         </member>
2772         <member name="M:log4net.Appender.ColoredConsoleAppender.#ctor(log4net.Layout.ILayout,System.Boolean)">
2773             <summary>
2774             Initializes a new instance of the <see cref="T:log4net.Appender.ColoredConsoleAppender"/> class
2775             with the specified layout.
2776             </summary>
2777             <param name="layout">the layout to use for this appender</param>
2778             <param name="writeToErrorStream">flag set to <c>true</c> to write to the console error stream</param>
2779             <remarks>
2780             When <paramref name="writeToErrorStream"/> is set to <c>true</c>, output is written to
2781             the standard error output stream.  Otherwise, output is written to the standard
2782             output stream.
2783             </remarks>
2784         </member>
2785         <member name="M:log4net.Appender.ColoredConsoleAppender.AddMapping(log4net.Appender.ColoredConsoleAppender.LevelColors)">
2786             <summary>
2787             Add a mapping of level to color - done by the config file
2788             </summary>
2789             <param name="mapping">The mapping to add</param>
2790             <remarks>
2791             <para>
2792             Add a <see cref="T:log4net.Appender.ColoredConsoleAppender.LevelColors"/> mapping to this appender.
2793             Each mapping defines the foreground and background colors
2794             for a level.
2795             </para>
2796             </remarks>
2797         </member>
2798         <member name="M:log4net.Appender.ColoredConsoleAppender.Append(log4net.Core.LoggingEvent)">
2799             <summary>
2800             This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/> method.
2801             </summary>
2802             <param name="loggingEvent">The event to log.</param>
2803             <remarks>
2804             <para>
2805             Writes the event to the console.
2806             </para>
2807             <para>
2808             The format of the output will depend on the appender's layout.
2809             </para>
2810             </remarks>
2811         </member>
2812         <member name="M:log4net.Appender.ColoredConsoleAppender.ActivateOptions">
2813             <summary>
2814             Initialize the options for this appender
2815             </summary>
2816             <remarks>
2817             <para>
2818             Initialize the level to color mappings set on this appender.
2819             </para>
2820             </remarks>
2821         </member>
2822         <member name="F:log4net.Appender.ColoredConsoleAppender.m_writeToErrorStream">
2823             <summary>
2824             Flag to write output to the error stream rather than the standard output stream
2825             </summary>
2826         </member>
2827         <member name="F:log4net.Appender.ColoredConsoleAppender.m_levelMapping">
2828             <summary>
2829             Mapping from level object to color value
2830             </summary>
2831         </member>
2832         <member name="F:log4net.Appender.ColoredConsoleAppender.m_consoleOutputWriter">
2833             <summary>
2834             The console output stream writer to write to
2835             </summary>
2836             <remarks>
2837             <para>
2838             This writer is not thread safe.
2839             </para>
2840             </remarks>
2841         </member>
2842         <member name="P:log4net.Appender.ColoredConsoleAppender.Target">
2843             <summary>
2844             Target is the value of the console output stream.
2845             This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
2846             </summary>
2847             <value>
2848             Target is the value of the console output stream.
2849             This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
2850             </value>
2851             <remarks>
2852             <para>
2853             Target is the value of the console output stream.
2854             This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
2855             </para>
2856             </remarks>
2857         </member>
2858         <member name="P:log4net.Appender.ColoredConsoleAppender.RequiresLayout">
2859             <summary>
2860             This appender requires a <see cref="N:log4net.Layout"/> to be set.
2861             </summary>
2862             <value><c>true</c></value>
2863             <remarks>
2864             <para>
2865             This appender requires a <see cref="N:log4net.Layout"/> to be set.
2866             </para>
2867             </remarks>
2868         </member>
2869         <member name="T:log4net.Appender.ColoredConsoleAppender.Colors">
2870             <summary>
2871             The enum of possible color values for use with the color mapping method
2872             </summary>
2873             <remarks>
2874             <para>
2875             The following flags can be combined together to
2876             form the colors.
2877             </para>
2878             </remarks>
2879             <seealso cref="T:log4net.Appender.ColoredConsoleAppender"/>
2880         </member>
2881         <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.Blue">
2882             <summary>
2883             color is blue
2884             </summary>
2885         </member>
2886         <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.Green">
2887             <summary>
2888             color is green
2889             </summary>
2890         </member>
2891         <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.Red">
2892             <summary>
2893             color is red
2894             </summary>
2895         </member>
2896         <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.White">
2897             <summary>
2898             color is white
2899             </summary>
2900         </member>
2901         <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.Yellow">
2902             <summary>
2903             color is yellow
2904             </summary>
2905         </member>
2906         <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.Purple">
2907             <summary>
2908             color is purple
2909             </summary>
2910         </member>
2911         <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.Cyan">
2912             <summary>
2913             color is cyan
2914             </summary>
2915         </member>
2916         <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.HighIntensity">
2917             <summary>
2918             color is intensified
2919             </summary>
2920         </member>
2921         <member name="T:log4net.Appender.ColoredConsoleAppender.LevelColors">
2922             <summary>
2923             A class to act as a mapping between the level that a logging call is made at and
2924             the color it should be displayed as.
2925             </summary>
2926             <remarks>
2927             <para>
2928             Defines the mapping between a level and the color it should be displayed in.
2929             </para>
2930             </remarks>
2931         </member>
2932         <member name="M:log4net.Appender.ColoredConsoleAppender.LevelColors.ActivateOptions">
2933             <summary>
2934             Initialize the options for the object
2935             </summary>
2936             <remarks>
2937             <para>
2938             Combine the <see cref="P:log4net.Appender.ColoredConsoleAppender.LevelColors.ForeColor"/> and <see cref="P:log4net.Appender.ColoredConsoleAppender.LevelColors.BackColor"/> together.
2939             </para>
2940             </remarks>
2941         </member>
2942         <member name="P:log4net.Appender.ColoredConsoleAppender.LevelColors.ForeColor">
2943             <summary>
2944             The mapped foreground color for the specified level
2945             </summary>
2946             <remarks>
2947             <para>
2948             Required property.
2949             The mapped foreground color for the specified level.
2950             </para>
2951             </remarks>
2952         </member>
2953         <member name="P:log4net.Appender.ColoredConsoleAppender.LevelColors.BackColor">
2954             <summary>
2955             The mapped background color for the specified level
2956             </summary>
2957             <remarks>
2958             <para>
2959             Required property.
2960             The mapped background color for the specified level.
2961             </para>
2962             </remarks>
2963         </member>
2964         <member name="P:log4net.Appender.ColoredConsoleAppender.LevelColors.CombinedColor">
2965             <summary>
2966             The combined <see cref="P:log4net.Appender.ColoredConsoleAppender.LevelColors.ForeColor"/> and <see cref="P:log4net.Appender.ColoredConsoleAppender.LevelColors.BackColor"/> suitable for 
2967             setting the console color.
2968             </summary>
2969         </member>
2970         <member name="T:log4net.Appender.ConsoleAppender">
2971             <summary>
2972             Appends logging events to the console.
2973             </summary>
2974             <remarks>
2975             <para>
2976             ConsoleAppender appends log events to the standard output stream
2977             or the error output stream using a layout specified by the 
2978             user.
2979             </para>
2980             <para>
2981             By default, all output is written to the console's standard output stream.
2982             The <see cref="P:log4net.Appender.ConsoleAppender.Target"/> property can be set to direct the output to the
2983             error stream.
2984             </para>
2985             <para>
2986             NOTE: This appender writes each message to the <c>System.Console.Out</c> or 
2987             <c>System.Console.Error</c> that is set at the time the event is appended.
2988             Therefore it is possible to programmatically redirect the output of this appender 
2989             (for example NUnit does this to capture program output). While this is the desired
2990             behavior of this appender it may have security implications in your application. 
2991             </para>
2992             </remarks>
2993             <author>Nicko Cadell</author>
2994             <author>Gert Driesen</author>
2995         </member>
2996         <member name="F:log4net.Appender.ConsoleAppender.ConsoleOut">
2997             <summary>
2998             The <see cref="P:log4net.Appender.ConsoleAppender.Target"/> to use when writing to the Console 
2999             standard output stream.
3000             </summary>
3001             <remarks>
3002             <para>
3003             The <see cref="P:log4net.Appender.ConsoleAppender.Target"/> to use when writing to the Console 
3004             standard output stream.
3005             </para>
3006             </remarks>
3007         </member>
3008         <member name="F:log4net.Appender.ConsoleAppender.ConsoleError">
3009             <summary>
3010             The <see cref="P:log4net.Appender.ConsoleAppender.Target"/> to use when writing to the Console 
3011             standard error output stream.
3012             </summary>
3013             <remarks>
3014             <para>
3015             The <see cref="P:log4net.Appender.ConsoleAppender.Target"/> to use when writing to the Console 
3016             standard error output stream.
3017             </para>
3018             </remarks>
3019         </member>
3020         <member name="M:log4net.Appender.ConsoleAppender.#ctor">
3021             <summary>
3022             Initializes a new instance of the <see cref="T:log4net.Appender.ConsoleAppender"/> class.
3023             </summary>
3024             <remarks>
3025             The instance of the <see cref="T:log4net.Appender.ConsoleAppender"/> class is set up to write 
3026             to the standard output stream.
3027             </remarks>
3028         </member>
3029         <member name="M:log4net.Appender.ConsoleAppender.#ctor(log4net.Layout.ILayout)">
3030             <summary>
3031             Initializes a new instance of the <see cref="T:log4net.Appender.ConsoleAppender"/> class
3032             with the specified layout.
3033             </summary>
3034             <param name="layout">the layout to use for this appender</param>
3035             <remarks>
3036             The instance of the <see cref="T:log4net.Appender.ConsoleAppender"/> class is set up to write 
3037             to the standard output stream.
3038             </remarks>
3039         </member>
3040         <member name="M:log4net.Appender.ConsoleAppender.#ctor(log4net.Layout.ILayout,System.Boolean)">
3041             <summary>
3042             Initializes a new instance of the <see cref="T:log4net.Appender.ConsoleAppender"/> class
3043             with the specified layout.
3044             </summary>
3045             <param name="layout">the layout to use for this appender</param>
3046             <param name="writeToErrorStream">flag set to <c>true</c> to write to the console error stream</param>
3047             <remarks>
3048             When <paramref name="writeToErrorStream"/> is set to <c>true</c>, output is written to
3049             the standard error output stream.  Otherwise, output is written to the standard
3050             output stream.
3051             </remarks>
3052         </member>
3053         <member name="M:log4net.Appender.ConsoleAppender.Append(log4net.Core.LoggingEvent)">
3054             <summary>
3055             This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/> method.
3056             </summary>
3057             <param name="loggingEvent">The event to log.</param>
3058             <remarks>
3059             <para>
3060             Writes the event to the console.
3061             </para>
3062             <para>
3063             The format of the output will depend on the appender's layout.
3064             </para>
3065             </remarks>
3066         </member>
3067         <member name="P:log4net.Appender.ConsoleAppender.Target">
3068             <summary>
3069             Target is the value of the console output stream.
3070             This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
3071             </summary>
3072             <value>
3073             Target is the value of the console output stream.
3074             This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
3075             </value>
3076             <remarks>
3077             <para>
3078             Target is the value of the console output stream.
3079             This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
3080             </para>
3081             </remarks>
3082         </member>
3083         <member name="P:log4net.Appender.ConsoleAppender.RequiresLayout">
3084             <summary>
3085             This appender requires a <see cref="N:log4net.Layout"/> to be set.
3086             </summary>
3087             <value><c>true</c></value>
3088             <remarks>
3089             <para>
3090             This appender requires a <see cref="N:log4net.Layout"/> to be set.
3091             </para>
3092             </remarks>
3093         </member>
3094         <member name="T:log4net.Appender.DebugAppender">
3095             <summary>
3096             Appends log events to the <see cref="T:System.Diagnostics.Debug"/> system.
3097             </summary>
3098             <remarks>
3099             <para>
3100             The application configuration file can be used to control what listeners 
3101             are actually used. See the MSDN documentation for the 
3102             <see cref="T:System.Diagnostics.Debug"/> class for details on configuring the
3103             debug system.
3104             </para>
3105             <para>
3106             Events are written using the <see cref="M:System.Diagnostics.Debug.Write(System.String,System.String)"/>
3107             method. The event's logger name is passed as the value for the category name to the Write method.
3108             </para>
3109             </remarks>
3110             <author>Nicko Cadell</author>
3111         </member>
3112         <member name="M:log4net.Appender.DebugAppender.#ctor">
3113             <summary>
3114             Initializes a new instance of the <see cref="T:log4net.Appender.DebugAppender"/>.
3115             </summary>
3116             <remarks>
3117             <para>
3118             Default constructor.
3119             </para>
3120             </remarks>
3121         </member>
3122         <member name="M:log4net.Appender.DebugAppender.#ctor(log4net.Layout.ILayout)">
3123             <summary>
3124             Initializes a new instance of the <see cref="T:log4net.Appender.DebugAppender"/> 
3125             with a specified layout.
3126             </summary>
3127             <param name="layout">The layout to use with this appender.</param>
3128             <remarks>
3129             <para>
3130             Obsolete constructor.
3131             </para>
3132             </remarks>
3133         </member>
3134         <member name="M:log4net.Appender.DebugAppender.Append(log4net.Core.LoggingEvent)">
3135             <summary>
3136             Writes the logging event to the <see cref="T:System.Diagnostics.Debug"/> system.
3137             </summary>
3138             <param name="loggingEvent">The event to log.</param>
3139             <remarks>
3140             <para>
3141             Writes the logging event to the <see cref="T:System.Diagnostics.Debug"/> system.
3142             If <see cref="P:log4net.Appender.DebugAppender.ImmediateFlush"/> is <c>true</c> then the <see cref="M:System.Diagnostics.Debug.Flush"/>
3143             is called.
3144             </para>
3145             </remarks>
3146         </member>
3147         <member name="F:log4net.Appender.DebugAppender.m_immediateFlush">
3148             <summary>
3149             Immediate flush means that the underlying writer or output stream
3150             will be flushed at the end of each append operation.
3151             </summary>
3152             <remarks>
3153             <para>
3154             Immediate flush is slower but ensures that each append request is 
3155             actually written. If <see cref="P:log4net.Appender.DebugAppender.ImmediateFlush"/> is set to
3156             <c>false</c>, then there is a good chance that the last few
3157             logs events are not actually written to persistent media if and
3158             when the application crashes.
3159             </para>
3160             <para>
3161             The default value is <c>true</c>.</para>
3162             </remarks>
3163         </member>
3164         <member name="P:log4net.Appender.DebugAppender.ImmediateFlush">
3165             <summary>
3166             Gets or sets a value that indicates whether the appender will 
3167             flush at the end of each write.
3168             </summary>
3169             <remarks>
3170             <para>The default behavior is to flush at the end of each 
3171             write. If the option is set to<c>false</c>, then the underlying 
3172             stream can defer writing to physical medium to a later time. 
3173             </para>
3174             <para>
3175             Avoiding the flush operation at the end of each append results 
3176             in a performance gain of 10 to 20 percent. However, there is safety
3177             trade-off involved in skipping flushing. Indeed, when flushing is
3178             skipped, then it is likely that the last few log events will not
3179             be recorded on disk when the application exits. This is a high
3180             price to pay even for a 20% performance gain.
3181             </para>
3182             </remarks>
3183         </member>
3184         <member name="P:log4net.Appender.DebugAppender.RequiresLayout">
3185             <summary>
3186             This appender requires a <see cref="N:log4net.Layout"/> to be set.
3187             </summary>
3188             <value><c>true</c></value>
3189             <remarks>
3190             <para>
3191             This appender requires a <see cref="N:log4net.Layout"/> to be set.
3192             </para>
3193             </remarks>
3194         </member>
3195         <member name="T:log4net.Appender.EventLogAppender">
3196             <summary>
3197             Writes events to the system event log.
3198             </summary>
3199             <remarks>
3200             <para>
3201             The <c>EventID</c> of the event log entry can be
3202             set using the <c>EventLogEventID</c> property (<see cref="P:log4net.Core.LoggingEvent.Properties"/>)
3203             on the <see cref="T:log4net.Core.LoggingEvent"/>.
3204             </para>
3205             <para>
3206             There is a limit of 32K characters for an event log message
3207             </para>
3208             <para>
3209             When configuring the EventLogAppender a mapping can be
3210             specified to map a logging level to an event log entry type. For example:
3211             </para>
3212             <code lang="XML">
3213             &lt;mapping&gt;
3214                 &lt;level value="ERROR" /&gt;
3215                 &lt;eventLogEntryType value="Error" /&gt;
3216             &lt;/mapping&gt;
3217             &lt;mapping&gt;
3218                 &lt;level value="DEBUG" /&gt;
3219                 &lt;eventLogEntryType value="Information" /&gt;
3220             &lt;/mapping&gt;
3221             </code>
3222             <para>
3223             The Level is the standard log4net logging level and eventLogEntryType can be any value
3224             from the <see cref="T:System.Diagnostics.EventLogEntryType"/> enum, i.e.:
3225             <list type="bullet">
3226             <item><term>Error</term><description>an error event</description></item>
3227             <item><term>Warning</term><description>a warning event</description></item>
3228             <item><term>Information</term><description>an informational event</description></item>
3229             </list>
3230             </para>
3231             </remarks>
3232             <author>Aspi Havewala</author>
3233             <author>Douglas de la Torre</author>
3234             <author>Nicko Cadell</author>
3235             <author>Gert Driesen</author>
3236             <author>Thomas Voss</author>
3237         </member>
3238         <member name="M:log4net.Appender.EventLogAppender.#ctor">
3239             <summary>
3240             Initializes a new instance of the <see cref="T:log4net.Appender.EventLogAppender"/> class.
3241             </summary>
3242             <remarks>
3243             <para>
3244             Default constructor.
3245             </para>
3246             </remarks>
3247         </member>
3248         <member name="M:log4net.Appender.EventLogAppender.#ctor(log4net.Layout.ILayout)">
3249             <summary>
3250             Initializes a new instance of the <see cref="T:log4net.Appender.EventLogAppender"/> class
3251             with the specified <see cref="T:log4net.Layout.ILayout"/>.
3252             </summary>
3253             <param name="layout">The <see cref="T:log4net.Layout.ILayout"/> to use with this appender.</param>
3254             <remarks>
3255             <para>
3256             Obsolete constructor.
3257             </para>
3258             </remarks>
3259         </member>
3260         <member name="M:log4net.Appender.EventLogAppender.AddMapping(log4net.Appender.EventLogAppender.Level2EventLogEntryType)">
3261             <summary>
3262             Add a mapping of level to <see cref="T:System.Diagnostics.EventLogEntryType"/> - done by the config file
3263             </summary>
3264             <param name="mapping">The mapping to add</param>
3265             <remarks>
3266             <para>
3267             Add a <see cref="T:log4net.Appender.EventLogAppender.Level2EventLogEntryType"/> mapping to this appender.
3268             Each mapping defines the event log entry type for a level.
3269             </para>
3270             </remarks>
3271         </member>
3272         <member name="M:log4net.Appender.EventLogAppender.ActivateOptions">
3273             <summary>
3274             Initialize the appender based on the options set
3275             </summary>
3276             <remarks>
3277             <para>
3278             This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
3279             activation scheme. The <see cref="M:log4net.Appender.EventLogAppender.ActivateOptions"/> method must 
3280             be called on this object after the configuration properties have
3281             been set. Until <see cref="M:log4net.Appender.EventLogAppender.ActivateOptions"/> is called this
3282             object is in an undefined state and must not be used. 
3283             </para>
3284             <para>
3285             If any of the configuration properties are modified then 
3286             <see cref="M:log4net.Appender.EventLogAppender.ActivateOptions"/> must be called again.
3287             </para>
3288             </remarks>
3289         </member>
3290         <member name="M:log4net.Appender.EventLogAppender.CreateEventSource(System.String,System.String,System.String)">
3291             <summary>
3292             Create an event log source
3293             </summary>
3294             <remarks>
3295             Uses different API calls under NET_2_0
3296             </remarks>
3297         </member>
3298         <member name="M:log4net.Appender.EventLogAppender.Append(log4net.Core.LoggingEvent)">
3299             <summary>
3300             This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/>
3301             method. 
3302             </summary>
3303             <param name="loggingEvent">the event to log</param>
3304             <remarks>
3305             <para>Writes the event to the system event log using the 
3306             <see cref="P:log4net.Appender.EventLogAppender.ApplicationName"/>.</para>
3307             
3308             <para>If the event has an <c>EventID</c> property (see <see cref="P:log4net.Core.LoggingEvent.Properties"/>)
3309             set then this integer will be used as the event log event id.</para>
3310             
3311             <para>
3312             There is a limit of 32K characters for an event log message
3313             </para>
3314             </remarks>
3315         </member>
3316         <member name="M:log4net.Appender.EventLogAppender.GetEntryType(log4net.Core.Level)">
3317             <summary>
3318             Get the equivalent <see cref="T:System.Diagnostics.EventLogEntryType"/> for a <see cref="T:log4net.Core.Level"/> <paramref name="p"/>
3319             </summary>
3320             <param name="level">the Level to convert to an EventLogEntryType</param>
3321             <returns>The equivalent <see cref="T:System.Diagnostics.EventLogEntryType"/> for a <see cref="T:log4net.Core.Level"/> <paramref name="p"/></returns>
3322             <remarks>
3323             Because there are fewer applicable <see cref="T:System.Diagnostics.EventLogEntryType"/>
3324             values to use in logging levels than there are in the 
3325             <see cref="T:log4net.Core.Level"/> this is a one way mapping. There is
3326             a loss of information during the conversion.
3327             </remarks>
3328         </member>
3329         <member name="F:log4net.Appender.EventLogAppender.m_logName">
3330             <summary>
3331             The log name is the section in the event logs where the messages
3332             are stored.
3333             </summary>
3334         </member>
3335         <member name="F:log4net.Appender.EventLogAppender.m_applicationName">
3336             <summary>
3337             Name of the application to use when logging.  This appears in the
3338             application column of the event log named by <see cref="F:log4net.Appender.EventLogAppender.m_logName"/>.
3339             </summary>
3340         </member>
3341         <member name="F:log4net.Appender.EventLogAppender.m_machineName">
3342             <summary>
3343             The name of the machine which holds the event log. This is
3344             currently only allowed to be '.' i.e. the current machine.
3345             </summary>
3346         </member>
3347         <member name="F:log4net.Appender.EventLogAppender.m_levelMapping">
3348             <summary>
3349             Mapping from level object to EventLogEntryType
3350             </summary>
3351         </member>
3352         <member name="F:log4net.Appender.EventLogAppender.m_securityContext">
3353             <summary>
3354             The security context to use for privileged calls
3355             </summary>
3356         </member>
3357         <member name="P:log4net.Appender.EventLogAppender.LogName">
3358             <summary>
3359             The name of the log where messages will be stored.
3360             </summary>
3361             <value>
3362             The string name of the log where messages will be stored.
3363             </value>
3364             <remarks>
3365             <para>This is the name of the log as it appears in the Event Viewer
3366             tree. The default value is to log into the <c>Application</c>
3367             log, this is where most applications write their events. However
3368             if you need a separate log for your application (or applications)
3369             then you should set the <see cref="P:log4net.Appender.EventLogAppender.LogName"/> appropriately.</para>
3370             <para>This should not be used to distinguish your event log messages
3371             from those of other applications, the <see cref="P:log4net.Appender.EventLogAppender.ApplicationName"/>
3372             property should be used to distinguish events. This property should be 
3373             used to group together events into a single log.
3374             </para>
3375             </remarks>
3376         </member>
3377         <member name="P:log4net.Appender.EventLogAppender.ApplicationName">
3378             <summary>
3379             Property used to set the Application name.  This appears in the
3380             event logs when logging.
3381             </summary>
3382             <value>
3383             The string used to distinguish events from different sources.
3384             </value>
3385             <remarks>
3386             Sets the event log source property.
3387             </remarks>
3388         </member>
3389         <member name="P:log4net.Appender.EventLogAppender.MachineName">
3390             <summary>
3391             This property is used to return the name of the computer to use
3392             when accessing the event logs.  Currently, this is the current
3393             computer, denoted by a dot "."
3394             </summary>
3395             <value>
3396             The string name of the machine holding the event log that 
3397             will be logged into.
3398             </value>
3399             <remarks>
3400             This property cannot be changed. It is currently set to '.'
3401             i.e. the local machine. This may be changed in future.
3402             </remarks>
3403         </member>
3404         <member name="P:log4net.Appender.EventLogAppender.SecurityContext">
3405             <summary>
3406             Gets or sets the <see cref="P:log4net.Appender.EventLogAppender.SecurityContext"/> used to write to the EventLog.
3407             </summary>
3408             <value>
3409             The <see cref="P:log4net.Appender.EventLogAppender.SecurityContext"/> used to write to the EventLog.
3410             </value>
3411             <remarks>
3412             <para>
3413             The system security context used to write to the EventLog.
3414             </para>
3415             <para>
3416             Unless a <see cref="P:log4net.Appender.EventLogAppender.SecurityContext"/> specified here for this appender
3417             the <see cref="P:log4net.Core.SecurityContextProvider.DefaultProvider"/> is queried for the
3418             security context to use. The default behavior is to use the security context
3419             of the current thread.
3420             </para>
3421             </remarks>
3422         </member>
3423         <member name="P:log4net.Appender.EventLogAppender.RequiresLayout">
3424             <summary>
3425             This appender requires a <see cref="N:log4net.Layout"/> to be set.
3426             </summary>
3427             <value><c>true</c></value>
3428             <remarks>
3429             <para>
3430             This appender requires a <see cref="N:log4net.Layout"/> to be set.
3431             </para>
3432             </remarks>
3433         </member>
3434         <member name="T:log4net.Appender.EventLogAppender.Level2EventLogEntryType">
3435             <summary>
3436             A class to act as a mapping between the level that a logging call is made at and
3437             the color it should be displayed as.
3438             </summary>
3439             <remarks>
3440             <para>
3441             Defines the mapping between a level and its event log entry type.
3442             </para>
3443             </remarks>
3444         </member>
3445         <member name="P:log4net.Appender.EventLogAppender.Level2EventLogEntryType.EventLogEntryType">
3446             <summary>
3447             The <see cref="P:log4net.Appender.EventLogAppender.Level2EventLogEntryType.EventLogEntryType"/> for this entry
3448             </summary>
3449             <remarks>
3450             <para>
3451             Required property.
3452             The <see cref="P:log4net.Appender.EventLogAppender.Level2EventLogEntryType.EventLogEntryType"/> for this entry
3453             </para>
3454             </remarks>
3455         </member>
3456         <member name="T:log4net.Appender.FileAppender">
3457             <summary>
3458             Appends logging events to a file.
3459             </summary>
3460             <remarks>
3461             <para>
3462             Logging events are sent to the file specified by
3463             the <see cref="P:log4net.Appender.FileAppender.File"/> property.
3464             </para>
3465             <para>
3466             The file can be opened in either append or overwrite mode 
3467             by specifying the <see cref="P:log4net.Appender.FileAppender.AppendToFile"/> property.
3468             If the file path is relative it is taken as relative from 
3469             the application base directory. The file encoding can be
3470             specified by setting the <see cref="P:log4net.Appender.FileAppender.Encoding"/> property.
3471             </para>
3472             <para>
3473             The layout's <see cref="P:log4net.Layout.ILayout.Header"/> and <see cref="P:log4net.Layout.ILayout.Footer"/>
3474             values will be written each time the file is opened and closed
3475             respectively. If the <see cref="P:log4net.Appender.FileAppender.AppendToFile"/> property is <see langword="true"/>
3476             then the file may contain multiple copies of the header and footer.
3477             </para>
3478             <para>
3479             This appender will first try to open the file for writing when <see cref="M:log4net.Appender.FileAppender.ActivateOptions"/>
3480             is called. This will typically be during configuration.
3481             If the file cannot be opened for writing the appender will attempt
3482             to open the file again each time a message is logged to the appender.
3483             If the file cannot be opened for writing when a message is logged then
3484             the message will be discarded by this appender.
3485             </para>
3486             <para>
3487             The <see cref="T:log4net.Appender.FileAppender"/> supports pluggable file locking models via
3488             the <see cref="P:log4net.Appender.FileAppender.LockingModel"/> property.
3489             The default behavior, implemented by <see cref="T:log4net.Appender.FileAppender.ExclusiveLock"/> 
3490             is to obtain an exclusive write lock on the file until this appender is closed.
3491             The alternative model, <see cref="T:log4net.Appender.FileAppender.MinimalLock"/>, only holds a
3492             write lock while the appender is writing a logging event.
3493             </para>
3494             </remarks>
3495             <author>Nicko Cadell</author>
3496             <author>Gert Driesen</author>
3497             <author>Rodrigo B. de Oliveira</author>
3498             <author>Douglas de la Torre</author>
3499             <author>Niall Daley</author>
3500         </member>
3501         <member name="T:log4net.Appender.TextWriterAppender">
3502             <summary>
3503             Sends logging events to a <see cref="T:System.IO.TextWriter"/>.
3504             </summary>
3505             <remarks>
3506             <para>
3507             An Appender that writes to a <see cref="T:System.IO.TextWriter"/>.
3508             </para>
3509             <para>
3510             This appender may be used stand alone if initialized with an appropriate
3511             writer, however it is typically used as a base class for an appender that
3512             can open a <see cref="T:System.IO.TextWriter"/> to write to.
3513             </para>
3514             </remarks>
3515             <author>Nicko Cadell</author>
3516             <author>Gert Driesen</author>
3517             <author>Douglas de la Torre</author>
3518         </member>
3519         <member name="M:log4net.Appender.TextWriterAppender.#ctor">
3520             <summary>
3521             Initializes a new instance of the <see cref="T:log4net.Appender.TextWriterAppender"/> class.
3522             </summary>
3523             <remarks>
3524             <para>
3525             Default constructor.
3526             </para>
3527             </remarks>
3528         </member>
3529         <member name="M:log4net.Appender.TextWriterAppender.#ctor(log4net.Layout.ILayout,System.IO.Stream)">
3530             <summary>
3531             Initializes a new instance of the <see cref="T:log4net.Appender.TextWriterAppender"/> class and
3532             sets the output destination to a new <see cref="T:System.IO.StreamWriter"/> initialized 
3533             with the specified <see cref="T:System.IO.Stream"/>.
3534             </summary>
3535             <param name="layout">The layout to use with this appender.</param>
3536             <param name="os">The <see cref="T:System.IO.Stream"/> to output to.</param>
3537             <remarks>
3538             <para>
3539             Obsolete constructor.
3540             </para>
3541             </remarks>
3542         </member>
3543         <member name="M:log4net.Appender.TextWriterAppender.#ctor(log4net.Layout.ILayout,System.IO.TextWriter)">
3544             <summary>
3545             Initializes a new instance of the <see cref="T:log4net.Appender.TextWriterAppender"/> class and sets
3546             the output destination to the specified <see cref="T:System.IO.StreamWriter"/>.
3547             </summary>
3548             <param name="layout">The layout to use with this appender</param>
3549             <param name="writer">The <see cref="T:System.IO.TextWriter"/> to output to</param>
3550             <remarks>
3551             The <see cref="T:System.IO.TextWriter"/> must have been previously opened.
3552             </remarks>
3553             <remarks>
3554             <para>
3555             Obsolete constructor.
3556             </para>
3557             </remarks>
3558         </member>
3559         <member name="M:log4net.Appender.TextWriterAppender.PreAppendCheck">
3560             <summary>
3561             This method determines if there is a sense in attempting to append.
3562             </summary>
3563             <remarks>
3564             <para>
3565             This method checked if an output target has been set and if a
3566             layout has been set. 
3567             </para>
3568             </remarks>
3569             <returns><c>false</c> if any of the preconditions fail.</returns>
3570         </member>
3571         <member name="M:log4net.Appender.TextWriterAppender.Append(log4net.Core.LoggingEvent)">
3572             <summary>
3573             This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/>
3574             method. 
3575             </summary>
3576             <param name="loggingEvent">The event to log.</param>
3577             <remarks>
3578             <para>
3579             Writes a log statement to the output stream if the output stream exists 
3580             and is writable.  
3581             </para>
3582             <para>
3583             The format of the output will depend on the appender's layout.
3584             </para>
3585             </remarks>
3586         </member>
3587         <member name="M:log4net.Appender.TextWriterAppender.Append(log4net.Core.LoggingEvent[])">
3588             <summary>
3589             This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent[])"/>
3590             method. 
3591             </summary>
3592             <param name="loggingEvents">The array of events to log.</param>
3593             <remarks>
3594             <para>
3595             This method writes all the bulk logged events to the output writer
3596             before flushing the stream.
3597             </para>
3598             </remarks>
3599         </member>
3600         <member name="M:log4net.Appender.TextWriterAppender.OnClose">
3601             <summary>
3602             Close this appender instance. The underlying stream or writer is also closed.
3603             </summary>
3604             <remarks>
3605             Closed appenders cannot be reused.
3606             </remarks>
3607         </member>
3608         <member name="M:log4net.Appender.TextWriterAppender.WriteFooterAndCloseWriter">
3609             <summary>
3610             Writes the footer and closes the underlying <see cref="T:System.IO.TextWriter"/>.
3611             </summary>
3612             <remarks>
3613             <para>
3614             Writes the footer and closes the underlying <see cref="T:System.IO.TextWriter"/>.
3615             </para>
3616             </remarks>
3617         </member>
3618         <member name="M:log4net.Appender.TextWriterAppender.CloseWriter">
3619             <summary>
3620             Closes the underlying <see cref="T:System.IO.TextWriter"/>.
3621             </summary>
3622             <remarks>
3623             <para>
3624             Closes the underlying <see cref="T:System.IO.TextWriter"/>.
3625             </para>
3626             </remarks>
3627         </member>
3628         <member name="M:log4net.Appender.TextWriterAppender.Reset">
3629             <summary>
3630             Clears internal references to the underlying <see cref="T:System.IO.TextWriter"/> 
3631             and other variables.
3632             </summary>
3633             <remarks>
3634             <para>
3635             Subclasses can override this method for an alternate closing behavior.
3636             </para>
3637             </remarks>
3638         </member>
3639         <member name="M:log4net.Appender.TextWriterAppender.WriteFooter">
3640             <summary>
3641             Writes a footer as produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Footer"/> property.
3642             </summary>
3643             <remarks>
3644             <para>
3645             Writes a footer as produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Footer"/> property.
3646             </para>
3647             </remarks>
3648         </member>
3649         <member name="M:log4net.Appender.TextWriterAppender.WriteHeader">
3650             <summary>
3651             Writes a header produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Header"/> property.
3652             </summary>
3653             <remarks>
3654             <para>
3655             Writes a header produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Header"/> property.
3656             </para>
3657             </remarks>
3658         </member>
3659         <member name="M:log4net.Appender.TextWriterAppender.PrepareWriter">
3660             <summary>
3661             Called to allow a subclass to lazily initialize the writer
3662             </summary>
3663             <remarks>
3664             <para>
3665             This method is called when an event is logged and the <see cref="P:log4net.Appender.TextWriterAppender.Writer"/> or
3666             <see cref="P:log4net.Appender.TextWriterAppender.QuietWriter"/> have not been set. This allows a subclass to
3667             attempt to initialize the writer multiple times.
3668             </para>
3669             </remarks>
3670         </member>
3671         <member name="F:log4net.Appender.TextWriterAppender.m_qtw">
3672             <summary>
3673             This is the <see cref="T:log4net.Util.QuietTextWriter"/> where logging events
3674             will be written to. 
3675             </summary>
3676         </member>
3677         <member name="F:log4net.Appender.TextWriterAppender.m_immediateFlush">
3678             <summary>
3679             Immediate flush means that the underlying <see cref="T:System.IO.TextWriter"/> 
3680             or output stream will be flushed at the end of each append operation.
3681             </summary>
3682             <remarks>
3683             <para>
3684             Immediate flush is slower but ensures that each append request is 
3685             actually written. If <see cref="P:log4net.Appender.TextWriterAppender.ImmediateFlush"/> is set to
3686             <c>false</c>, then there is a good chance that the last few
3687             logging events are not actually persisted if and when the application 
3688             crashes.
3689             </para>
3690             <para>
3691             The default value is <c>true</c>.
3692             </para>
3693             </remarks>
3694         </member>
3695         <member name="P:log4net.Appender.TextWriterAppender.ImmediateFlush">
3696             <summary>
3697             Gets or set whether the appender will flush at the end 
3698             of each append operation.
3699             </summary>
3700             <value>
3701             <para>
3702             The default behavior is to flush at the end of each 
3703             append operation.
3704             </para>
3705             <para>
3706             If this option is set to <c>false</c>, then the underlying 
3707             stream can defer persisting the logging event to a later 
3708             time.
3709             </para>
3710             </value>
3711             <remarks>
3712             Avoiding the flush operation at the end of each append results in
3713             a performance gain of 10 to 20 percent. However, there is safety
3714             trade-off involved in skipping flushing. Indeed, when flushing is
3715             skipped, then it is likely that the last few log events will not
3716             be recorded on disk when the application exits. This is a high
3717             price to pay even for a 20% performance gain.
3718             </remarks>
3719         </member>
3720         <member name="P:log4net.Appender.TextWriterAppender.Writer">
3721             <summary>
3722             Sets the <see cref="T:System.IO.TextWriter"/> where the log output will go.
3723             </summary>
3724             <remarks>
3725             <para>
3726             The specified <see cref="T:System.IO.TextWriter"/> must be open and writable.
3727             </para>
3728             <para>
3729             The <see cref="T:System.IO.TextWriter"/> will be closed when the appender 
3730             instance is closed.
3731             </para>
3732             <para>
3733             <b>Note:</b> Logging to an unopened <see cref="T:System.IO.TextWriter"/> will fail.
3734             </para>
3735             </remarks>
3736         </member>
3737         <member name="P:log4net.Appender.TextWriterAppender.ErrorHandler">
3738             <summary>
3739             Gets or set the <see cref="T:log4net.Core.IErrorHandler"/> and the underlying 
3740             <see cref="T:log4net.Util.QuietTextWriter"/>, if any, for this appender. 
3741             </summary>
3742             <value>
3743             The <see cref="T:log4net.Core.IErrorHandler"/> for this appender.
3744             </value>
3745         </member>
3746         <member name="P:log4net.Appender.TextWriterAppender.RequiresLayout">
3747             <summary>
3748             This appender requires a <see cref="N:log4net.Layout"/> to be set.
3749             </summary>
3750             <value><c>true</c></value>
3751             <remarks>
3752             <para>
3753             This appender requires a <see cref="N:log4net.Layout"/> to be set.
3754             </para>
3755             </remarks>
3756         </member>
3757         <member name="P:log4net.Appender.TextWriterAppender.QuietWriter">
3758             <summary>
3759             Gets or sets the <see cref="T:log4net.Util.QuietTextWriter"/> where logging events
3760             will be written to. 
3761             </summary>
3762             <value>
3763             The <see cref="T:log4net.Util.QuietTextWriter"/> where logging events are written.
3764             </value>
3765             <remarks>
3766             <para>
3767             This is the <see cref="T:log4net.Util.QuietTextWriter"/> where logging events
3768             will be written to. 
3769             </para>
3770             </remarks>
3771         </member>
3772         <member name="M:log4net.Appender.FileAppender.#ctor">
3773             <summary>
3774             Default constructor
3775             </summary>
3776             <remarks>
3777             <para>
3778             Default constructor
3779             </para>
3780             </remarks>
3781         </member>
3782         <member name="M:log4net.Appender.FileAppender.#ctor(log4net.Layout.ILayout,System.String,System.Boolean)">
3783             <summary>
3784             Construct a new appender using the layout, file and append mode.
3785             </summary>
3786             <param name="layout">the layout to use with this appender</param>
3787             <param name="filename">the full path to the file to write to</param>
3788             <param name="append">flag to indicate if the file should be appended to</param>
3789             <remarks>
3790             <para>
3791             Obsolete constructor.
3792             </para>
3793             </remarks>
3794         </member>
3795         <member name="M:log4net.Appender.FileAppender.#ctor(log4net.Layout.ILayout,System.String)">
3796             <summary>
3797             Construct a new appender using the layout and file specified.
3798             The file will be appended to.
3799             </summary>
3800             <param name="layout">the layout to use with this appender</param>
3801             <param name="filename">the full path to the file to write to</param>
3802             <remarks>
3803             <para>
3804             Obsolete constructor.
3805             </para>
3806             </remarks>
3807         </member>
3808         <member name="M:log4net.Appender.FileAppender.ActivateOptions">
3809             <summary>
3810             Activate the options on the file appender. 
3811             </summary>
3812             <remarks>
3813             <para>
3814             This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
3815             activation scheme. The <see cref="M:log4net.Appender.FileAppender.ActivateOptions"/> method must 
3816             be called on this object after the configuration properties have
3817             been set. Until <see cref="M:log4net.Appender.FileAppender.ActivateOptions"/> is called this
3818             object is in an undefined state and must not be used. 
3819             </para>
3820             <para>
3821             If any of the configuration properties are modified then 
3822             <see cref="M:log4net.Appender.FileAppender.ActivateOptions"/> must be called again.
3823             </para>
3824             <para>
3825             This will cause the file to be opened.
3826             </para>
3827             </remarks>
3828         </member>
3829         <member name="M:log4net.Appender.FileAppender.Reset">
3830             <summary>
3831             Closes any previously opened file and calls the parent's <see cref="M:log4net.Appender.TextWriterAppender.Reset"/>.
3832             </summary>
3833             <remarks>
3834             <para>
3835             Resets the filename and the file stream.
3836             </para>
3837             </remarks>
3838         </member>
3839         <member name="M:log4net.Appender.FileAppender.PrepareWriter">
3840             <summary>
3841             Called to initialize the file writer
3842             </summary>
3843             <remarks>
3844             <para>
3845             Will be called for each logged message until the file is
3846             successfully opened.
3847             </para>
3848             </remarks>
3849         </member>
3850         <member name="M:log4net.Appender.FileAppender.Append(log4net.Core.LoggingEvent)">
3851             <summary>
3852             This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/>
3853             method. 
3854             </summary>
3855             <param name="loggingEvent">The event to log.</param>
3856             <remarks>
3857             <para>
3858             Writes a log statement to the output stream if the output stream exists 
3859             and is writable.  
3860             </para>
3861             <para>
3862             The format of the output will depend on the appender's layout.
3863             </para>
3864             </remarks>
3865         </member>
3866         <member name="M:log4net.Appender.FileAppender.Append(log4net.Core.LoggingEvent[])">
3867             <summary>
3868             This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent[])"/>
3869             method. 
3870             </summary>
3871             <param name="loggingEvents">The array of events to log.</param>
3872             <remarks>
3873             <para>
3874             Acquires the output file locks once before writing all the events to
3875             the stream.
3876             </para>
3877             </remarks>
3878         </member>
3879         <member name="M:log4net.Appender.FileAppender.WriteFooter">
3880             <summary>
3881             Writes a footer as produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Footer"/> property.
3882             </summary>
3883             <remarks>
3884             <para>
3885             Writes a footer as produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Footer"/> property.
3886             </para>
3887             </remarks>
3888         </member>
3889         <member name="M:log4net.Appender.FileAppender.WriteHeader">
3890             <summary>
3891             Writes a header produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Header"/> property.
3892             </summary>
3893             <remarks>
3894             <para>
3895             Writes a header produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Header"/> property.
3896             </para>
3897             </remarks>
3898         </member>
3899         <member name="M:log4net.Appender.FileAppender.CloseWriter">
3900             <summary>
3901             Closes the underlying <see cref="T:System.IO.TextWriter"/>.
3902             </summary>
3903             <remarks>
3904             <para>
3905             Closes the underlying <see cref="T:System.IO.TextWriter"/>.
3906             </para>
3907             </remarks>
3908         </member>
3909         <member name="M:log4net.Appender.FileAppender.CloseFile">
3910             <summary>
3911             Closes the previously opened file.
3912             </summary>
3913             <remarks>
3914             <para>
3915             Writes the <see cref="P:log4net.Layout.ILayout.Footer"/> to the file and then
3916             closes the file.
3917             </para>
3918             </remarks>
3919         </member>
3920         <member name="M:log4net.Appender.FileAppender.SafeOpenFile(System.String,System.Boolean)">
3921             <summary>
3922             Sets and <i>opens</i> the file where the log output will go. The specified file must be writable.
3923             </summary>
3924             <param name="fileName">The path to the log file. Must be a fully qualified path.</param>
3925             <param name="append">If true will append to fileName. Otherwise will truncate fileName</param>
3926             <remarks>
3927             <para>
3928             Calls <see cref="M:log4net.Appender.FileAppender.OpenFile(System.String,System.Boolean)"/> but guarantees not to throw an exception.
3929             Errors are passed to the <see cref="P:log4net.Appender.TextWriterAppender.ErrorHandler"/>.
3930             </para>
3931             </remarks>
3932         </member>
3933         <member name="M:log4net.Appender.FileAppender.OpenFile(System.String,System.Boolean)">
3934             <summary>
3935             Sets and <i>opens</i> the file where the log output will go. The specified file must be writable.
3936             </summary>
3937             <param name="fileName">The path to the log file. Must be a fully qualified path.</param>
3938             <param name="append">If true will append to fileName. Otherwise will truncate fileName</param>
3939             <remarks>
3940             <para>
3941             If there was already an opened file, then the previous file
3942             is closed first.
3943             </para>
3944             <para>
3945             This method will ensure that the directory structure
3946             for the <paramref name="fileName"/> specified exists.
3947             </para>
3948             </remarks>
3949         </member>
3950         <member name="M:log4net.Appender.FileAppender.SetQWForFiles(System.IO.Stream)">
3951             <summary>
3952             Sets the quiet writer used for file output
3953             </summary>
3954             <param name="fileStream">the file stream that has been opened for writing</param>
3955             <remarks>
3956             <para>
3957             This implementation of <see cref="M:log4net.Appender.FileAppender.SetQWForFiles(System.IO.Stream)"/> creates a <see cref="T:System.IO.StreamWriter"/>
3958             over the <paramref name="fileStream"/> and passes it to the 
3959             <see cref="M:log4net.Appender.FileAppender.SetQWForFiles(System.IO.TextWriter)"/> method.
3960             </para>
3961             <para>
3962             This method can be overridden by sub classes that want to wrap the
3963             <see cref="T:System.IO.Stream"/> in some way, for example to encrypt the output
3964             data using a <c>System.Security.Cryptography.CryptoStream</c>.
3965             </para>
3966             </remarks>
3967         </member>
3968         <member name="M:log4net.Appender.FileAppender.SetQWForFiles(System.IO.TextWriter)">
3969             <summary>
3970             Sets the quiet writer being used.
3971             </summary>
3972             <param name="writer">the writer over the file stream that has been opened for writing</param>
3973             <remarks>
3974             <para>
3975             This method can be overridden by sub classes that want to
3976             wrap the <see cref="T:System.IO.TextWriter"/> in some way.
3977             </para>
3978             </remarks>
3979         </member>
3980         <member name="M:log4net.Appender.FileAppender.ConvertToFullPath(System.String)">
3981             <summary>
3982             Convert a path into a fully qualified path.
3983             </summary>
3984             <param name="path">The path to convert.</param>
3985             <returns>The fully qualified path.</returns>
3986             <remarks>
3987             <para>
3988             Converts the path specified to a fully
3989             qualified path. If the path is relative it is
3990             taken as relative from the application base 
3991             directory.
3992             </para>
3993             </remarks>
3994         </member>
3995         <member name="F:log4net.Appender.FileAppender.m_appendToFile">
3996             <summary>
3997             Flag to indicate if we should append to the file
3998             or overwrite the file. The default is to append.
3999             </summary>
4000         </member>
4001         <member name="F:log4net.Appender.FileAppender.m_fileName">
4002             <summary>
4003             The name of the log file.
4004             </summary>
4005         </member>
4006         <member name="F:log4net.Appender.FileAppender.m_encoding">
4007             <summary>
4008             The encoding to use for the file stream.
4009             </summary>
4010         </member>
4011         <member name="F:log4net.Appender.FileAppender.m_securityContext">
4012             <summary>
4013             The security context to use for privileged calls
4014             </summary>
4015         </member>
4016         <member name="F:log4net.Appender.FileAppender.m_stream">
4017             <summary>
4018             The stream to log to. Has added locking semantics
4019             </summary>
4020         </member>
4021         <member name="F:log4net.Appender.FileAppender.m_lockingModel">
4022             <summary>
4023             The locking model to use
4024             </summary>
4025         </member>
4026         <member name="P:log4net.Appender.FileAppender.File">
4027             <summary>
4028             Gets or sets the path to the file that logging will be written to.
4029             </summary>
4030             <value>
4031             The path to the file that logging will be written to.
4032             </value>
4033             <remarks>
4034             <para>
4035             If the path is relative it is taken as relative from 
4036             the application base directory.
4037             </para>
4038             </remarks>
4039         </member>
4040         <member name="P:log4net.Appender.FileAppender.AppendToFile">
4041             <summary>
4042             Gets or sets a flag that indicates whether the file should be
4043             appended to or overwritten.
4044             </summary>
4045             <value>
4046             Indicates whether the file should be appended to or overwritten.
4047             </value>
4048             <remarks>
4049             <para>
4050             If the value is set to false then the file will be overwritten, if 
4051             it is set to true then the file will be appended to.
4052             </para>
4053             The default value is true.
4054             </remarks>
4055         </member>
4056         <member name="P:log4net.Appender.FileAppender.Encoding">
4057             <summary>
4058             Gets or sets <see cref="P:log4net.Appender.FileAppender.Encoding"/> used to write to the file.
4059             </summary>
4060             <value>
4061             The <see cref="P:log4net.Appender.FileAppender.Encoding"/> used to write to the file.
4062             </value>
4063             <remarks>
4064             <para>
4065             The default encoding set is <see cref="P:System.Text.Encoding.Default"/>
4066             which is the encoding for the system's current ANSI code page.
4067             </para>
4068             </remarks>
4069         </member>
4070         <member name="P:log4net.Appender.FileAppender.SecurityContext">
4071             <summary>
4072             Gets or sets the <see cref="P:log4net.Appender.FileAppender.SecurityContext"/> used to write to the file.
4073             </summary>
4074             <value>
4075             The <see cref="P:log4net.Appender.FileAppender.SecurityContext"/> used to write to the file.
4076             </value>
4077             <remarks>
4078             <para>
4079             Unless a <see cref="P:log4net.Appender.FileAppender.SecurityContext"/> specified here for this appender
4080             the <see cref="P:log4net.Core.SecurityContextProvider.DefaultProvider"/> is queried for the
4081             security context to use. The default behavior is to use the security context
4082             of the current thread.
4083             </para>
4084             </remarks>
4085         </member>
4086         <member name="P:log4net.Appender.FileAppender.LockingModel">
4087             <summary>
4088             Gets or sets the <see cref="P:log4net.Appender.FileAppender.LockingModel"/> used to handle locking of the file.
4089             </summary>
4090             <value>
4091             The <see cref="P:log4net.Appender.FileAppender.LockingModel"/> used to lock the file.
4092             </value>
4093             <remarks>
4094             <para>
4095             Gets or sets the <see cref="P:log4net.Appender.FileAppender.LockingModel"/> used to handle locking of the file.
4096             </para>
4097             <para>
4098             There are two built in locking models, <see cref="T:log4net.Appender.FileAppender.ExclusiveLock"/> and <see cref="T:log4net.Appender.FileAppender.MinimalLock"/>.
4099             The former locks the file from the start of logging to the end and the 
4100             later lock only for the minimal amount of time when logging each message.
4101             </para>
4102             <para>
4103             The default locking model is the <see cref="T:log4net.Appender.FileAppender.ExclusiveLock"/>.
4104             </para>
4105             </remarks>
4106         </member>
4107         <member name="T:log4net.Appender.FileAppender.LockingStream">
4108             <summary>
4109             Write only <see cref="T:System.IO.Stream"/> that uses the <see cref="T:log4net.Appender.FileAppender.LockingModelBase"/> 
4110             to manage access to an underlying resource.
4111             </summary>
4112         </member>
4113         <member name="M:log4net.Appender.FileAppender.LockingStream.BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)">
4114             <summary>
4115             True asynchronous writes are not supported, the implementation forces a synchronous write.
4116             </summary>
4117         </member>
4118         <member name="T:log4net.Core.LogException">
4119             <summary>
4120             Exception base type for log4net.
4121             </summary>
4122             <remarks>
4123             <para>
4124             This type extends <see cref="T:System.ApplicationException"/>. It
4125             does not add any new functionality but does differentiate the
4126             type of exception being thrown.
4127             </para>
4128             </remarks>
4129             <author>Nicko Cadell</author>
4130             <author>Gert Driesen</author>
4131         </member>
4132         <member name="M:log4net.Core.LogException.#ctor">
4133             <summary>
4134             Constructor
4135             </summary>
4136             <remarks>
4137             <para>
4138             Initializes a new instance of the <see cref="T:log4net.Core.LogException"/> class.
4139             </para>
4140             </remarks>
4141         </member>
4142         <member name="M:log4net.Core.LogException.#ctor(System.String)">
4143             <summary>
4144             Constructor
4145             </summary>
4146             <param name="message">A message to include with the exception.</param>
4147             <remarks>
4148             <para>
4149             Initializes a new instance of the <see cref="T:log4net.Core.LogException"/> class with
4150             the specified message.
4151             </para>
4152             </remarks>
4153         </member>
4154         <member name="M:log4net.Core.LogException.#ctor(System.String,System.Exception)">
4155             <summary>
4156             Constructor
4157             </summary>
4158             <param name="message">A message to include with the exception.</param>
4159             <param name="innerException">A nested exception to include.</param>
4160             <remarks>
4161             <para>
4162             Initializes a new instance of the <see cref="T:log4net.Core.LogException"/> class
4163             with the specified message and inner exception.
4164             </para>
4165             </remarks>
4166         </member>
4167         <member name="M:log4net.Core.LogException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
4168             <summary>
4169             Serialization constructor
4170             </summary>
4171             <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
4172             <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
4173             <remarks>
4174             <para>
4175             Initializes a new instance of the <see cref="T:log4net.Core.LogException"/> class 
4176             with serialized data.
4177             </para>
4178             </remarks>
4179         </member>
4180         <member name="T:log4net.Appender.FileAppender.LockingModelBase">
4181             <summary>
4182             Locking model base class
4183             </summary>
4184             <remarks>
4185             <para>
4186             Base class for the locking models available to the <see cref="T:log4net.Appender.FileAppender"/> derived loggers.
4187             </para>
4188             </remarks>
4189         </member>
4190         <member name="M:log4net.Appender.FileAppender.LockingModelBase.OpenFile(System.String,System.Boolean,System.Text.Encoding)">
4191             <summary>
4192             Open the output file
4193             </summary>
4194             <param name="filename">The filename to use</param>
4195             <param name="append">Whether to append to the file, or overwrite</param>
4196             <param name="encoding">The encoding to use</param>
4197             <remarks>
4198             <para>
4199             Open the file specified and prepare for logging. 
4200             No writes will be made until <see cref="M:log4net.Appender.FileAppender.LockingModelBase.AcquireLock"/> is called.
4201             Must be called before any calls to <see cref="M:log4net.Appender.FileAppender.LockingModelBase.AcquireLock"/>,
4202             <see cref="M:log4net.Appender.FileAppender.LockingModelBase.ReleaseLock"/> and <see cref="M:log4net.Appender.FileAppender.LockingModelBase.CloseFile"/>.
4203             </para>
4204             </remarks>
4205         </member>
4206         <member name="M:log4net.Appender.FileAppender.LockingModelBase.CloseFile">
4207             <summary>
4208             Close the file
4209             </summary>
4210             <remarks>
4211             <para>
4212             Close the file. No further writes will be made.
4213             </para>
4214             </remarks>
4215         </member>
4216         <member name="M:log4net.Appender.FileAppender.LockingModelBase.AcquireLock">
4217             <summary>
4218             Acquire the lock on the file
4219             </summary>
4220             <returns>A stream that is ready to be written to.</returns>
4221             <remarks>
4222             <para>
4223             Acquire the lock on the file in preparation for writing to it. 
4224             Return a stream pointing to the file. <see cref="M:log4net.Appender.FileAppender.LockingModelBase.ReleaseLock"/>
4225             must be called to release the lock on the output file.
4226             </para>
4227             </remarks>
4228         </member>
4229         <member name="M:log4net.Appender.FileAppender.LockingModelBase.ReleaseLock">
4230             <summary>
4231             Release the lock on the file
4232             </summary>
4233             <remarks>
4234             <para>
4235             Release the lock on the file. No further writes will be made to the 
4236             stream until <see cref="M:log4net.Appender.FileAppender.LockingModelBase.AcquireLock"/> is called again.
4237             </para>
4238             </remarks>
4239         </member>
4240         <member name="P:log4net.Appender.FileAppender.LockingModelBase.CurrentAppender">
4241             <summary>
4242             Gets or sets the <see cref="T:log4net.Appender.FileAppender"/> for this LockingModel
4243             </summary>
4244             <value>
4245             The <see cref="T:log4net.Appender.FileAppender"/> for this LockingModel
4246             </value>
4247             <remarks>
4248             <para>
4249             The file appender this locking model is attached to and working on
4250             behalf of.
4251             </para>
4252             <para>
4253             The file appender is used to locate the security context and the error handler to use.
4254             </para>
4255             <para>
4256             The value of this property will be set before <see cref="M:log4net.Appender.FileAppender.LockingModelBase.OpenFile(System.String,System.Boolean,System.Text.Encoding)"/> is
4257             called.
4258             </para>
4259             </remarks>
4260         </member>
4261         <member name="T:log4net.Appender.FileAppender.ExclusiveLock">
4262             <summary>
4263             Hold an exclusive lock on the output file
4264             </summary>
4265             <remarks>
4266             <para>
4267             Open the file once for writing and hold it open until <see cref="M:log4net.Appender.FileAppender.ExclusiveLock.CloseFile"/> is called. 
4268             Maintains an exclusive lock on the file during this time.
4269             </para>
4270             </remarks>
4271         </member>
4272         <member name="M:log4net.Appender.FileAppender.ExclusiveLock.OpenFile(System.String,System.Boolean,System.Text.Encoding)">
4273             <summary>
4274             Open the file specified and prepare for logging.
4275             </summary>
4276             <param name="filename">The filename to use</param>
4277             <param name="append">Whether to append to the file, or overwrite</param>
4278             <param name="encoding">The encoding to use</param>
4279             <remarks>
4280             <para>
4281             Open the file specified and prepare for logging. 
4282             No writes will be made until <see cref="M:log4net.Appender.FileAppender.ExclusiveLock.AcquireLock"/> is called.
4283             Must be called before any calls to <see cref="M:log4net.Appender.FileAppender.ExclusiveLock.AcquireLock"/>,
4284             <see cref="M:log4net.Appender.FileAppender.ExclusiveLock.ReleaseLock"/> and <see cref="M:log4net.Appender.FileAppender.ExclusiveLock.CloseFile"/>.
4285             </para>
4286             </remarks>
4287         </member>
4288         <member name="M:log4net.Appender.FileAppender.ExclusiveLock.CloseFile">
4289             <summary>
4290             Close the file
4291             </summary>
4292             <remarks>
4293             <para>
4294             Close the file. No further writes will be made.
4295             </para>
4296             </remarks>
4297         </member>
4298         <member name="M:log4net.Appender.FileAppender.ExclusiveLock.AcquireLock">
4299             <summary>
4300             Acquire the lock on the file
4301             </summary>
4302             <returns>A stream that is ready to be written to.</returns>
4303             <remarks>
4304             <para>
4305             Does nothing. The lock is already taken
4306             </para>
4307             </remarks>
4308         </member>
4309         <member name="M:log4net.Appender.FileAppender.ExclusiveLock.ReleaseLock">
4310             <summary>
4311             Release the lock on the file
4312             </summary>
4313             <remarks>
4314             <para>
4315             Does nothing. The lock will be released when the file is closed.
4316             </para>
4317             </remarks>
4318         </member>
4319         <member name="T:log4net.Appender.FileAppender.MinimalLock">
4320             <summary>
4321             Acquires the file lock for each write
4322             </summary>
4323             <remarks>
4324             <para>
4325             Opens the file once for each <see cref="M:log4net.Appender.FileAppender.MinimalLock.AcquireLock"/>/<see cref="M:log4net.Appender.FileAppender.MinimalLock.ReleaseLock"/> cycle, 
4326             thus holding the lock for the minimal amount of time. This method of locking
4327             is considerably slower than <see cref="T:log4net.Appender.FileAppender.ExclusiveLock"/> but allows 
4328             other processes to move/delete the log file whilst logging continues.
4329             </para>
4330             </remarks>
4331         </member>
4332         <member name="M:log4net.Appender.FileAppender.MinimalLock.OpenFile(System.String,System.Boolean,System.Text.Encoding)">
4333             <summary>
4334             Prepares to open the file when the first message is logged.
4335             </summary>
4336             <param name="filename">The filename to use</param>
4337             <param name="append">Whether to append to the file, or overwrite</param>
4338             <param name="encoding">The encoding to use</param>
4339             <remarks>
4340             <para>
4341             Open the file specified and prepare for logging. 
4342             No writes will be made until <see cref="M:log4net.Appender.FileAppender.MinimalLock.AcquireLock"/> is called.
4343             Must be called before any calls to <see cref="M:log4net.Appender.FileAppender.MinimalLock.AcquireLock"/>,
4344             <see cref="M:log4net.Appender.FileAppender.MinimalLock.ReleaseLock"/> and <see cref="M:log4net.Appender.FileAppender.MinimalLock.CloseFile"/>.
4345             </para>
4346             </remarks>
4347         </member>
4348         <member name="M:log4net.Appender.FileAppender.MinimalLock.CloseFile">
4349             <summary>
4350             Close the file
4351             </summary>
4352             <remarks>
4353             <para>
4354             Close the file. No further writes will be made.
4355             </para>
4356             </remarks>
4357         </member>
4358         <member name="M:log4net.Appender.FileAppender.MinimalLock.AcquireLock">
4359             <summary>
4360             Acquire the lock on the file
4361             </summary>
4362             <returns>A stream that is ready to be written to.</returns>
4363             <remarks>
4364             <para>
4365             Acquire the lock on the file in preparation for writing to it. 
4366             Return a stream pointing to the file. <see cref="M:log4net.Appender.FileAppender.MinimalLock.ReleaseLock"/>
4367             must be called to release the lock on the output file.
4368             </para>
4369             </remarks>
4370         </member>
4371         <member name="M:log4net.Appender.FileAppender.MinimalLock.ReleaseLock">
4372             <summary>
4373             Release the lock on the file
4374             </summary>
4375             <remarks>
4376             <para>
4377             Release the lock on the file. No further writes will be made to the 
4378             stream until <see cref="M:log4net.Appender.FileAppender.MinimalLock.AcquireLock"/> is called again.
4379             </para>
4380             </remarks>
4381         </member>
4382         <member name="T:log4net.Appender.ForwardingAppender">
4383             <summary>
4384             This appender forwards logging events to attached appenders.
4385             </summary>
4386             <remarks>
4387             <para>
4388             The forwarding appender can be used to specify different thresholds
4389             and filters for the same appender at different locations within the hierarchy.
4390             </para>
4391             </remarks>
4392             <author>Nicko Cadell</author>
4393             <author>Gert Driesen</author>
4394         </member>
4395         <member name="M:log4net.Appender.ForwardingAppender.#ctor">
4396             <summary>
4397             Initializes a new instance of the <see cref="T:log4net.Appender.ForwardingAppender"/> class.
4398             </summary>
4399             <remarks>
4400             <para>
4401             Default constructor.
4402             </para>
4403             </remarks>
4404         </member>
4405         <member name="M:log4net.Appender.ForwardingAppender.OnClose">
4406             <summary>
4407             Closes the appender and releases resources.
4408             </summary>
4409             <remarks>
4410             <para>
4411             Releases any resources allocated within the appender such as file handles, 
4412             network connections, etc.
4413             </para>
4414             <para>
4415             It is a programming error to append to a closed appender.
4416             </para>
4417             </remarks>
4418         </member>
4419         <member name="M:log4net.Appender.ForwardingAppender.Append(log4net.Core.LoggingEvent)">
4420             <summary>
4421             Forward the logging event to the attached appenders 
4422             </summary>
4423             <param name="loggingEvent">The event to log.</param>
4424             <remarks>
4425             <para>
4426             Delivers the logging event to all the attached appenders.
4427             </para>
4428             </remarks>
4429         </member>
4430         <member name="M:log4net.Appender.ForwardingAppender.Append(log4net.Core.LoggingEvent[])">
4431             <summary>
4432             Forward the logging events to the attached appenders 
4433             </summary>
4434             <param name="loggingEvents">The array of events to log.</param>
4435             <remarks>
4436             <para>
4437             Delivers the logging events to all the attached appenders.
4438             </para>
4439             </remarks>
4440         </member>
4441         <member name="M:log4net.Appender.ForwardingAppender.AddAppender(log4net.Appender.IAppender)">
4442             <summary>
4443             Adds an <see cref="T:log4net.Appender.IAppender"/> to the list of appenders of this
4444             instance.
4445             </summary>
4446             <param name="newAppender">The <see cref="T:log4net.Appender.IAppender"/> to add to this appender.</param>
4447             <remarks>
4448             <para>
4449             If the specified <see cref="T:log4net.Appender.IAppender"/> is already in the list of
4450             appenders, then it won't be added again.
4451             </para>
4452             </remarks>
4453         </member>
4454         <member name="M:log4net.Appender.ForwardingAppender.GetAppender(System.String)">
4455             <summary>
4456             Looks for the appender with the specified name.
4457             </summary>
4458             <param name="name">The name of the appender to lookup.</param>
4459             <returns>
4460             The appender with the specified name, or <c>null</c>.
4461             </returns>
4462             <remarks>
4463             <para>
4464             Get the named appender attached to this appender.
4465             </para>
4466             </remarks>
4467         </member>
4468         <member name="M:log4net.Appender.ForwardingAppender.RemoveAllAppenders">
4469             <summary>
4470             Removes all previously added appenders from this appender.
4471             </summary>
4472             <remarks>
4473             <para>
4474             This is useful when re-reading configuration information.
4475             </para>
4476             </remarks>
4477         </member>
4478         <member name="M:log4net.Appender.ForwardingAppender.RemoveAppender(log4net.Appender.IAppender)">
4479             <summary>
4480             Removes the specified appender from the list of appenders.
4481             </summary>
4482             <param name="appender">The appender to remove.</param>
4483             <returns>The appender removed from the list</returns>
4484             <remarks>
4485             The appender removed is not closed.
4486             If you are discarding the appender you must call
4487             <see cref="M:log4net.Appender.IAppender.Close"/> on the appender removed.
4488             </remarks>
4489         </member>
4490         <member name="M:log4net.Appender.ForwardingAppender.RemoveAppender(System.String)">
4491             <summary>
4492             Removes the appender with the specified name from the list of appenders.
4493             </summary>
4494             <param name="name">The name of the appender to remove.</param>
4495             <returns>The appender removed from the list</returns>
4496             <remarks>
4497             The appender removed is not closed.
4498             If you are discarding the appender you must call
4499             <see cref="M:log4net.Appender.IAppender.Close"/> on the appender removed.
4500             </remarks>
4501         </member>
4502         <member name="F:log4net.Appender.ForwardingAppender.m_appenderAttachedImpl">
4503             <summary>
4504             Implementation of the <see cref="T:log4net.Core.IAppenderAttachable"/> interface
4505             </summary>
4506         </member>
4507         <member name="P:log4net.Appender.ForwardingAppender.Appenders">
4508             <summary>
4509             Gets the appenders contained in this appender as an 
4510             <see cref="T:System.Collections.ICollection"/>.
4511             </summary>
4512             <remarks>
4513             If no appenders can be found, then an <see cref="T:log4net.Util.EmptyCollection"/> 
4514             is returned.
4515             </remarks>
4516             <returns>
4517             A collection of the appenders in this appender.
4518             </returns>
4519         </member>
4520         <member name="T:log4net.Appender.LocalSyslogAppender">
4521             <summary>
4522             Logs events to a local syslog service.
4523             </summary>
4524             <remarks>
4525             <note>
4526             This appender uses the POSIX libc library functions <c>openlog</c>, <c>syslog</c>, and <c>closelog</c>.
4527             If these functions are not available on the local system then this appender will not work!
4528             </note>
4529             <para>
4530             The functions <c>openlog</c>, <c>syslog</c>, and <c>closelog</c> are specified in SUSv2 and 
4531             POSIX 1003.1-2001 standards. These are used to log messages to the local syslog service.
4532             </para>
4533             <para>
4534             This appender talks to a local syslog service. If you need to log to a remote syslog
4535             daemon and you cannot configure your local syslog service to do this you may be
4536             able to use the <see cref="T:log4net.Appender.RemoteSyslogAppender"/> to log via UDP.
4537             </para>
4538             <para>
4539             Syslog messages must have a facility and and a severity. The severity
4540             is derived from the Level of the logging event.
4541             The facility must be chosen from the set of defined syslog 
4542             <see cref="T:log4net.Appender.LocalSyslogAppender.SyslogFacility"/> values. The facilities list is predefined
4543             and cannot be extended.
4544             </para>
4545             <para>
4546             An identifier is specified with each log message. This can be specified
4547             by setting the <see cref="P:log4net.Appender.LocalSyslogAppender.Identity"/> property. The identity (also know 
4548             as the tag) must not contain white space. The default value for the
4549             identity is the application name (from <see cref="P:log4net.Util.SystemInfo.ApplicationFriendlyName"/>).
4550             </para>
4551             </remarks>
4552             <author>Rob Lyon</author>
4553             <author>Nicko Cadell</author>
4554         </member>
4555         <member name="M:log4net.Appender.LocalSyslogAppender.#ctor">
4556             <summary>
4557             Initializes a new instance of the <see cref="T:log4net.Appender.LocalSyslogAppender"/> class.
4558             </summary>
4559             <remarks>
4560             This instance of the <see cref="T:log4net.Appender.LocalSyslogAppender"/> class is set up to write 
4561             to a local syslog service.
4562             </remarks>
4563         </member>
4564         <member name="M:log4net.Appender.LocalSyslogAppender.AddMapping(log4net.Appender.LocalSyslogAppender.LevelSeverity)">
4565             <summary>
4566             Add a mapping of level to severity
4567             </summary>
4568             <param name="mapping">The mapping to add</param>
4569             <remarks>
4570             <para>
4571             Adds a <see cref="T:log4net.Appender.LocalSyslogAppender.LevelSeverity"/> to this appender.
4572             </para>
4573             </remarks>
4574         </member>
4575         <member name="M:log4net.Appender.LocalSyslogAppender.ActivateOptions">
4576             <summary>
4577             Initialize the appender based on the options set.
4578             </summary>
4579             <remarks>
4580             <para>
4581             This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
4582             activation scheme. The <see cref="M:log4net.Appender.LocalSyslogAppender.ActivateOptions"/> method must 
4583             be called on this object after the configuration properties have
4584             been set. Until <see cref="M:log4net.Appender.LocalSyslogAppender.ActivateOptions"/> is called this
4585             object is in an undefined state and must not be used. 
4586             </para>
4587             <para>
4588             If any of the configuration properties are modified then 
4589             <see cref="M:log4net.Appender.LocalSyslogAppender.ActivateOptions"/> must be called again.
4590             </para>
4591             </remarks>
4592         </member>
4593         <member name="M:log4net.Appender.LocalSyslogAppender.Append(log4net.Core.LoggingEvent)">
4594             <summary>
4595             This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/> method.
4596             </summary>
4597             <param name="loggingEvent">The event to log.</param>
4598             <remarks>
4599             <para>
4600             Writes the event to a remote syslog daemon.
4601             </para>
4602             <para>
4603             The format of the output will depend on the appender's layout.
4604             </para>
4605             </remarks>
4606         </member>
4607         <member name="M:log4net.Appender.LocalSyslogAppender.OnClose">
4608             <summary>
4609             Close the syslog when the appender is closed
4610             </summary>
4611             <remarks>
4612             <para>
4613             Close the syslog when the appender is closed
4614             </para>
4615             </remarks>
4616         </member>
4617         <member name="M:log4net.Appender.LocalSyslogAppender.GetSeverity(log4net.Core.Level)">
4618             <summary>
4619             Translates a log4net level to a syslog severity.
4620             </summary>
4621             <param name="level">A log4net level.</param>
4622             <returns>A syslog severity.</returns>
4623             <remarks>
4624             <para>
4625             Translates a log4net level to a syslog severity.
4626             </para>
4627             </remarks>
4628         </member>
4629         <member name="M:log4net.Appender.LocalSyslogAppender.GeneratePriority(log4net.Appender.LocalSyslogAppender.SyslogFacility,log4net.Appender.LocalSyslogAppender.SyslogSeverity)">
4630             <summary>
4631             Generate a syslog priority.
4632             </summary>
4633             <param name="facility">The syslog facility.</param>
4634             <param name="severity">The syslog severity.</param>
4635             <returns>A syslog priority.</returns>
4636         </member>
4637         <member name="F:log4net.Appender.LocalSyslogAppender.m_facility">
4638             <summary>
4639             The facility. The default facility is <see cref="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.User"/>.
4640             </summary>
4641         </member>
4642         <member name="F:log4net.Appender.LocalSyslogAppender.m_identity">
4643             <summary>
4644             The message identity
4645             </summary>
4646         </member>
4647         <member name="F:log4net.Appender.LocalSyslogAppender.m_handleToIdentity">
4648             <summary>
4649             Marshaled handle to the identity string. We have to hold on to the
4650             string as the <c>openlog</c> and <c>syslog</c> APIs just hold the
4651             pointer to the ident and dereference it for each log message.
4652             </summary>
4653         </member>
4654         <member name="F:log4net.Appender.LocalSyslogAppender.m_levelMapping">
4655             <summary>
4656             Mapping from level object to syslog severity
4657             </summary>
4658         </member>
4659         <member name="M:log4net.Appender.LocalSyslogAppender.openlog(System.IntPtr,System.Int32,log4net.Appender.LocalSyslogAppender.SyslogFacility)">
4660             <summary>
4661             Open connection to system logger.
4662             </summary>
4663         </member>
4664         <member name="M:log4net.Appender.LocalSyslogAppender.syslog(System.Int32,System.String,System.String)">
4665             <summary>
4666             Generate a log message.
4667             </summary>
4668             <remarks>
4669             <para>
4670             The libc syslog method takes a format string and a variable argument list similar
4671             to the classic printf function. As this type of vararg list is not supported
4672             by C# we need to specify the arguments explicitly. Here we have specified the
4673             format string with a single message argument. The caller must set the format 
4674             string to <c>"%s"</c>.
4675             </para>
4676             </remarks>
4677         </member>
4678         <member name="M:log4net.Appender.LocalSyslogAppender.closelog">
4679             <summary>
4680             Close descriptor used to write to system logger.
4681             </summary>
4682         </member>
4683         <member name="P:log4net.Appender.LocalSyslogAppender.Identity">
4684             <summary>
4685             Message identity
4686             </summary>
4687             <remarks>
4688             <para>
4689             An identifier is specified with each log message. This can be specified
4690             by setting the <see cref="P:log4net.Appender.LocalSyslogAppender.Identity"/> property. The identity (also know 
4691             as the tag) must not contain white space. The default value for the
4692             identity is the application name (from <see cref="P:log4net.Util.SystemInfo.ApplicationFriendlyName"/>).
4693             </para>
4694             </remarks>
4695         </member>
4696         <member name="P:log4net.Appender.LocalSyslogAppender.Facility">
4697             <summary>
4698             Syslog facility
4699             </summary>
4700             <remarks>
4701             Set to one of the <see cref="T:log4net.Appender.LocalSyslogAppender.SyslogFacility"/> values. The list of
4702             facilities is predefined and cannot be extended. The default value
4703             is <see cref="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.User"/>.
4704             </remarks>
4705         </member>
4706         <member name="P:log4net.Appender.LocalSyslogAppender.RequiresLayout">
4707             <summary>
4708             This appender requires a <see cref="P:log4net.Appender.AppenderSkeleton.Layout"/> to be set.
4709             </summary>
4710             <value><c>true</c></value>
4711             <remarks>
4712             <para>
4713             This appender requires a <see cref="P:log4net.Appender.AppenderSkeleton.Layout"/> to be set.
4714             </para>
4715             </remarks>
4716         </member>
4717         <member name="T:log4net.Appender.LocalSyslogAppender.SyslogSeverity">
4718             <summary>
4719             syslog severities
4720             </summary>
4721             <remarks>
4722             <para>
4723             The log4net Level maps to a syslog severity using the
4724             <see cref="M:log4net.Appender.LocalSyslogAppender.AddMapping(log4net.Appender.LocalSyslogAppender.LevelSeverity)"/> method and the <see cref="T:log4net.Appender.LocalSyslogAppender.LevelSeverity"/>
4725             class. The severity is set on <see cref="P:log4net.Appender.LocalSyslogAppender.LevelSeverity.Severity"/>.
4726             </para>
4727             </remarks>
4728         </member>
4729         <member name="F:log4net.Appender.LocalSyslogAppender.SyslogSeverity.Emergency">
4730             <summary>
4731             system is unusable
4732             </summary>
4733         </member>
4734         <member name="F:log4net.Appender.LocalSyslogAppender.SyslogSeverity.Alert">
4735             <summary>
4736             action must be taken immediately
4737             </summary>
4738         </member>
4739         <member name="F:log4net.Appender.LocalSyslogAppender.SyslogSeverity.Critical">
4740             <summary>
4741             critical conditions
4742             </summary>
4743         </member>
4744         <member name="F:log4net.Appender.LocalSyslogAppender.SyslogSeverity.Error">
4745             <summary>
4746             error conditions
4747             </summary>
4748         </member>
4749         <member name="F:log4net.Appender.LocalSyslogAppender.SyslogSeverity.Warning">
4750             <summary>
4751             warning conditions
4752             </summary>
4753         </member>
4754         <member name="F:log4net.Appender.LocalSyslogAppender.SyslogSeverity.Notice">
4755             <summary>
4756             normal but significant condition
4757             </summary>
4758         </member>
4759         <member name="F:log4net.Appender.LocalSyslogAppender.SyslogSeverity.Informational">
4760             <summary>
4761             informational
4762             </summary>
4763         </member>
4764         <member name="F:log4net.Appender.LocalSyslogAppender.SyslogSeverity.Debug">
4765             <summary>
4766             debug-level messages
4767             </summary>
4768         </member>
4769         <member name="T:log4net.Appender.LocalSyslogAppender.SyslogFacility">
4770             <summary>
4771             syslog facilities
4772             </summary>
4773             <remarks>
4774             <para>
4775             The syslog facility defines which subsystem the logging comes from.
4776             This is set on the <see cref="P:log4net.Appender.LocalSyslogAppender.Facility"/> property.
4777             </para>
4778             </remarks>
4779         </member>
4780         <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Kernel">
4781             <summary>
4782             kernel messages
4783             </summary>
4784         </member>
4785         <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.User">
4786             <summary>
4787             random user-level messages
4788             </summary>
4789         </member>
4790         <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Mail">
4791             <summary>
4792             mail system
4793             </summary>
4794         </member>
4795         <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Daemons">
4796             <summary>
4797             system daemons
4798             </summary>
4799         </member>
4800         <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Authorization">
4801             <summary>
4802             security/authorization messages
4803             </summary>
4804         </member>
4805         <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Syslog">
4806             <summary>
4807             messages generated internally by syslogd
4808             </summary>
4809         </member>
4810         <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Printer">
4811             <summary>
4812             line printer subsystem
4813             </summary>
4814         </member>
4815         <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.News">
4816             <summary>
4817             network news subsystem
4818             </summary>
4819         </member>
4820         <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Uucp">
4821             <summary>
4822             UUCP subsystem
4823             </summary>
4824         </member>
4825         <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Clock">
4826             <summary>
4827             clock (cron/at) daemon
4828             </summary>
4829         </member>
4830         <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Authorization2">
4831             <summary>
4832             security/authorization  messages (private)
4833             </summary>
4834         </member>
4835         <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Ftp">
4836             <summary>
4837             ftp daemon
4838             </summary>
4839         </member>
4840         <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Ntp">
4841             <summary>
4842             NTP subsystem
4843             </summary>
4844         </member>
4845         <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Audit">
4846             <summary>
4847             log audit
4848             </summary>
4849         </member>
4850         <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Alert">
4851             <summary>
4852             log alert
4853             </summary>
4854         </member>
4855         <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Clock2">
4856             <summary>
4857             clock daemon
4858             </summary>
4859         </member>
4860         <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Local0">
4861             <summary>
4862             reserved for local use
4863             </summary>
4864         </member>
4865         <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Local1">
4866             <summary>
4867             reserved for local use
4868             </summary>
4869         </member>
4870         <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Local2">
4871             <summary>
4872             reserved for local use
4873             </summary>
4874         </member>
4875         <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Local3">
4876             <summary>
4877             reserved for local use
4878             </summary>
4879         </member>
4880         <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Local4">
4881             <summary>
4882             reserved for local use
4883             </summary>
4884         </member>
4885         <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Local5">
4886             <summary>
4887             reserved for local use
4888             </summary>
4889         </member>
4890         <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Local6">
4891             <summary>
4892             reserved for local use
4893             </summary>
4894         </member>
4895         <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Local7">
4896             <summary>
4897             reserved for local use
4898             </summary>
4899         </member>
4900         <member name="T:log4net.Appender.LocalSyslogAppender.LevelSeverity">
4901             <summary>
4902             A class to act as a mapping between the level that a logging call is made at and
4903             the syslog severity that is should be logged at.
4904             </summary>
4905             <remarks>
4906             <para>
4907             A class to act as a mapping between the level that a logging call is made at and
4908             the syslog severity that is should be logged at.
4909             </para>
4910             </remarks>
4911         </member>
4912         <member name="P:log4net.Appender.LocalSyslogAppender.LevelSeverity.Severity">
4913             <summary>
4914             The mapped syslog severity for the specified level
4915             </summary>
4916             <remarks>
4917             <para>
4918             Required property.
4919             The mapped syslog severity for the specified level
4920             </para>
4921             </remarks>
4922         </member>
4923         <member name="T:log4net.Appender.MemoryAppender">
4924             <summary>
4925             Stores logging events in an array.
4926             </summary>
4927             <remarks>
4928             <para>
4929             The memory appender stores all the logging events
4930             that are appended in an in-memory array.
4931             </para>
4932             <para>
4933             Use the <see cref="M:log4net.Appender.MemoryAppender.GetEvents"/> method to get
4934             the current list of events that have been appended.
4935             </para>
4936             <para>
4937             Use the <see cref="M:log4net.Appender.MemoryAppender.Clear"/> method to clear the
4938             current list of events.
4939             </para>
4940             </remarks>
4941             <author>Julian Biddle</author>
4942             <author>Nicko Cadell</author>
4943             <author>Gert Driesen</author>
4944         </member>
4945         <member name="M:log4net.Appender.MemoryAppender.#ctor">
4946             <summary>
4947             Initializes a new instance of the <see cref="T:log4net.Appender.MemoryAppender"/> class.
4948             </summary>
4949             <remarks>
4950             <para>
4951             Default constructor.
4952             </para>
4953             </remarks>
4954         </member>
4955         <member name="M:log4net.Appender.MemoryAppender.GetEvents">
4956             <summary>
4957             Gets the events that have been logged.
4958             </summary>
4959             <returns>The events that have been logged</returns>
4960             <remarks>
4961             <para>
4962             Gets the events that have been logged.
4963             </para>
4964             </remarks>
4965         </member>
4966         <member name="M:log4net.Appender.MemoryAppender.Append(log4net.Core.LoggingEvent)">
4967             <summary>
4968             This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/> method. 
4969             </summary>
4970             <param name="loggingEvent">the event to log</param>
4971             <remarks>
4972             <para>Stores the <paramref name="loggingEvent"/> in the events list.</para>
4973             </remarks>
4974         </member>
4975         <member name="M:log4net.Appender.MemoryAppender.Clear">
4976             <summary>
4977             Clear the list of events
4978             </summary>
4979             <remarks>
4980             Clear the list of events
4981             </remarks>
4982         </member>
4983         <member name="F:log4net.Appender.MemoryAppender.m_eventsList">
4984             <summary>
4985             The list of events that have been appended.
4986             </summary>
4987         </member>
4988         <member name="F:log4net.Appender.MemoryAppender.m_fixFlags">
4989             <summary>
4990             Value indicating which fields in the event should be fixed
4991             </summary>
4992             <remarks>
4993             By default all fields are fixed
4994             </remarks>
4995         </member>
4996         <member name="P:log4net.Appender.MemoryAppender.OnlyFixPartialEventData">
4997             <summary>
4998             Gets or sets a value indicating whether only part of the logging event 
4999             data should be fixed.
5000             </summary>
5001             <value>
5002             <c>true</c> if the appender should only fix part of the logging event 
5003             data, otherwise <c>false</c>. The default is <c>false</c>.
5004             </value>
5005             <remarks>
5006             <para>
5007             Setting this property to <c>true</c> will cause only part of the event 
5008             data to be fixed and stored in the appender, hereby improving performance. 
5009             </para>
5010             <para>
5011             See <see cref="M:log4net.Core.LoggingEvent.FixVolatileData(System.Boolean)"/> for more information.
5012             </para>
5013             </remarks>
5014         </member>
5015         <member name="P:log4net.Appender.MemoryAppender.Fix">
5016             <summary>
5017             Gets or sets the fields that will be fixed in the event
5018             </summary>
5019             <remarks>
5020             <para>
5021             The logging event needs to have certain thread specific values 
5022             captured before it can be buffered. See <see cref="P:log4net.Core.LoggingEvent.Fix"/>
5023             for details.
5024             </para>
5025             </remarks>
5026         </member>
5027         <member name="T:log4net.Appender.NetSendAppender">
5028             <summary>
5029             Logs entries by sending network messages using the 
5030             <see cref="M:log4net.Appender.NetSendAppender.NetMessageBufferSend(System.String,System.String,System.String,System.String,System.Int32)"/> native function.
5031             </summary>
5032             <remarks>
5033             <para>
5034             You can send messages only to names that are active 
5035             on the network. If you send the message to a user name, 
5036             that user must be logged on and running the Messenger 
5037             service to receive the message.
5038             </para>
5039             <para>
5040             The receiver will get a top most window displaying the 
5041             messages one at a time, therefore this appender should 
5042             not be used to deliver a high volume of messages.
5043             </para>
5044             <para>
5045             The following table lists some possible uses for this appender :
5046             </para>
5047             <para>
5048             <list type="table">
5049                 <listheader>
5050                     <term>Action</term>
5051                     <description>Property Value(s)</description>
5052                 </listheader>
5053                 <item>
5054                     <term>Send a message to a user account on the local machine</term>
5055                     <description>
5056                         <para>
5057                         <paramref name="Server"/> = &lt;name of the local machine&gt;
5058                         </para>
5059                         <para>
5060                         <paramref name="Recipient"/> = &lt;user name&gt;
5061                         </para>
5062                     </description>
5063                 </item>
5064                 <item>
5065                     <term>Send a message to a user account on a remote machine</term>
5066                     <description>
5067                         <para>
5068                         <paramref name="Server"/> = &lt;name of the remote machine&gt;
5069                         </para>
5070                         <para>
5071                         <paramref name="Recipient"/> = &lt;user name&gt;
5072                         </para>
5073                     </description>
5074                 </item>
5075                 <item>
5076                     <term>Send a message to a domain user account</term>
5077                     <description>
5078                         <para>
5079                         <paramref name="Server"/> = &lt;name of a domain controller | uninitialized&gt;
5080                         </para>
5081                         <para>
5082                         <paramref name="Recipient"/> = &lt;user name&gt;
5083                         </para>
5084                     </description>
5085                 </item>
5086                 <item>
5087                     <term>Send a message to all the names in a workgroup or domain</term>
5088                     <description>
5089                         <para>
5090                         <paramref name="Recipient"/> = &lt;workgroup name | domain name&gt;*
5091                         </para>
5092                     </description>
5093                 </item>
5094                 <item>
5095                     <term>Send a message from the local machine to a remote machine</term>
5096                     <description>
5097                         <para>
5098                         <paramref name="Server"/> = &lt;name of the local machine | uninitialized&gt;
5099                         </para>
5100                         <para>
5101                         <paramref name="Recipient"/> = &lt;name of the remote machine&gt;
5102                         </para>
5103                     </description>
5104                 </item>
5105             </list>
5106             </para>
5107             <para>
5108             <b>Note :</b> security restrictions apply for sending 
5109             network messages, see <see cref="M:log4net.Appender.NetSendAppender.NetMessageBufferSend(System.String,System.String,System.String,System.String,System.Int32)"/> 
5110             for more information.
5111             </para>
5112             </remarks>
5113             <example>
5114             <para>
5115             An example configuration section to log information 
5116             using this appender from the local machine, named 
5117             LOCAL_PC, to machine OPERATOR_PC :
5118             </para>
5119             <code lang="XML" escaped="true">
5120             <appender name="NetSendAppender_Operator" type="log4net.Appender.NetSendAppender">
5121                 <server value="LOCAL_PC"/>
5122                 <recipient value="OPERATOR_PC"/>
5123                 <layout type="log4net.Layout.PatternLayout" value="%-5p %c [%x] - %m%n"/>
5124             </appender>
5125             </code>
5126             </example>
5127             <author>Nicko Cadell</author>
5128             <author>Gert Driesen</author>
5129         </member>
5130         <member name="F:log4net.Appender.NetSendAppender.m_server">
5131             <summary>
5132             The DNS or NetBIOS name of the server on which the function is to execute.
5133             </summary>
5134         </member>
5135         <member name="F:log4net.Appender.NetSendAppender.m_sender">
5136             <summary>
5137             The sender of the network message.
5138             </summary>
5139         </member>
5140         <member name="F:log4net.Appender.NetSendAppender.m_recipient">
5141             <summary>
5142             The message alias to which the message should be sent.
5143             </summary>
5144         </member>
5145         <member name="F:log4net.Appender.NetSendAppender.m_securityContext">
5146             <summary>
5147             The security context to use for privileged calls
5148             </summary>
5149         </member>
5150         <member name="M:log4net.Appender.NetSendAppender.#ctor">
5151             <summary>
5152             Initializes the appender.
5153             </summary>
5154             <remarks>
5155             The default constructor initializes all fields to their default values.
5156             </remarks>
5157         </member>
5158         <member name="M:log4net.Appender.NetSendAppender.ActivateOptions">
5159             <summary>
5160             Initialize the appender based on the options set.
5161             </summary>
5162             <remarks>
5163             <para>
5164             This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
5165             activation scheme. The <see cref="M:log4net.Appender.NetSendAppender.ActivateOptions"/> method must 
5166             be called on this object after the configuration properties have
5167             been set. Until <see cref="M:log4net.Appender.NetSendAppender.ActivateOptions"/> is called this
5168             object is in an undefined state and must not be used. 
5169             </para>
5170             <para>
5171             If any of the configuration properties are modified then 
5172             <see cref="M:log4net.Appender.NetSendAppender.ActivateOptions"/> must be called again.
5173             </para>
5174             <para>
5175             The appender will be ignored if no <see cref="P:log4net.Appender.NetSendAppender.Recipient"/> was specified.
5176             </para>
5177             </remarks>
5178             <exception cref="T:System.ArgumentNullException">The required property <see cref="P:log4net.Appender.NetSendAppender.Recipient"/> was not specified.</exception>
5179         </member>
5180         <member name="M:log4net.Appender.NetSendAppender.Append(log4net.Core.LoggingEvent)">
5181             <summary>
5182             This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/> method.
5183             </summary>
5184             <param name="loggingEvent">The event to log.</param>
5185             <remarks>
5186             <para>
5187             Sends the event using a network message.
5188             </para>
5189             </remarks>
5190         </member>
5191         <member name="M:log4net.Appender.NetSendAppender.NetMessageBufferSend(System.String,System.String,System.String,System.String,System.Int32)">
5192             <summary>
5193             Sends a buffer of information to a registered message alias.
5194             </summary>
5195             <param name="serverName">The DNS or NetBIOS name of the server on which the function is to execute.</param>
5196             <param name="msgName">The message alias to which the message buffer should be sent</param>
5197             <param name="fromName">The originator of the message.</param>
5198             <param name="buffer">The message text.</param>
5199             <param name="bufferSize">The length, in bytes, of the message text.</param>
5200             <remarks>
5201             <para>
5202             The following restrictions apply for sending network messages:
5203             </para>
5204             <para>
5205             <list type="table">
5206                 <listheader>
5207                     <term>Platform</term>
5208                     <description>Requirements</description>
5209                 </listheader>
5210                 <item>
5211                     <term>Windows NT</term>
5212                     <description>
5213                         <para>
5214                         No special group membership is required to send a network message.
5215                         </para>
5216                         <para>
5217                         Admin, Accounts, Print, or Server Operator group membership is required to 
5218                         successfully send a network message on a remote server.
5219                         </para>
5220                     </description>
5221                 </item>
5222                 <item>
5223                     <term>Windows 2000 or later</term>
5224                     <description>
5225                         <para>
5226                         If you send a message on a domain controller that is running Active Directory, 
5227                         access is allowed or denied based on the access control list (ACL) for the securable 
5228                         object. The default ACL permits only Domain Admins and Account Operators to send a network message. 
5229                         </para>
5230                         <para>
5231                         On a member server or workstation, only Administrators and Server Operators can send a network message. 
5232                         </para>
5233                     </description>
5234                 </item>
5235             </list>
5236             </para>
5237             <para>
5238             For more information see <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/netmgmt/netmgmt/security_requirements_for_the_network_management_functions.asp">Security Requirements for the Network Management Functions</a>.
5239             </para>
5240             </remarks>
5241             <returns>
5242             <para>
5243             If the function succeeds, the return value is zero.
5244             </para>
5245             </returns>
5246         </member>
5247         <member name="P:log4net.Appender.NetSendAppender.Sender">
5248             <summary>
5249             Gets or sets the sender of the message.
5250             </summary>
5251             <value>
5252             The sender of the message.
5253             </value>
5254             <remarks>
5255             If this property is not specified, the message is sent from the local computer.
5256             </remarks>
5257         </member>
5258         <member name="P:log4net.Appender.NetSendAppender.Recipient">
5259             <summary>
5260             Gets or sets the message alias to which the message should be sent.
5261             </summary>
5262             <value>
5263             The recipient of the message.
5264             </value>
5265             <remarks>
5266             This property should always be specified in order to send a message.
5267             </remarks>
5268         </member>
5269         <member name="P:log4net.Appender.NetSendAppender.Server">
5270             <summary>
5271             Gets or sets the DNS or NetBIOS name of the remote server on which the function is to execute.
5272             </summary>
5273             <value>
5274             DNS or NetBIOS name of the remote server on which the function is to execute.
5275             </value>
5276             <remarks>
5277             <para>
5278             For Windows NT 4.0 and earlier, the string should begin with \\.
5279             </para>
5280             <para>
5281             If this property is not specified, the local computer is used. 
5282             </para>
5283             </remarks>
5284         </member>
5285         <member name="P:log4net.Appender.NetSendAppender.SecurityContext">
5286             <summary>
5287             Gets or sets the <see cref="P:log4net.Appender.NetSendAppender.SecurityContext"/> used to call the NetSend method.
5288             </summary>
5289             <value>
5290             The <see cref="P:log4net.Appender.NetSendAppender.SecurityContext"/> used to call the NetSend method.
5291             </value>
5292             <remarks>
5293             <para>
5294             Unless a <see cref="P:log4net.Appender.NetSendAppender.SecurityContext"/> specified here for this appender
5295             the <see cref="P:log4net.Core.SecurityContextProvider.DefaultProvider"/> is queried for the
5296             security context to use. The default behavior is to use the security context
5297             of the current thread.
5298             </para>
5299             </remarks>
5300         </member>
5301         <member name="P:log4net.Appender.NetSendAppender.RequiresLayout">
5302             <summary>
5303             This appender requires a <see cref="N:log4net.Layout"/> to be set.
5304             </summary>
5305             <value><c>true</c></value>
5306             <remarks>
5307             <para>
5308             This appender requires a <see cref="N:log4net.Layout"/> to be set.
5309             </para>
5310             </remarks>
5311         </member>
5312         <member name="T:log4net.Appender.OutputDebugStringAppender">
5313             <summary>
5314             Appends log events to the OutputDebugString system.
5315             </summary>
5316             <remarks>
5317             <para>
5318             OutputDebugStringAppender appends log events to the
5319             OutputDebugString system.
5320             </para>
5321             <para>
5322             The string is passed to the native <c>OutputDebugString</c> 
5323             function.
5324             </para>
5325             </remarks>
5326             <author>Nicko Cadell</author>
5327             <author>Gert Driesen</author>
5328         </member>
5329         <member name="M:log4net.Appender.OutputDebugStringAppender.#ctor">
5330             <summary>
5331             Initializes a new instance of the <see cref="T:log4net.Appender.OutputDebugStringAppender"/> class.
5332             </summary>
5333             <remarks>
5334             <para>
5335             Default constructor.
5336             </para>
5337             </remarks>
5338         </member>
5339         <member name="M:log4net.Appender.OutputDebugStringAppender.Append(log4net.Core.LoggingEvent)">
5340             <summary>
5341             Write the logging event to the output debug string API
5342             </summary>
5343             <param name="loggingEvent">the event to log</param>
5344             <remarks>
5345             <para>
5346             Write the logging event to the output debug string API
5347             </para>
5348             </remarks>
5349         </member>
5350         <member name="M:log4net.Appender.OutputDebugStringAppender.OutputDebugString(System.String)">
5351             <summary>
5352             Stub for OutputDebugString native method
5353             </summary>
5354             <param name="message">the string to output</param>
5355             <remarks>
5356             <para>
5357             Stub for OutputDebugString native method
5358             </para>
5359             </remarks>
5360         </member>
5361         <member name="P:log4net.Appender.OutputDebugStringAppender.RequiresLayout">
5362             <summary>
5363             This appender requires a <see cref="N:log4net.Layout"/> to be set.
5364             </summary>
5365             <value><c>true</c></value>
5366             <remarks>
5367             <para>
5368             This appender requires a <see cref="N:log4net.Layout"/> to be set.
5369             </para>
5370             </remarks>
5371         </member>
5372         <member name="T:log4net.Appender.RemoteSyslogAppender">
5373             <summary>
5374             Logs events to a remote syslog daemon.
5375             </summary>
5376             <remarks>
5377             <para>
5378             The BSD syslog protocol is used to remotely log to
5379             a syslog daemon. The syslogd listens for for messages
5380             on UDP port 514.
5381             </para>
5382             <para>
5383             The syslog UDP protocol is not authenticated. Most syslog daemons
5384             do not accept remote log messages because of the security implications.
5385             You may be able to use the LocalSyslogAppender to talk to a local
5386             syslog service.
5387             </para>
5388             <para>
5389             There is an RFC 3164 that claims to document the BSD Syslog Protocol.
5390             This RFC can be seen here: http://www.faqs.org/rfcs/rfc3164.html.
5391             This appender generates what the RFC calls an "Original Device Message",
5392             i.e. does not include the TIMESTAMP or HOSTNAME fields. By observation
5393             this format of message will be accepted by all current syslog daemon
5394             implementations. The daemon will attach the current time and the source
5395             hostname or IP address to any messages received.
5396             </para>
5397             <para>
5398             Syslog messages must have a facility and and a severity. The severity
5399             is derived from the Level of the logging event.
5400             The facility must be chosen from the set of defined syslog 
5401             <see cref="T:log4net.Appender.RemoteSyslogAppender.SyslogFacility"/> values. The facilities list is predefined
5402             and cannot be extended.
5403             </para>
5404             <para>
5405             An identifier is specified with each log message. This can be specified
5406             by setting the <see cref="P:log4net.Appender.RemoteSyslogAppender.Identity"/> property. The identity (also know 
5407             as the tag) must not contain white space. The default value for the
5408             identity is the application name (from <see cref="P:log4net.Core.LoggingEvent.Domain"/>).
5409             </para>
5410             </remarks>
5411             <author>Rob Lyon</author>
5412             <author>Nicko Cadell</author>
5413         </member>
5414         <member name="T:log4net.Appender.UdpAppender">
5415              <summary>
5416              Sends logging events as connectionless UDP datagrams to a remote host or a 
5417              multicast group using an <see cref="T:System.Net.Sockets.UdpClient"/>.
5418              </summary>
5419              <remarks>
5420              <para>
5421              UDP guarantees neither that messages arrive, nor that they arrive in the correct order.
5422              </para>
5423              <para>
5424              To view the logging results, a custom application can be developed that listens for logging 
5425              events.
5426              </para>
5427              <para>
5428              When decoding events send via this appender remember to use the same encoding
5429              to decode the events as was used to send the events. See the <see cref="P:log4net.Appender.UdpAppender.Encoding"/>
5430              property to specify the encoding to use.
5431              </para>
5432              </remarks>
5433              <example>
5434              This example shows how to log receive logging events that are sent 
5435              on IP address 244.0.0.1 and port 8080 to the console. The event is 
5436              encoded in the packet as a unicode string and it is decoded as such. 
5437              <code lang="C#">
5438              IPEndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any, 0);
5439              UdpClient udpClient;
5440              byte[] buffer;
5441              string loggingEvent;
5442              
5443              try 
5444              {
5445                  udpClient = new UdpClient(8080);
5446                  
5447                  while(true) 
5448                  {
5449                      buffer = udpClient.Receive(ref remoteEndPoint);
5450                      loggingEvent = System.Text.Encoding.Unicode.GetString(buffer);
5451                      Console.WriteLine(loggingEvent);
5452                  }
5453              } 
5454              catch(Exception e) 
5455              {
5456                  Console.WriteLine(e.ToString());
5457              }
5458              </code>
5459              <code lang="Visual Basic">
5460              Dim remoteEndPoint as IPEndPoint
5461              Dim udpClient as UdpClient
5462              Dim buffer as Byte()
5463              Dim loggingEvent as String
5464              
5465              Try 
5466                  remoteEndPoint = new IPEndPoint(IPAddress.Any, 0)
5467                  udpClient = new UdpClient(8080)
5468             
5469                  While True
5470                      buffer = udpClient.Receive(ByRef remoteEndPoint)
5471                      loggingEvent = System.Text.Encoding.Unicode.GetString(buffer)
5472                      Console.WriteLine(loggingEvent)
5473                  Wend
5474              Catch e As Exception
5475                  Console.WriteLine(e.ToString())
5476              End Try
5477              </code>
5478              <para>
5479              An example configuration section to log information using this appender to the 
5480              IP 224.0.0.1 on port 8080:
5481              </para>
5482              <code lang="XML" escaped="true">
5483              <appender name="UdpAppender" type="log4net.Appender.UdpAppender">
5484                  <remoteAddress value="224.0.0.1"/>
5485                  <remotePort value="8080"/>
5486                  <layout type="log4net.Layout.PatternLayout" value="%-5level %logger [%ndc] - %message%newline"/>
5487              </appender>
5488              </code>
5489              </example>
5490              <author>Gert Driesen</author>
5491              <author>Nicko Cadell</author>
5492         </member>
5493         <member name="M:log4net.Appender.UdpAppender.#ctor">
5494             <summary>
5495             Initializes a new instance of the <see cref="T:log4net.Appender.UdpAppender"/> class.
5496             </summary>
5497             <remarks>
5498             The default constructor initializes all fields to their default values.
5499             </remarks>
5500         </member>
5501         <member name="M:log4net.Appender.UdpAppender.ActivateOptions">
5502             <summary>
5503             Initialize the appender based on the options set.
5504             </summary>
5505             <remarks>
5506             <para>
5507             This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
5508             activation scheme. The <see cref="M:log4net.Appender.UdpAppender.ActivateOptions"/> method must 
5509             be called on this object after the configuration properties have
5510             been set. Until <see cref="M:log4net.Appender.UdpAppender.ActivateOptions"/> is called this
5511             object is in an undefined state and must not be used. 
5512             </para>
5513             <para>
5514             If any of the configuration properties are modified then 
5515             <see cref="M:log4net.Appender.UdpAppender.ActivateOptions"/> must be called again.
5516             </para>
5517             <para>
5518             The appender will be ignored if no <see cref="P:log4net.Appender.UdpAppender.RemoteAddress"/> was specified or 
5519             an invalid remote or local TCP port number was specified.
5520             </para>
5521             </remarks>
5522             <exception cref="T:System.ArgumentNullException">The required property <see cref="P:log4net.Appender.UdpAppender.RemoteAddress"/> was not specified.</exception>
5523             <exception cref="T:System.ArgumentOutOfRangeException">The TCP port number assigned to <see cref="P:log4net.Appender.UdpAppender.LocalPort"/> or <see cref="P:log4net.Appender.UdpAppender.RemotePort"/> is less than <see cref="F:System.Net.IPEndPoint.MinPort"/> or greater than <see cref="F:System.Net.IPEndPoint.MaxPort"/>.</exception>
5524         </member>
5525         <member name="M:log4net.Appender.UdpAppender.Append(log4net.Core.LoggingEvent)">
5526             <summary>
5527             This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/> method.
5528             </summary>
5529             <param name="loggingEvent">The event to log.</param>
5530             <remarks>
5531             <para>
5532             Sends the event using an UDP datagram.
5533             </para>
5534             <para>
5535             Exceptions are passed to the <see cref="P:log4net.Appender.AppenderSkeleton.ErrorHandler"/>.
5536             </para>
5537             </remarks>
5538         </member>
5539         <member name="M:log4net.Appender.UdpAppender.OnClose">
5540             <summary>
5541             Closes the UDP connection and releases all resources associated with 
5542             this <see cref="T:log4net.Appender.UdpAppender"/> instance.
5543             </summary>
5544             <remarks>
5545             <para>
5546             Disables the underlying <see cref="T:System.Net.Sockets.UdpClient"/> and releases all managed 
5547             and unmanaged resources associated with the <see cref="T:log4net.Appender.UdpAppender"/>.
5548             </para>
5549             </remarks>
5550         </member>
5551         <member name="M:log4net.Appender.UdpAppender.InitializeClientConnection">
5552             <summary>
5553             Initializes the underlying  <see cref="T:System.Net.Sockets.UdpClient"/> connection.
5554             </summary>
5555             <remarks>
5556             <para>
5557             The underlying <see cref="T:System.Net.Sockets.UdpClient"/> is initialized and binds to the 
5558             port number from which you intend to communicate.
5559             </para>
5560             <para>
5561             Exceptions are passed to the <see cref="P:log4net.Appender.AppenderSkeleton.ErrorHandler"/>.
5562             </para>
5563             </remarks>
5564         </member>
5565         <member name="F:log4net.Appender.UdpAppender.m_remoteAddress">
5566             <summary>
5567             The IP address of the remote host or multicast group to which 
5568             the logging event will be sent.
5569             </summary>
5570         </member>
5571         <member name="F:log4net.Appender.UdpAppender.m_remotePort">
5572             <summary>
5573             The TCP port number of the remote host or multicast group to 
5574             which the logging event will be sent.
5575             </summary>
5576         </member>
5577         <member name="F:log4net.Appender.UdpAppender.m_remoteEndPoint">
5578             <summary>
5579             The cached remote endpoint to which the logging events will be sent.
5580             </summary>
5581         </member>
5582         <member name="F:log4net.Appender.UdpAppender.m_localPort">
5583             <summary>
5584             The TCP port number from which the <see cref="T:System.Net.Sockets.UdpClient"/> will communicate.
5585             </summary>
5586         </member>
5587         <member name="F:log4net.Appender.UdpAppender.m_client">
5588             <summary>
5589             The <see cref="T:System.Net.Sockets.UdpClient"/> instance that will be used for sending the 
5590             logging events.
5591             </summary>
5592         </member>
5593         <member name="F:log4net.Appender.UdpAppender.m_encoding">
5594             <summary>
5595             The encoding to use for the packet.
5596             </summary>
5597         </member>
5598         <member name="P:log4net.Appender.UdpAppender.RemoteAddress">
5599             <summary>
5600             Gets or sets the IP address of the remote host or multicast group to which
5601             the underlying <see cref="T:System.Net.Sockets.UdpClient"/> should sent the logging event.
5602             </summary>
5603             <value>
5604             The IP address of the remote host or multicast group to which the logging event 
5605             will be sent.
5606             </value>
5607             <remarks>
5608             <para>
5609             Multicast addresses are identified by IP class <b>D</b> addresses (in the range 224.0.0.0 to
5610             239.255.255.255).  Multicast packets can pass across different networks through routers, so
5611             it is possible to use multicasts in an Internet scenario as long as your network provider 
5612             supports multicasting.
5613             </para>
5614             <para>
5615             Hosts that want to receive particular multicast messages must register their interest by joining
5616             the multicast group.  Multicast messages are not sent to networks where no host has joined
5617             the multicast group.  Class <b>D</b> IP addresses are used for multicast groups, to differentiate
5618             them from normal host addresses, allowing nodes to easily detect if a message is of interest.
5619             </para>
5620             <para>
5621             Static multicast addresses that are needed globally are assigned by IANA.  A few examples are listed in the table below:
5622             </para>
5623             <para>
5624             <list type="table">
5625                 <listheader>
5626                     <term>IP Address</term>
5627                     <description>Description</description>
5628                 </listheader>
5629                 <item>
5630                     <term>224.0.0.1</term>
5631                     <description>
5632                         <para>
5633                         Sends a message to all system on the subnet.
5634                         </para>
5635                     </description>
5636                 </item>
5637                 <item>
5638                     <term>224.0.0.2</term>
5639                     <description>
5640                         <para>
5641                         Sends a message to all routers on the subnet.
5642                         </para>
5643                     </description>
5644                 </item>
5645                 <item>
5646                     <term>224.0.0.12</term>
5647                     <description>
5648                         <para>
5649                         The DHCP server answers messages on the IP address 224.0.0.12, but only on a subnet.
5650                         </para>
5651                     </description>
5652                 </item>
5653             </list>
5654             </para>
5655             <para>
5656             A complete list of actually reserved multicast addresses and their owners in the ranges
5657             defined by RFC 3171 can be found at the <A href="http://www.iana.org/assignments/multicast-addresses">IANA web site</A>. 
5658             </para>
5659             <para>
5660             The address range 239.0.0.0 to 239.255.255.255 is reserved for administrative scope-relative 
5661             addresses.  These addresses can be reused with other local groups.  Routers are typically 
5662             configured with filters to prevent multicast traffic in this range from flowing outside
5663             of the local network.
5664             </para>
5665             </remarks>
5666         </member>
5667         <member name="P:log4net.Appender.UdpAppender.RemotePort">
5668             <summary>
5669             Gets or sets the TCP port number of the remote host or multicast group to which 
5670             the underlying <see cref="T:System.Net.Sockets.UdpClient"/> should sent the logging event.
5671             </summary>
5672             <value>
5673             An integer value in the range <see cref="F:System.Net.IPEndPoint.MinPort"/> to <see cref="F:System.Net.IPEndPoint.MaxPort"/> 
5674             indicating the TCP port number of the remote host or multicast group to which the logging event 
5675             will be sent.
5676             </value>
5677             <remarks>
5678             The underlying <see cref="T:System.Net.Sockets.UdpClient"/> will send messages to this TCP port number
5679             on the remote host or multicast group.
5680             </remarks>
5681             <exception cref="T:System.ArgumentOutOfRangeException">The value specified is less than <see cref="F:System.Net.IPEndPoint.MinPort"/> or greater than <see cref="F:System.Net.IPEndPoint.MaxPort"/>.</exception>
5682         </member>
5683         <member name="P:log4net.Appender.UdpAppender.LocalPort">
5684             <summary>
5685             Gets or sets the TCP port number from which the underlying <see cref="T:System.Net.Sockets.UdpClient"/> will communicate.
5686             </summary>
5687             <value>
5688             An integer value in the range <see cref="F:System.Net.IPEndPoint.MinPort"/> to <see cref="F:System.Net.IPEndPoint.MaxPort"/> 
5689             indicating the TCP port number from which the underlying <see cref="T:System.Net.Sockets.UdpClient"/> will communicate.
5690             </value>
5691             <remarks>
5692             <para>
5693             The underlying <see cref="T:System.Net.Sockets.UdpClient"/> will bind to this port for sending messages.
5694             </para>
5695             <para>
5696             Setting the value to 0 (the default) will cause the udp client not to bind to
5697             a local port.
5698             </para>
5699             </remarks>
5700             <exception cref="T:System.ArgumentOutOfRangeException">The value specified is less than <see cref="F:System.Net.IPEndPoint.MinPort"/> or greater than <see cref="F:System.Net.IPEndPoint.MaxPort"/>.</exception>
5701         </member>
5702         <member name="P:log4net.Appender.UdpAppender.Encoding">
5703             <summary>
5704             Gets or sets <see cref="P:log4net.Appender.UdpAppender.Encoding"/> used to write the packets.
5705             </summary>
5706             <value>
5707             The <see cref="P:log4net.Appender.UdpAppender.Encoding"/> used to write the packets.
5708             </value>
5709             <remarks>
5710             <para>
5711             The <see cref="P:log4net.Appender.UdpAppender.Encoding"/> used to write the packets.
5712             </para>
5713             </remarks>
5714         </member>
5715         <member name="P:log4net.Appender.UdpAppender.Client">
5716             <summary>
5717             Gets or sets the underlying <see cref="T:System.Net.Sockets.UdpClient"/>.
5718             </summary>
5719             <value>
5720             The underlying <see cref="T:System.Net.Sockets.UdpClient"/>.
5721             </value>
5722             <remarks>
5723             <see cref="T:log4net.Appender.UdpAppender"/> creates a <see cref="T:System.Net.Sockets.UdpClient"/> to send logging events 
5724             over a network.  Classes deriving from <see cref="T:log4net.Appender.UdpAppender"/> can use this
5725             property to get or set this <see cref="T:System.Net.Sockets.UdpClient"/>.  Use the underlying <see cref="T:System.Net.Sockets.UdpClient"/>
5726             returned from <see cref="P:log4net.Appender.UdpAppender.Client"/> if you require access beyond that which 
5727             <see cref="T:log4net.Appender.UdpAppender"/> provides.
5728             </remarks>
5729         </member>
5730         <member name="P:log4net.Appender.UdpAppender.RemoteEndPoint">
5731             <summary>
5732             Gets or sets the cached remote endpoint to which the logging events should be sent.
5733             </summary>
5734             <value>
5735             The cached remote endpoint to which the logging events will be sent.
5736             </value>
5737             <remarks>
5738             The <see cref="M:log4net.Appender.UdpAppender.ActivateOptions"/> method will initialize the remote endpoint 
5739             with the values of the <see cref="P:log4net.Appender.UdpAppender.RemoteAddress"/> and <see cref="P:log4net.Appender.UdpAppender.RemotePort"/>
5740             properties.
5741             </remarks>
5742         </member>
5743         <member name="P:log4net.Appender.UdpAppender.RequiresLayout">
5744             <summary>
5745             This appender requires a <see cref="N:log4net.Layout"/> to be set.
5746             </summary>
5747             <value><c>true</c></value>
5748             <remarks>
5749             <para>
5750             This appender requires a <see cref="N:log4net.Layout"/> to be set.
5751             </para>
5752             </remarks>
5753         </member>
5754         <member name="F:log4net.Appender.RemoteSyslogAppender.DefaultSyslogPort">
5755             <summary>
5756             Syslog port 514
5757             </summary>
5758         </member>
5759         <member name="M:log4net.Appender.RemoteSyslogAppender.#ctor">
5760             <summary>
5761             Initializes a new instance of the <see cref="T:log4net.Appender.RemoteSyslogAppender"/> class.
5762             </summary>
5763             <remarks>
5764             This instance of the <see cref="T:log4net.Appender.RemoteSyslogAppender"/> class is set up to write 
5765             to a remote syslog daemon.
5766             </remarks>
5767         </member>
5768         <member name="M:log4net.Appender.RemoteSyslogAppender.AddMapping(log4net.Appender.RemoteSyslogAppender.LevelSeverity)">
5769             <summary>
5770             Add a mapping of level to severity
5771             </summary>
5772             <param name="mapping">The mapping to add</param>
5773             <remarks>
5774             <para>
5775             Add a <see cref="T:log4net.Appender.RemoteSyslogAppender.LevelSeverity"/> mapping to this appender.
5776             </para>
5777             </remarks>
5778         </member>
5779         <member name="M:log4net.Appender.RemoteSyslogAppender.Append(log4net.Core.LoggingEvent)">
5780             <summary>
5781             This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/> method.
5782             </summary>
5783             <param name="loggingEvent">The event to log.</param>
5784             <remarks>
5785             <para>
5786             Writes the event to a remote syslog daemon.
5787             </para>
5788             <para>
5789             The format of the output will depend on the appender's layout.
5790             </para>
5791             </remarks>
5792         </member>
5793         <member name="M:log4net.Appender.RemoteSyslogAppender.ActivateOptions">
5794             <summary>
5795             Initialize the options for this appender
5796             </summary>
5797             <remarks>
5798             <para>
5799             Initialize the level to syslog severity mappings set on this appender.
5800             </para>
5801             </remarks>
5802         </member>
5803         <member name="M:log4net.Appender.RemoteSyslogAppender.GetSeverity(log4net.Core.Level)">
5804             <summary>
5805             Translates a log4net level to a syslog severity.
5806             </summary>
5807             <param name="level">A log4net level.</param>
5808             <returns>A syslog severity.</returns>
5809             <remarks>
5810             <para>
5811             Translates a log4net level to a syslog severity.
5812             </para>
5813             </remarks>
5814         </member>
5815         <member name="M:log4net.Appender.RemoteSyslogAppender.GeneratePriority(log4net.Appender.RemoteSyslogAppender.SyslogFacility,log4net.Appender.RemoteSyslogAppender.SyslogSeverity)">
5816             <summary>
5817             Generate a syslog priority.
5818             </summary>
5819             <param name="facility">The syslog facility.</param>
5820             <param name="severity">The syslog severity.</param>
5821             <returns>A syslog priority.</returns>
5822             <remarks>
5823             <para>
5824             Generate a syslog priority.
5825             </para>
5826             </remarks>
5827         </member>
5828         <member name="F:log4net.Appender.RemoteSyslogAppender.m_facility">
5829             <summary>
5830             The facility. The default facility is <see cref="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.User"/>.
5831             </summary>
5832         </member>
5833         <member name="F:log4net.Appender.RemoteSyslogAppender.m_identity">
5834             <summary>
5835             The message identity
5836             </summary>
5837         </member>
5838         <member name="F:log4net.Appender.RemoteSyslogAppender.m_levelMapping">
5839             <summary>
5840             Mapping from level object to syslog severity
5841             </summary>
5842         </member>
5843         <member name="P:log4net.Appender.RemoteSyslogAppender.Identity">
5844             <summary>
5845             Message identity
5846             </summary>
5847             <remarks>
5848             <para>
5849             An identifier is specified with each log message. This can be specified
5850             by setting the <see cref="P:log4net.Appender.RemoteSyslogAppender.Identity"/> property. The identity (also know 
5851             as the tag) must not contain white space. The default value for the
5852             identity is the application name (from <see cref="P:log4net.Core.LoggingEvent.Domain"/>).
5853             </para>
5854             </remarks>
5855         </member>
5856         <member name="P:log4net.Appender.RemoteSyslogAppender.Facility">
5857             <summary>
5858             Syslog facility
5859             </summary>
5860             <remarks>
5861             Set to one of the <see cref="T:log4net.Appender.RemoteSyslogAppender.SyslogFacility"/> values. The list of
5862             facilities is predefined and cannot be extended. The default value
5863             is <see cref="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.User"/>.
5864             </remarks>
5865         </member>
5866         <member name="T:log4net.Appender.RemoteSyslogAppender.SyslogSeverity">
5867             <summary>
5868             syslog severities
5869             </summary>
5870             <remarks>
5871             <para>
5872             The syslog severities.
5873             </para>
5874             </remarks>
5875         </member>
5876         <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Emergency">
5877             <summary>
5878             system is unusable
5879             </summary>
5880         </member>
5881         <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Alert">
5882             <summary>
5883             action must be taken immediately
5884             </summary>
5885         </member>
5886         <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Critical">
5887             <summary>
5888             critical conditions
5889             </summary>
5890         </member>
5891         <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Error">
5892             <summary>
5893             error conditions
5894             </summary>
5895         </member>
5896         <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Warning">
5897             <summary>
5898             warning conditions
5899             </summary>
5900         </member>
5901         <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Notice">
5902             <summary>
5903             normal but significant condition
5904             </summary>
5905         </member>
5906         <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Informational">
5907             <summary>
5908             informational
5909             </summary>
5910         </member>
5911         <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Debug">
5912             <summary>
5913             debug-level messages
5914             </summary>
5915         </member>
5916         <member name="T:log4net.Appender.RemoteSyslogAppender.SyslogFacility">
5917             <summary>
5918             syslog facilities
5919             </summary>
5920             <remarks>
5921             <para>
5922             The syslog facilities
5923             </para>
5924             </remarks>
5925         </member>
5926         <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Kernel">
5927             <summary>
5928             kernel messages
5929             </summary>
5930         </member>
5931         <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.User">
5932             <summary>
5933             random user-level messages
5934             </summary>
5935         </member>
5936         <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Mail">
5937             <summary>
5938             mail system
5939             </summary>
5940         </member>
5941         <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Daemons">
5942             <summary>
5943             system daemons
5944             </summary>
5945         </member>
5946         <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Authorization">
5947             <summary>
5948             security/authorization messages
5949             </summary>
5950         </member>
5951         <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Syslog">
5952             <summary>
5953             messages generated internally by syslogd
5954             </summary>
5955         </member>
5956         <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Printer">
5957             <summary>
5958             line printer subsystem
5959             </summary>
5960         </member>
5961         <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.News">
5962             <summary>
5963             network news subsystem
5964             </summary>
5965         </member>
5966         <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Uucp">
5967             <summary>
5968             UUCP subsystem
5969             </summary>
5970         </member>
5971         <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Clock">
5972             <summary>
5973             clock (cron/at) daemon
5974             </summary>
5975         </member>
5976         <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Authorization2">
5977             <summary>
5978             security/authorization  messages (private)
5979             </summary>
5980         </member>
5981         <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Ftp">
5982             <summary>
5983             ftp daemon
5984             </summary>
5985         </member>
5986         <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Ntp">
5987             <summary>
5988             NTP subsystem
5989             </summary>
5990         </member>
5991         <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Audit">
5992             <summary>
5993             log audit
5994             </summary>
5995         </member>
5996         <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Alert">
5997             <summary>
5998             log alert
5999             </summary>
6000         </member>
6001         <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Clock2">
6002             <summary>
6003             clock daemon
6004             </summary>
6005         </member>
6006         <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local0">
6007             <summary>
6008             reserved for local use
6009             </summary>
6010         </member>
6011         <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local1">
6012             <summary>
6013             reserved for local use
6014             </summary>
6015         </member>
6016         <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local2">
6017             <summary>
6018             reserved for local use
6019             </summary>
6020         </member>
6021         <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local3">
6022             <summary>
6023             reserved for local use
6024             </summary>
6025         </member>
6026         <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local4">
6027             <summary>
6028             reserved for local use
6029             </summary>
6030         </member>
6031         <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local5">
6032             <summary>
6033             reserved for local use
6034             </summary>
6035         </member>
6036         <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local6">
6037             <summary>
6038             reserved for local use
6039             </summary>
6040         </member>
6041         <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local7">
6042             <summary>
6043             reserved for local use
6044             </summary>
6045         </member>
6046         <member name="T:log4net.Appender.RemoteSyslogAppender.LevelSeverity">
6047             <summary>
6048             A class to act as a mapping between the level that a logging call is made at and
6049             the syslog severity that is should be logged at.
6050             </summary>
6051             <remarks>
6052             <para>
6053             A class to act as a mapping between the level that a logging call is made at and
6054             the syslog severity that is should be logged at.
6055             </para>
6056             </remarks>
6057         </member>
6058         <member name="P:log4net.Appender.RemoteSyslogAppender.LevelSeverity.Severity">
6059             <summary>
6060             The mapped syslog severity for the specified level
6061             </summary>
6062             <remarks>
6063             <para>
6064             Required property.
6065             The mapped syslog severity for the specified level
6066             </para>
6067             </remarks>
6068         </member>
6069         <member name="T:log4net.Appender.RemotingAppender">
6070             <summary>
6071             Delivers logging events to a remote logging sink. 
6072             </summary>
6073             <remarks>
6074             <para>
6075             This Appender is designed to deliver events to a remote sink. 
6076             That is any object that implements the <see cref="T:log4net.Appender.RemotingAppender.IRemoteLoggingSink"/>
6077             interface. It delivers the events using .NET remoting. The
6078             object to deliver events to is specified by setting the
6079             appenders <see cref="P:log4net.Appender.RemotingAppender.Sink"/> property.</para>
6080             <para>
6081             The RemotingAppender buffers events before sending them. This allows it to 
6082             make more efficient use of the remoting infrastructure.</para>
6083             <para>
6084             Once the buffer is full the events are still not sent immediately. 
6085             They are scheduled to be sent using a pool thread. The effect is that 
6086             the send occurs asynchronously. This is very important for a 
6087             number of non obvious reasons. The remoting infrastructure will 
6088             flow thread local variables (stored in the <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/>),
6089             if they are marked as <see cref="T:System.Runtime.Remoting.Messaging.ILogicalThreadAffinative"/>, across the 
6090             remoting boundary. If the server is not contactable then
6091             the remoting infrastructure will clear the <see cref="T:System.Runtime.Remoting.Messaging.ILogicalThreadAffinative"/>
6092             objects from the <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/>. To prevent a logging failure from
6093             having side effects on the calling application the remoting call must be made
6094             from a separate thread to the one used by the application. A <see cref="T:System.Threading.ThreadPool"/>
6095             thread is used for this. If no <see cref="T:System.Threading.ThreadPool"/> thread is available then
6096             the events will block in the thread pool manager until a thread is available.</para>
6097             <para>
6098             Because the events are sent asynchronously using pool threads it is possible to close 
6099             this appender before all the queued events have been sent.
6100             When closing the appender attempts to wait until all the queued events have been sent, but 
6101             this will timeout after 30 seconds regardless.</para>
6102             <para>
6103             If this appender is being closed because the <see cref="E:System.AppDomain.ProcessExit"/>
6104             event has fired it may not be possible to send all the queued events. During process
6105             exit the runtime limits the time that a <see cref="E:System.AppDomain.ProcessExit"/>
6106             event handler is allowed to run for. If the runtime terminates the threads before
6107             the queued events have been sent then they will be lost. To ensure that all events
6108             are sent the appender must be closed before the application exits. See 
6109             <see cref="M:log4net.Core.LoggerManager.Shutdown"/> for details on how to shutdown
6110             log4net programmatically.</para>
6111             </remarks>
6112             <seealso cref="T:log4net.Appender.RemotingAppender.IRemoteLoggingSink"/>
6113             <author>Nicko Cadell</author>
6114             <author>Gert Driesen</author>
6115             <author>Daniel Cazzulino</author>
6116         </member>
6117         <member name="M:log4net.Appender.RemotingAppender.#ctor">
6118             <summary>
6119             Initializes a new instance of the <see cref="T:log4net.Appender.RemotingAppender"/> class.
6120             </summary>
6121             <remarks>
6122             <para>
6123             Default constructor.
6124             </para>
6125             </remarks>
6126         </member>
6127         <member name="M:log4net.Appender.RemotingAppender.ActivateOptions">
6128             <summary>
6129             Initialize the appender based on the options set
6130             </summary>
6131             <remarks>
6132             <para>
6133             This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
6134             activation scheme. The <see cref="M:log4net.Appender.RemotingAppender.ActivateOptions"/> method must 
6135             be called on this object after the configuration properties have
6136             been set. Until <see cref="M:log4net.Appender.RemotingAppender.ActivateOptions"/> is called this
6137             object is in an undefined state and must not be used. 
6138             </para>
6139             <para>
6140             If any of the configuration properties are modified then 
6141             <see cref="M:log4net.Appender.RemotingAppender.ActivateOptions"/> must be called again.
6142             </para>
6143             </remarks>
6144         </member>
6145         <member name="M:log4net.Appender.RemotingAppender.SendBuffer(log4net.Core.LoggingEvent[])">
6146             <summary>
6147             Send the contents of the buffer to the remote sink.
6148             </summary>
6149             <remarks>
6150             The events are not sent immediately. They are scheduled to be sent
6151             using a pool thread. The effect is that the send occurs asynchronously.
6152             This is very important for a number of non obvious reasons. The remoting
6153             infrastructure will flow thread local variables (stored in the <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/>),
6154             if they are marked as <see cref="T:System.Runtime.Remoting.Messaging.ILogicalThreadAffinative"/>, across the 
6155             remoting boundary. If the server is not contactable then
6156             the remoting infrastructure will clear the <see cref="T:System.Runtime.Remoting.Messaging.ILogicalThreadAffinative"/>
6157             objects from the <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/>. To prevent a logging failure from
6158             having side effects on the calling application the remoting call must be made
6159             from a separate thread to the one used by the application. A <see cref="T:System.Threading.ThreadPool"/>
6160             thread is used for this. If no <see cref="T:System.Threading.ThreadPool"/> thread is available then
6161             the events will block in the thread pool manager until a thread is available.
6162             </remarks>
6163             <param name="events">The events to send.</param>
6164         </member>
6165         <member name="M:log4net.Appender.RemotingAppender.OnClose">
6166             <summary>
6167             Override base class close.
6168             </summary>
6169             <remarks>
6170             <para>
6171             This method waits while there are queued work items. The events are
6172             sent asynchronously using <see cref="T:System.Threading.ThreadPool"/> work items. These items
6173             will be sent once a thread pool thread is available to send them, therefore
6174             it is possible to close the appender before all the queued events have been
6175             sent.</para>
6176             <para>
6177             This method attempts to wait until all the queued events have been sent, but this 
6178             method will timeout after 30 seconds regardless.</para>
6179             <para>
6180             If the appender is being closed because the <see cref="E:System.AppDomain.ProcessExit"/>
6181             event has fired it may not be possible to send all the queued events. During process
6182             exit the runtime limits the time that a <see cref="E:System.AppDomain.ProcessExit"/>
6183             event handler is allowed to run for.</para>
6184             </remarks>
6185         </member>
6186         <member name="M:log4net.Appender.RemotingAppender.BeginAsyncSend">
6187             <summary>
6188             A work item is being queued into the thread pool
6189             </summary>
6190         </member>
6191         <member name="M:log4net.Appender.RemotingAppender.EndAsyncSend">
6192             <summary>
6193             A work item from the thread pool has completed
6194             </summary>
6195         </member>
6196         <member name="M:log4net.Appender.RemotingAppender.SendBufferCallback(System.Object)">
6197             <summary>
6198             Send the contents of the buffer to the remote sink.
6199             </summary>
6200             <remarks>
6201             This method is designed to be used with the <see cref="T:System.Threading.ThreadPool"/>.
6202             This method expects to be passed an array of <see cref="T:log4net.Core.LoggingEvent"/>
6203             objects in the state param.
6204             </remarks>
6205             <param name="state">the logging events to send</param>
6206         </member>
6207         <member name="F:log4net.Appender.RemotingAppender.m_sinkUrl">
6208             <summary>
6209             The URL of the remote sink.
6210             </summary>
6211         </member>
6212         <member name="F:log4net.Appender.RemotingAppender.m_sinkObj">
6213             <summary>
6214             The local proxy (.NET remoting) for the remote logging sink.
6215             </summary>
6216         </member>
6217         <member name="F:log4net.Appender.RemotingAppender.m_queuedCallbackCount">
6218             <summary>
6219             The number of queued callbacks currently waiting or executing
6220             </summary>
6221         </member>
6222         <member name="F:log4net.Appender.RemotingAppender.m_workQueueEmptyEvent">
6223             <summary>
6224             Event used to signal when there are no queued work items
6225             </summary>
6226             <remarks>
6227             This event is set when there are no queued work items. In this
6228             state it is safe to close the appender.
6229             </remarks>
6230         </member>
6231         <member name="P:log4net.Appender.RemotingAppender.Sink">
6232             <summary>
6233             Gets or sets the URL of the well-known object that will accept 
6234             the logging events.
6235             </summary>
6236             <value>
6237             The well-known URL of the remote sink.
6238             </value>
6239             <remarks>
6240             <para>
6241             The URL of the remoting sink that will accept logging events.
6242             The sink must implement the <see cref="T:log4net.Appender.RemotingAppender.IRemoteLoggingSink"/>
6243             interface.
6244             </para>
6245             </remarks>
6246         </member>
6247         <member name="T:log4net.Appender.RemotingAppender.IRemoteLoggingSink">
6248             <summary>
6249             Interface used to deliver <see cref="T:log4net.Core.LoggingEvent"/> objects to a remote sink.
6250             </summary>
6251             <remarks>
6252             This interface must be implemented by a remoting sink
6253             if the <see cref="T:log4net.Appender.RemotingAppender"/> is to be used
6254             to deliver logging events to the sink.
6255             </remarks>
6256         </member>
6257         <member name="M:log4net.Appender.RemotingAppender.IRemoteLoggingSink.LogEvents(log4net.Core.LoggingEvent[])">
6258             <summary>
6259             Delivers logging events to the remote sink
6260             </summary>
6261             <param name="events">Array of events to log.</param>
6262             <remarks>
6263             <para>
6264             Delivers logging events to the remote sink
6265             </para>
6266             </remarks>
6267         </member>
6268         <member name="T:log4net.Appender.RollingFileAppender">
6269             <summary>
6270             Appender that rolls log files based on size or date or both.
6271             </summary>
6272             <remarks>
6273             <para>
6274             RollingFileAppender can roll log files based on size or date or both
6275             depending on the setting of the <see cref="P:log4net.Appender.RollingFileAppender.RollingStyle"/> property.
6276             When set to <see cref="F:log4net.Appender.RollingFileAppender.RollingMode.Size"/> the log file will be rolled
6277             once its size exceeds the <see cref="P:log4net.Appender.RollingFileAppender.MaximumFileSize"/>.
6278             When set to <see cref="F:log4net.Appender.RollingFileAppender.RollingMode.Date"/> the log file will be rolled
6279             once the date boundary specified in the <see cref="P:log4net.Appender.RollingFileAppender.DatePattern"/> property
6280             is crossed.
6281             When set to <see cref="F:log4net.Appender.RollingFileAppender.RollingMode.Composite"/> the log file will be
6282             rolled once the date boundary specified in the <see cref="P:log4net.Appender.RollingFileAppender.DatePattern"/> property
6283             is crossed, but within a date boundary the file will also be rolled
6284             once its size exceeds the <see cref="P:log4net.Appender.RollingFileAppender.MaximumFileSize"/>.
6285             When set to <see cref="F:log4net.Appender.RollingFileAppender.RollingMode.Once"/> the log file will be rolled when
6286             the appender is configured. This effectively means that the log file can be
6287             rolled once per program execution.
6288             </para>
6289             <para>
6290             A of few additional optional features have been added:
6291             <list type="bullet">
6292             <item>Attach date pattern for current log file <see cref="P:log4net.Appender.RollingFileAppender.StaticLogFileName"/></item>
6293             <item>Backup number increments for newer files <see cref="P:log4net.Appender.RollingFileAppender.CountDirection"/></item>
6294             <item>Infinite number of backups by file size <see cref="P:log4net.Appender.RollingFileAppender.MaxSizeRollBackups"/></item>
6295             </list>
6296             </para>
6297             
6298             <note>
6299             <para>
6300             For large or infinite numbers of backup files a <see cref="P:log4net.Appender.RollingFileAppender.CountDirection"/> 
6301             greater than zero is highly recommended, otherwise all the backup files need
6302             to be renamed each time a new backup is created.
6303             </para>
6304             <para>
6305             When Date/Time based rolling is used setting <see cref="P:log4net.Appender.RollingFileAppender.StaticLogFileName"/> 
6306             to <see langword="true"/> will reduce the number of file renamings to few or none.
6307             </para>
6308             </note>
6309             
6310             <note type="caution">
6311             <para>
6312             Changing <see cref="P:log4net.Appender.RollingFileAppender.StaticLogFileName"/> or <see cref="P:log4net.Appender.RollingFileAppender.CountDirection"/> without clearing
6313             the log file directory of backup files will cause unexpected and unwanted side effects.  
6314             </para>
6315             </note>
6316             
6317             <para>
6318             If Date/Time based rolling is enabled this appender will attempt to roll existing files
6319             in the directory without a Date/Time tag based on the last write date of the base log file.
6320             The appender only rolls the log file when a message is logged. If Date/Time based rolling 
6321             is enabled then the appender will not roll the log file at the Date/Time boundary but
6322             at the point when the next message is logged after the boundary has been crossed.
6323             </para>
6324             
6325             <para>
6326             The <see cref="T:log4net.Appender.RollingFileAppender"/> extends the <see cref="T:log4net.Appender.FileAppender"/> and
6327             has the same behavior when opening the log file.
6328             The appender will first try to open the file for writing when <see cref="M:log4net.Appender.RollingFileAppender.ActivateOptions"/>
6329             is called. This will typically be during configuration.
6330             If the file cannot be opened for writing the appender will attempt
6331             to open the file again each time a message is logged to the appender.
6332             If the file cannot be opened for writing when a message is logged then
6333             the message will be discarded by this appender.
6334             </para>
6335             <para>
6336             When rolling a backup file necessitates deleting an older backup file the
6337             file to be deleted is moved to a temporary name before being deleted.
6338             </para>
6339             
6340             <note type="caution">
6341             <para>
6342             A maximum number of backup files when rolling on date/time boundaries is not supported.
6343             </para>
6344             </note>
6345             </remarks>
6346             <author>Nicko Cadell</author>
6347             <author>Gert Driesen</author>
6348             <author>Aspi Havewala</author>
6349             <author>Douglas de la Torre</author>
6350             <author>Edward Smit</author>
6351         </member>
6352         <member name="M:log4net.Appender.RollingFileAppender.#ctor">
6353             <summary>
6354             Initializes a new instance of the <see cref="T:log4net.Appender.RollingFileAppender"/> class.
6355             </summary>
6356             <remarks>
6357             <para>
6358             Default constructor.
6359             </para>
6360             </remarks>
6361         </member>
6362         <member name="M:log4net.Appender.RollingFileAppender.SetQWForFiles(System.IO.TextWriter)">
6363             <summary>
6364             Sets the quiet writer being used.
6365             </summary>
6366             <remarks>
6367             This method can be overridden by sub classes.
6368             </remarks>
6369             <param name="writer">the writer to set</param>
6370         </member>
6371         <member name="M:log4net.Appender.RollingFileAppender.Append(log4net.Core.LoggingEvent)">
6372             <summary>
6373             Write out a logging event.
6374             </summary>
6375             <param name="loggingEvent">the event to write to file.</param>
6376             <remarks>
6377             <para>
6378             Handles append time behavior for RollingFileAppender.  This checks
6379             if a roll over either by date (checked first) or time (checked second)
6380             is need and then appends to the file last.
6381             </para>
6382             </remarks>
6383         </member>
6384         <member name="M:log4net.Appender.RollingFileAppender.Append(log4net.Core.LoggingEvent[])">
6385             <summary>
6386             Write out an array of logging events.
6387             </summary>
6388             <param name="loggingEvents">the events to write to file.</param>
6389             <remarks>
6390             <para>
6391             Handles append time behavior for RollingFileAppender.  This checks
6392             if a roll over either by date (checked first) or time (checked second)
6393             is need and then appends to the file last.
6394             </para>
6395             </remarks>
6396         </member>
6397         <member name="M:log4net.Appender.RollingFileAppender.AdjustFileBeforeAppend">
6398             <summary>
6399             Performs any required rolling before outputting the next event
6400             </summary>
6401             <remarks>
6402             <para>
6403             Handles append time behavior for RollingFileAppender.  This checks
6404             if a roll over either by date (checked first) or time (checked second)
6405             is need and then appends to the file last.
6406             </para>
6407             </remarks>
6408         </member>
6409         <member name="M:log4net.Appender.RollingFileAppender.OpenFile(System.String,System.Boolean)">
6410             <summary>
6411             Creates and opens the file for logging.  If <see cref="P:log4net.Appender.RollingFileAppender.StaticLogFileName"/>
6412             is false then the fully qualified name is determined and used.
6413             </summary>
6414             <param name="fileName">the name of the file to open</param>
6415             <param name="append">true to append to existing file</param>
6416             <remarks>
6417             <para>This method will ensure that the directory structure
6418             for the <paramref name="fileName"/> specified exists.</para>
6419             </remarks>
6420         </member>
6421         <member name="M:log4net.Appender.RollingFileAppender.GetNextOutputFileName(System.String)">
6422             <summary>
6423             Get the current output file name
6424             </summary>
6425             <param name="fileName">the base file name</param>
6426             <returns>the output file name</returns>
6427             <remarks>
6428             The output file name is based on the base fileName specified.
6429             If <see cref="P:log4net.Appender.RollingFileAppender.StaticLogFileName"/> is set then the output 
6430             file name is the same as the base file passed in. Otherwise
6431             the output file depends on the date pattern, on the count
6432             direction or both.
6433             </remarks>
6434         </member>
6435         <member name="M:log4net.Appender.RollingFileAppender.DetermineCurSizeRollBackups">
6436             <summary>
6437             Determines curSizeRollBackups (only within the current roll point)
6438             </summary>
6439         </member>
6440         <member name="M:log4net.Appender.RollingFileAppender.GetWildcardPatternForFile(System.String)">
6441             <summary>
6442             Generates a wildcard pattern that can be used to find all files
6443             that are similar to the base file name.
6444             </summary>
6445             <param name="baseFileName"></param>
6446             <returns></returns>
6447         </member>
6448         <member name="M:log4net.Appender.RollingFileAppender.GetExistingFiles(System.String)">
6449             <summary>
6450             Builds a list of filenames for all files matching the base filename plus a file
6451             pattern.
6452             </summary>
6453             <param name="baseFilePath"></param>
6454             <returns></returns>
6455         </member>
6456         <member name="M:log4net.Appender.RollingFileAppender.RollOverIfDateBoundaryCrossing">
6457             <summary>
6458             Initiates a roll over if needed for crossing a date boundary since the last run.
6459             </summary>
6460         </member>
6461         <member name="M:log4net.Appender.RollingFileAppender.ExistingInit">
6462             <summary>
6463             Initializes based on existing conditions at time of <see cref="M:log4net.Appender.RollingFileAppender.ActivateOptions"/>.
6464             </summary>
6465             <remarks>
6466             <para>
6467             Initializes based on existing conditions at time of <see cref="M:log4net.Appender.RollingFileAppender.ActivateOptions"/>.
6468             The following is done
6469             <list type="bullet">
6470             <item>determine curSizeRollBackups (only within the current roll point)</item>
6471             <item>initiates a roll over if needed for crossing a date boundary since the last run.</item>
6472             </list>
6473             </para>
6474             </remarks>
6475         </member>
6476         <member name="M:log4net.Appender.RollingFileAppender.InitializeFromOneFile(System.String,System.String)">
6477             <summary>
6478             Does the work of bumping the 'current' file counter higher
6479             to the highest count when an incremental file name is seen.
6480             The highest count is either the first file (when count direction
6481             is greater than 0) or the last file (when count direction less than 0).
6482             In either case, we want to know the highest count that is present.
6483             </summary>
6484             <param name="baseFile"></param>
6485             <param name="curFileName"></param>
6486         </member>
6487         <member name="M:log4net.Appender.RollingFileAppender.InitializeRollBackups(System.String,System.Collections.ArrayList)">
6488             <summary>
6489             Takes a list of files and a base file name, and looks for 
6490             'incremented' versions of the base file.  Bumps the max
6491             count up to the highest count seen.
6492             </summary>
6493             <param name="baseFile"></param>
6494             <param name="arrayFiles"></param>
6495         </member>
6496         <member name="M:log4net.Appender.RollingFileAppender.ComputeCheckPeriod(System.String)">
6497             <summary>
6498             Calculates the RollPoint for the datePattern supplied.
6499             </summary>
6500             <param name="datePattern">the date pattern to calculate the check period for</param>
6501             <returns>The RollPoint that is most accurate for the date pattern supplied</returns>
6502             <remarks>
6503             Essentially the date pattern is examined to determine what the
6504             most suitable roll point is. The roll point chosen is the roll point
6505             with the smallest period that can be detected using the date pattern
6506             supplied. i.e. if the date pattern only outputs the year, month, day 
6507             and hour then the smallest roll point that can be detected would be
6508             and hourly roll point as minutes could not be detected.
6509             </remarks>
6510         </member>
6511         <member name="M:log4net.Appender.RollingFileAppender.ActivateOptions">
6512             <summary>
6513             Initialize the appender based on the options set
6514             </summary>
6515             <remarks>
6516             <para>
6517             This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
6518             activation scheme. The <see cref="M:log4net.Appender.RollingFileAppender.ActivateOptions"/> method must 
6519             be called on this object after the configuration properties have
6520             been set. Until <see cref="M:log4net.Appender.RollingFileAppender.ActivateOptions"/> is called this
6521             object is in an undefined state and must not be used. 
6522             </para>
6523             <para>
6524             If any of the configuration properties are modified then 
6525             <see cref="M:log4net.Appender.RollingFileAppender.ActivateOptions"/> must be called again.
6526             </para>
6527             <para>
6528             Sets initial conditions including date/time roll over information, first check,
6529             scheduledFilename, and calls <see cref="M:log4net.Appender.RollingFileAppender.ExistingInit"/> to initialize
6530             the current number of backups.
6531             </para>
6532             </remarks>
6533         </member>
6534         <member name="M:log4net.Appender.RollingFileAppender.RollOverTime(System.Boolean)">
6535             <summary>
6536             Rollover the file(s) to date/time tagged file(s).
6537             </summary>
6538             <param name="fileIsOpen">set to true if the file to be rolled is currently open</param>
6539             <remarks>
6540             <para>
6541             Rollover the file(s) to date/time tagged file(s).
6542             Resets curSizeRollBackups. 
6543             If fileIsOpen is set then the new file is opened (through SafeOpenFile).
6544             </para>
6545             </remarks>
6546         </member>
6547         <member name="M:log4net.Appender.RollingFileAppender.RollFile(System.String,System.String)">
6548             <summary>
6549             Renames file <paramref name="fromFile"/> to file <paramref name="toFile"/>.
6550             </summary>
6551             <param name="fromFile">Name of existing file to roll.</param>
6552             <param name="toFile">New name for file.</param>
6553             <remarks>
6554             <para>
6555             Renames file <paramref name="fromFile"/> to file <paramref name="toFile"/>. It
6556             also checks for existence of target file and deletes if it does.
6557             </para>
6558             </remarks>
6559         </member>
6560         <member name="M:log4net.Appender.RollingFileAppender.FileExists(System.String)">
6561             <summary>
6562             Test if a file exists at a specified path
6563             </summary>
6564             <param name="path">the path to the file</param>
6565             <returns>true if the file exists</returns>
6566             <remarks>
6567             <para>
6568             Test if a file exists at a specified path
6569             </para>
6570             </remarks>
6571         </member>
6572         <member name="M:log4net.Appender.RollingFileAppender.DeleteFile(System.String)">
6573             <summary>
6574             Deletes the specified file if it exists.
6575             </summary>
6576             <param name="fileName">The file to delete.</param>
6577             <remarks>
6578             <para>
6579             Delete a file if is exists.
6580             The file is first moved to a new filename then deleted.
6581             This allows the file to be removed even when it cannot
6582             be deleted, but it still can be moved.
6583             </para>
6584             </remarks>
6585         </member>
6586         <member name="M:log4net.Appender.RollingFileAppender.RollOverSize">
6587             <summary>
6588             Implements file roll base on file size.
6589             </summary>
6590             <remarks>
6591             <para>
6592             If the maximum number of size based backups is reached
6593             (<c>curSizeRollBackups == maxSizeRollBackups</c>) then the oldest
6594             file is deleted -- its index determined by the sign of countDirection.
6595             If <c>countDirection</c> &lt; 0, then files
6596             {<c>File.1</c>, ..., <c>File.curSizeRollBackups -1</c>}
6597             are renamed to {<c>File.2</c>, ...,
6598             <c>File.curSizeRollBackups</c>}. Moreover, <c>File</c> is
6599             renamed <c>File.1</c> and closed.
6600             </para>
6601             <para>
6602             A new file is created to receive further log output.
6603             </para>
6604             <para>
6605             If <c>maxSizeRollBackups</c> is equal to zero, then the
6606             <c>File</c> is truncated with no backup files created.
6607             </para>
6608             <para>
6609             If <c>maxSizeRollBackups</c> &lt; 0, then <c>File</c> is
6610             renamed if needed and no files are deleted.
6611             </para>
6612             </remarks>
6613         </member>
6614         <member name="M:log4net.Appender.RollingFileAppender.RollOverRenameFiles(System.String)">
6615             <summary>
6616             Implements file roll.
6617             </summary>
6618             <param name="baseFileName">the base name to rename</param>
6619             <remarks>
6620             <para>
6621             If the maximum number of size based backups is reached
6622             (<c>curSizeRollBackups == maxSizeRollBackups</c>) then the oldest
6623             file is deleted -- its index determined by the sign of countDirection.
6624             If <c>countDirection</c> &lt; 0, then files
6625             {<c>File.1</c>, ..., <c>File.curSizeRollBackups -1</c>}
6626             are renamed to {<c>File.2</c>, ...,
6627             <c>File.curSizeRollBackups</c>}. 
6628             </para>
6629             <para>
6630             If <c>maxSizeRollBackups</c> is equal to zero, then the
6631             <c>File</c> is truncated with no backup files created.
6632             </para>
6633             <para>
6634             If <c>maxSizeRollBackups</c> &lt; 0, then <c>File</c> is
6635             renamed if needed and no files are deleted.
6636             </para>
6637             <para>
6638             This is called by <see cref="M:log4net.Appender.RollingFileAppender.RollOverSize"/> to rename the files.
6639             </para>
6640             </remarks>
6641         </member>
6642         <member name="M:log4net.Appender.RollingFileAppender.NextCheckDate(System.DateTime,log4net.Appender.RollingFileAppender.RollPoint)">
6643             <summary>
6644             Get the start time of the next window for the current rollpoint
6645             </summary>
6646             <param name="currentDateTime">the current date</param>
6647             <param name="rollPoint">the type of roll point we are working with</param>
6648             <returns>the start time for the next roll point an interval after the currentDateTime date</returns>
6649             <remarks>
6650             <para>
6651             Returns the date of the next roll point after the currentDateTime date passed to the method.
6652             </para>
6653             <para>
6654             The basic strategy is to subtract the time parts that are less significant
6655             than the rollpoint from the current time. This should roll the time back to
6656             the start of the time window for the current rollpoint. Then we add 1 window
6657             worth of time and get the start time of the next window for the rollpoint.
6658             </para>
6659             </remarks>
6660         </member>
6661         <member name="F:log4net.Appender.RollingFileAppender.m_dateTime">
6662             <summary>
6663             This object supplies the current date/time.  Allows test code to plug in
6664             a method to control this class when testing date/time based rolling.
6665             </summary>
6666         </member>
6667         <member name="F:log4net.Appender.RollingFileAppender.m_datePattern">
6668             <summary>
6669             The date pattern. By default, the pattern is set to <c>".yyyy-MM-dd"</c> 
6670             meaning daily rollover.
6671             </summary>
6672         </member>
6673         <member name="F:log4net.Appender.RollingFileAppender.m_scheduledFilename">
6674             <summary>
6675             The actual formatted filename that is currently being written to
6676             or will be the file transferred to on roll over
6677             (based on staticLogFileName).
6678             </summary>
6679         </member>
6680         <member name="F:log4net.Appender.RollingFileAppender.m_nextCheck">
6681             <summary>
6682             The timestamp when we shall next recompute the filename.
6683             </summary>
6684         </member>
6685         <member name="F:log4net.Appender.RollingFileAppender.m_now">
6686             <summary>
6687             Holds date of last roll over
6688             </summary>
6689         </member>
6690         <member name="F:log4net.Appender.RollingFileAppender.m_rollPoint">
6691             <summary>
6692             The type of rolling done
6693             </summary>
6694         </member>
6695         <member name="F:log4net.Appender.RollingFileAppender.m_maxFileSize">
6696             <summary>
6697             The default maximum file size is 10MB
6698             </summary>
6699         </member>
6700         <member name="F:log4net.Appender.RollingFileAppender.m_maxSizeRollBackups">
6701             <summary>
6702             There is zero backup files by default
6703             </summary>
6704         </member>
6705         <member name="F:log4net.Appender.RollingFileAppender.m_curSizeRollBackups">
6706             <summary>
6707             How many sized based backups have been made so far
6708             </summary>
6709         </member>
6710         <member name="F:log4net.Appender.RollingFileAppender.m_countDirection">
6711             <summary>
6712             The rolling file count direction. 
6713             </summary>
6714         </member>
6715         <member name="F:log4net.Appender.RollingFileAppender.m_rollingStyle">
6716             <summary>
6717             The rolling mode used in this appender.
6718             </summary>
6719         </member>
6720         <member name="F:log4net.Appender.RollingFileAppender.m_rollDate">
6721             <summary>
6722             Cache flag set if we are rolling by date.
6723             </summary>
6724         </member>
6725         <member name="F:log4net.Appender.RollingFileAppender.m_rollSize">
6726             <summary>
6727             Cache flag set if we are rolling by size.
6728             </summary>
6729         </member>
6730         <member name="F:log4net.Appender.RollingFileAppender.m_staticLogFileName">
6731             <summary>
6732             Value indicating whether to always log to the same file.
6733             </summary>
6734         </member>
6735         <member name="F:log4net.Appender.RollingFileAppender.m_baseFileName">
6736             <summary>
6737             FileName provided in configuration.  Used for rolling properly
6738             </summary>
6739         </member>
6740         <member name="F:log4net.Appender.RollingFileAppender.s_date1970">
6741             <summary>
6742             The 1st of January 1970 in UTC
6743             </summary>
6744         </member>
6745         <member name="P:log4net.Appender.RollingFileAppender.DatePattern">
6746             <summary>
6747             Gets or sets the date pattern to be used for generating file names
6748             when rolling over on date.
6749             </summary>
6750             <value>
6751             The date pattern to be used for generating file names when rolling 
6752             over on date.
6753             </value>
6754             <remarks>
6755             <para>
6756             Takes a string in the same format as expected by 
6757             <see cref="T:log4net.DateFormatter.SimpleDateFormatter"/>.
6758             </para>
6759             <para>
6760             This property determines the rollover schedule when rolling over
6761             on date.
6762             </para>
6763             </remarks>
6764         </member>
6765         <member name="P:log4net.Appender.RollingFileAppender.MaxSizeRollBackups">
6766             <summary>
6767             Gets or sets the maximum number of backup files that are kept before
6768             the oldest is erased.
6769             </summary>
6770             <value>
6771             The maximum number of backup files that are kept before the oldest is
6772             erased.
6773             </value>
6774             <remarks>
6775             <para>
6776             If set to zero, then there will be no backup files and the log file 
6777             will be truncated when it reaches <see cref="P:log4net.Appender.RollingFileAppender.MaxFileSize"/>.  
6778             </para>
6779             <para>
6780             If a negative number is supplied then no deletions will be made.  Note 
6781             that this could result in very slow performance as a large number of 
6782             files are rolled over unless <see cref="P:log4net.Appender.RollingFileAppender.CountDirection"/> is used.
6783             </para>
6784             <para>
6785             The maximum applies to <b>each</b> time based group of files and 
6786             <b>not</b> the total.
6787             </para>
6788             </remarks>
6789         </member>
6790         <member name="P:log4net.Appender.RollingFileAppender.MaxFileSize">
6791             <summary>
6792             Gets or sets the maximum size that the output file is allowed to reach
6793             before being rolled over to backup files.
6794             </summary>
6795             <value>
6796             The maximum size in bytes that the output file is allowed to reach before being 
6797             rolled over to backup files.
6798             </value>
6799             <remarks>
6800             <para>
6801             This property is equivalent to <see cref="P:log4net.Appender.RollingFileAppender.MaximumFileSize"/> except
6802             that it is required for differentiating the setter taking a
6803             <see cref="T:System.Int64"/> argument from the setter taking a <see cref="T:System.String"/> 
6804             argument.
6805             </para>
6806             <para>
6807             The default maximum file size is 10MB (10*1024*1024).
6808             </para>
6809             </remarks>
6810         </member>
6811         <member name="P:log4net.Appender.RollingFileAppender.MaximumFileSize">
6812             <summary>
6813             Gets or sets the maximum size that the output file is allowed to reach
6814             before being rolled over to backup files.
6815             </summary>
6816             <value>
6817             The maximum size that the output file is allowed to reach before being 
6818             rolled over to backup files.
6819             </value>
6820             <remarks>
6821             <para>
6822             This property allows you to specify the maximum size with the
6823             suffixes "KB", "MB" or "GB" so that the size is interpreted being 
6824             expressed respectively in kilobytes, megabytes or gigabytes. 
6825             </para>
6826             <para>
6827             For example, the value "10KB" will be interpreted as 10240 bytes.
6828             </para>
6829             <para>
6830             The default maximum file size is 10MB.
6831             </para>
6832             <para>
6833             If you have the option to set the maximum file size programmatically
6834             consider using the <see cref="P:log4net.Appender.RollingFileAppender.MaxFileSize"/> property instead as this
6835             allows you to set the size in bytes as a <see cref="T:System.Int64"/>.
6836             </para>
6837             </remarks>
6838         </member>
6839         <member name="P:log4net.Appender.RollingFileAppender.CountDirection">
6840             <summary>
6841             Gets or sets the rolling file count direction. 
6842             </summary>
6843             <value>
6844             The rolling file count direction.
6845             </value>
6846             <remarks>
6847             <para>
6848             Indicates if the current file is the lowest numbered file or the
6849             highest numbered file.
6850             </para>
6851             <para>
6852             By default newer files have lower numbers (<see cref="P:log4net.Appender.RollingFileAppender.CountDirection"/> &lt; 0),
6853             i.e. log.1 is most recent, log.5 is the 5th backup, etc...
6854             </para>
6855             <para>
6856             <see cref="P:log4net.Appender.RollingFileAppender.CountDirection"/> &gt;= 0 does the opposite i.e.
6857             log.1 is the first backup made, log.5 is the 5th backup made, etc.
6858             For infinite backups use <see cref="P:log4net.Appender.RollingFileAppender.CountDirection"/> &gt;= 0 to reduce 
6859             rollover costs.
6860             </para>
6861             <para>The default file count direction is -1.</para>
6862             </remarks>
6863         </member>
6864         <member name="P:log4net.Appender.RollingFileAppender.RollingStyle">
6865             <summary>
6866             Gets or sets the rolling style.
6867             </summary>
6868             <value>The rolling style.</value>
6869             <remarks>
6870             <para>
6871             The default rolling style is <see cref="F:log4net.Appender.RollingFileAppender.RollingMode.Composite"/>.
6872             </para>
6873             <para>
6874             When set to <see cref="F:log4net.Appender.RollingFileAppender.RollingMode.Once"/> this appender's
6875             <see cref="P:log4net.Appender.FileAppender.AppendToFile"/> property is set to <c>false</c>, otherwise
6876             the appender would append to a single file rather than rolling
6877             the file each time it is opened.
6878             </para>
6879             </remarks>
6880         </member>
6881         <member name="P:log4net.Appender.RollingFileAppender.StaticLogFileName">
6882             <summary>
6883             Gets or sets a value indicating whether to always log to
6884             the same file.
6885             </summary>
6886             <value>
6887             <c>true</c> if always should be logged to the same file, otherwise <c>false</c>.
6888             </value>
6889             <remarks>
6890             <para>
6891             By default file.log is always the current file.  Optionally
6892             file.log.yyyy-mm-dd for current formatted datePattern can by the currently
6893             logging file (or file.log.curSizeRollBackup or even
6894             file.log.yyyy-mm-dd.curSizeRollBackup).
6895             </para>
6896             <para>
6897             This will make time based rollovers with a large number of backups 
6898             much faster as the appender it won't have to rename all the backups!
6899             </para>
6900             </remarks>
6901         </member>
6902         <member name="T:log4net.Appender.RollingFileAppender.RollingMode">
6903             <summary>
6904             Style of rolling to use
6905             </summary>
6906             <remarks>
6907             <para>
6908             Style of rolling to use
6909             </para>
6910             </remarks>
6911         </member>
6912         <member name="F:log4net.Appender.RollingFileAppender.RollingMode.Once">
6913             <summary>
6914             Roll files once per program execution
6915             </summary>
6916             <remarks>
6917             <para>
6918             Roll files once per program execution.
6919             Well really once each time this appender is
6920             configured.
6921             </para>
6922             <para>
6923             Setting this option also sets <c>AppendToFile</c> to
6924             <c>false</c> on the <c>RollingFileAppender</c>, otherwise
6925             this appender would just be a normal file appender.
6926             </para>
6927             </remarks>
6928         </member>
6929         <member name="F:log4net.Appender.RollingFileAppender.RollingMode.Size">
6930             <summary>
6931             Roll files based only on the size of the file
6932             </summary>
6933         </member>
6934         <member name="F:log4net.Appender.RollingFileAppender.RollingMode.Date">
6935             <summary>
6936             Roll files based only on the date
6937             </summary>
6938         </member>
6939         <member name="F:log4net.Appender.RollingFileAppender.RollingMode.Composite">
6940             <summary>
6941             Roll files based on both the size and date of the file
6942             </summary>
6943         </member>
6944         <member name="T:log4net.Appender.RollingFileAppender.RollPoint">
6945             <summary>
6946             The code assumes that the following 'time' constants are in a increasing sequence.
6947             </summary>
6948             <remarks>
6949             <para>
6950             The code assumes that the following 'time' constants are in a increasing sequence.
6951             </para>
6952             </remarks>
6953         </member>
6954         <member name="F:log4net.Appender.RollingFileAppender.RollPoint.InvalidRollPoint">
6955             <summary>
6956             Roll the log not based on the date
6957             </summary>
6958         </member>
6959         <member name="F:log4net.Appender.RollingFileAppender.RollPoint.TopOfMinute">
6960             <summary>
6961             Roll the log for each minute
6962             </summary>
6963         </member>
6964         <member name="F:log4net.Appender.RollingFileAppender.RollPoint.TopOfHour">
6965             <summary>
6966             Roll the log for each hour
6967             </summary>
6968         </member>
6969         <member name="F:log4net.Appender.RollingFileAppender.RollPoint.HalfDay">
6970             <summary>
6971             Roll the log twice a day (midday and midnight)
6972             </summary>
6973         </member>
6974         <member name="F:log4net.Appender.RollingFileAppender.RollPoint.TopOfDay">
6975             <summary>
6976             Roll the log each day (midnight)
6977             </summary>
6978         </member>
6979         <member name="F:log4net.Appender.RollingFileAppender.RollPoint.TopOfWeek">
6980             <summary>
6981             Roll the log each week
6982             </summary>
6983         </member>
6984         <member name="F:log4net.Appender.RollingFileAppender.RollPoint.TopOfMonth">
6985             <summary>
6986             Roll the log each month
6987             </summary>
6988         </member>
6989         <member name="T:log4net.Appender.RollingFileAppender.IDateTime">
6990             <summary>
6991             This interface is used to supply Date/Time information to the <see cref="T:log4net.Appender.RollingFileAppender"/>.
6992             </summary>
6993             <remarks>
6994             This interface is used to supply Date/Time information to the <see cref="T:log4net.Appender.RollingFileAppender"/>.
6995             Used primarily to allow test classes to plug themselves in so they can
6996             supply test date/times.
6997             </remarks>
6998         </member>
6999         <member name="P:log4net.Appender.RollingFileAppender.IDateTime.Now">
7000             <summary>
7001             Gets the <i>current</i> time.
7002             </summary>
7003             <value>The <i>current</i> time.</value>
7004             <remarks>
7005             <para>
7006             Gets the <i>current</i> time.
7007             </para>
7008             </remarks>
7009         </member>
7010         <member name="T:log4net.Appender.RollingFileAppender.DefaultDateTime">
7011             <summary>
7012             Default implementation of <see cref="T:log4net.Appender.RollingFileAppender.IDateTime"/> that returns the current time.
7013             </summary>
7014         </member>
7015         <member name="P:log4net.Appender.RollingFileAppender.DefaultDateTime.Now">
7016             <summary>
7017             Gets the <b>current</b> time.
7018             </summary>
7019             <value>The <b>current</b> time.</value>
7020             <remarks>
7021             <para>
7022             Gets the <b>current</b> time.
7023             </para>
7024             </remarks>
7025         </member>
7026         <member name="T:log4net.Appender.SmtpAppender">
7027             <summary>
7028             Send an e-mail when a specific logging event occurs, typically on errors 
7029             or fatal errors.
7030             </summary>
7031             <remarks>
7032             <para>
7033             The number of logging events delivered in this e-mail depend on
7034             the value of <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> option. The
7035             <see cref="T:log4net.Appender.SmtpAppender"/> keeps only the last
7036             <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> logging events in its 
7037             cyclic buffer. This keeps memory requirements at a reasonable level while 
7038             still delivering useful application context.
7039             </para>
7040             <note type="caution">
7041             Authentication and setting the server Port are only available on the MS .NET 1.1 runtime.
7042             For these features to be enabled you need to ensure that you are using a version of
7043             the log4net assembly that is built against the MS .NET 1.1 framework and that you are
7044             running the your application on the MS .NET 1.1 runtime. On all other platforms only sending
7045             unauthenticated messages to a server listening on port 25 (the default) is supported.
7046             </note>
7047             <para>
7048             Authentication is supported by setting the <see cref="P:log4net.Appender.SmtpAppender.Authentication"/> property to
7049             either <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Basic"/> or <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Ntlm"/>.
7050             If using <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Basic"/> authentication then the <see cref="P:log4net.Appender.SmtpAppender.Username"/>
7051             and <see cref="P:log4net.Appender.SmtpAppender.Password"/> properties must also be set.
7052             </para>
7053             <para>
7054             To set the SMTP server port use the <see cref="P:log4net.Appender.SmtpAppender.Port"/> property. The default port is 25.
7055             </para>
7056             </remarks>
7057             <author>Nicko Cadell</author>
7058             <author>Gert Driesen</author>
7059         </member>
7060         <member name="M:log4net.Appender.SmtpAppender.#ctor">
7061             <summary>
7062             Default constructor
7063             </summary>
7064             <remarks>
7065             <para>
7066             Default constructor
7067             </para>
7068             </remarks>
7069         </member>
7070         <member name="M:log4net.Appender.SmtpAppender.SendBuffer(log4net.Core.LoggingEvent[])">
7071             <summary>
7072             Sends the contents of the cyclic buffer as an e-mail message.
7073             </summary>
7074             <param name="events">The logging events to send.</param>
7075         </member>
7076         <member name="M:log4net.Appender.SmtpAppender.SendEmail(System.String)">
7077             <summary>
7078             Send the email message
7079             </summary>
7080             <param name="messageBody">the body text to include in the mail</param>
7081         </member>
7082         <member name="P:log4net.Appender.SmtpAppender.To">
7083             <summary>
7084             Gets or sets a semicolon-delimited list of recipient e-mail addresses.
7085             </summary>
7086             <value>
7087             A semicolon-delimited list of e-mail addresses.
7088             </value>
7089             <remarks>
7090             <para>
7091             A semicolon-delimited list of recipient e-mail addresses.
7092             </para>
7093             </remarks>
7094         </member>
7095         <member name="P:log4net.Appender.SmtpAppender.From">
7096             <summary>
7097             Gets or sets the e-mail address of the sender.
7098             </summary>
7099             <value>
7100             The e-mail address of the sender.
7101             </value>
7102             <remarks>
7103             <para>
7104             The e-mail address of the sender.
7105             </para>
7106             </remarks>
7107         </member>
7108         <member name="P:log4net.Appender.SmtpAppender.Subject">
7109             <summary>
7110             Gets or sets the subject line of the e-mail message.
7111             </summary>
7112             <value>
7113             The subject line of the e-mail message.
7114             </value>
7115             <remarks>
7116             <para>
7117             The subject line of the e-mail message.
7118             </para>
7119             </remarks>
7120         </member>
7121         <member name="P:log4net.Appender.SmtpAppender.SmtpHost">
7122             <summary>
7123             Gets or sets the name of the SMTP relay mail server to use to send 
7124             the e-mail messages.
7125             </summary>
7126             <value>
7127             The name of the e-mail relay server. If SmtpServer is not set, the 
7128             name of the local SMTP server is used.
7129             </value>
7130             <remarks>
7131             <para>
7132             The name of the e-mail relay server. If SmtpServer is not set, the 
7133             name of the local SMTP server is used.
7134             </para>
7135             </remarks>
7136         </member>
7137         <member name="P:log4net.Appender.SmtpAppender.LocationInfo">
7138             <summary>
7139             Obsolete
7140             </summary>
7141             <remarks>
7142             Use the BufferingAppenderSkeleton Fix methods instead 
7143             </remarks>
7144             <remarks>
7145             <para>
7146             Obsolete property.
7147             </para>
7148             </remarks>
7149         </member>
7150         <member name="P:log4net.Appender.SmtpAppender.Authentication">
7151             <summary>
7152             The mode to use to authentication with the SMTP server
7153             </summary>
7154             <remarks>
7155             <note type="caution">Authentication is only available on the MS .NET 1.1 runtime.</note>
7156             <para>
7157             Valid Authentication mode values are: <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.None"/>, 
7158             <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Basic"/>, and <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Ntlm"/>. 
7159             The default value is <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.None"/>. When using 
7160             <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Basic"/> you must specify the <see cref="P:log4net.Appender.SmtpAppender.Username"/> 
7161             and <see cref="P:log4net.Appender.SmtpAppender.Password"/> to use to authenticate.
7162             When using <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Ntlm"/> the Windows credentials for the current
7163             thread, if impersonating, or the process will be used to authenticate. 
7164             </para>
7165             </remarks>
7166         </member>
7167         <member name="P:log4net.Appender.SmtpAppender.Username">
7168             <summary>
7169             The username to use to authenticate with the SMTP server
7170             </summary>
7171             <remarks>
7172             <note type="caution">Authentication is only available on the MS .NET 1.1 runtime.</note>
7173             <para>
7174             A <see cref="P:log4net.Appender.SmtpAppender.Username"/> and <see cref="P:log4net.Appender.SmtpAppender.Password"/> must be specified when 
7175             <see cref="P:log4net.Appender.SmtpAppender.Authentication"/> is set to <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Basic"/>, 
7176             otherwise the username will be ignored. 
7177             </para>
7178             </remarks>
7179         </member>
7180         <member name="P:log4net.Appender.SmtpAppender.Password">
7181             <summary>
7182             The password to use to authenticate with the SMTP server
7183             </summary>
7184             <remarks>
7185             <note type="caution">Authentication is only available on the MS .NET 1.1 runtime.</note>
7186             <para>
7187             A <see cref="P:log4net.Appender.SmtpAppender.Username"/> and <see cref="P:log4net.Appender.SmtpAppender.Password"/> must be specified when 
7188             <see cref="P:log4net.Appender.SmtpAppender.Authentication"/> is set to <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Basic"/>, 
7189             otherwise the password will be ignored. 
7190             </para>
7191             </remarks>
7192         </member>
7193         <member name="P:log4net.Appender.SmtpAppender.Port">
7194             <summary>
7195             The port on which the SMTP server is listening
7196             </summary>
7197             <remarks>
7198             <note type="caution">Server Port is only available on the MS .NET 1.1 runtime.</note>
7199             <para>
7200             The port on which the SMTP server is listening. The default
7201             port is <c>25</c>. The Port can only be changed when running on
7202             the MS .NET 1.1 runtime.
7203             </para>
7204             </remarks>
7205         </member>
7206         <member name="P:log4net.Appender.SmtpAppender.Priority">
7207             <summary>
7208             Gets or sets the priority of the e-mail message
7209             </summary>
7210             <value>
7211             One of the <see cref="T:System.Net.Mail.MailPriority"/> values.
7212             </value>
7213             <remarks>
7214             <para>
7215             Sets the priority of the e-mails generated by this
7216             appender. The default priority is <see cref="F:System.Net.Mail.MailPriority.Normal"/>.
7217             </para>
7218             <para>
7219             If you are using this appender to report errors then
7220             you may want to set the priority to <see cref="F:System.Net.Mail.MailPriority.High"/>.
7221             </para>
7222             </remarks>
7223         </member>
7224         <member name="P:log4net.Appender.SmtpAppender.RequiresLayout">
7225             <summary>
7226             This appender requires a <see cref="N:log4net.Layout"/> to be set.
7227             </summary>
7228             <value><c>true</c></value>
7229             <remarks>
7230             <para>
7231             This appender requires a <see cref="N:log4net.Layout"/> to be set.
7232             </para>
7233             </remarks>
7234         </member>
7235         <member name="T:log4net.Appender.SmtpAppender.SmtpAuthentication">
7236             <summary>
7237             Values for the <see cref="P:log4net.Appender.SmtpAppender.Authentication"/> property.
7238             </summary>
7239             <remarks>
7240             <para>
7241             SMTP authentication modes.
7242             </para>
7243             </remarks>
7244         </member>
7245         <member name="F:log4net.Appender.SmtpAppender.SmtpAuthentication.None">
7246             <summary>
7247             No authentication
7248             </summary>
7249         </member>
7250         <member name="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Basic">
7251             <summary>
7252             Basic authentication.
7253             </summary>
7254             <remarks>
7255             Requires a username and password to be supplied
7256             </remarks>
7257         </member>
7258         <member name="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Ntlm">
7259             <summary>
7260             Integrated authentication
7261             </summary>
7262             <remarks>
7263             Uses the Windows credentials from the current thread or process to authenticate.
7264             </remarks>
7265         </member>
7266         <member name="T:log4net.Appender.SmtpPickupDirAppender">
7267             <summary>
7268             Send an email when a specific logging event occurs, typically on errors 
7269             or fatal errors. Rather than sending via smtp it writes a file into the
7270             directory specified by <see cref="P:log4net.Appender.SmtpPickupDirAppender.PickupDir"/>. This allows services such
7271             as the IIS SMTP agent to manage sending the messages.
7272             </summary>
7273             <remarks>
7274             <para>
7275             The configuration for this appender is identical to that of the <c>SMTPAppender</c>,
7276             except that instead of specifying the <c>SMTPAppender.SMTPHost</c> you specify
7277             <see cref="P:log4net.Appender.SmtpPickupDirAppender.PickupDir"/>.
7278             </para>
7279             <para>
7280             The number of logging events delivered in this e-mail depend on
7281             the value of <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> option. The
7282             <see cref="T:log4net.Appender.SmtpPickupDirAppender"/> keeps only the last
7283             <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> logging events in its 
7284             cyclic buffer. This keeps memory requirements at a reasonable level while 
7285             still delivering useful application context.
7286             </para>
7287             </remarks>
7288             <author>Niall Daley</author>
7289             <author>Nicko Cadell</author>
7290         </member>
7291         <member name="M:log4net.Appender.SmtpPickupDirAppender.#ctor">
7292             <summary>
7293             Default constructor
7294             </summary>
7295             <remarks>
7296             <para>
7297             Default constructor
7298             </para>
7299             </remarks>
7300         </member>
7301         <member name="M:log4net.Appender.SmtpPickupDirAppender.SendBuffer(log4net.Core.LoggingEvent[])">
7302             <summary>
7303             Sends the contents of the cyclic buffer as an e-mail message.
7304             </summary>
7305             <param name="events">The logging events to send.</param>
7306             <remarks>
7307             <para>
7308             Sends the contents of the cyclic buffer as an e-mail message.
7309             </para>
7310             </remarks>
7311         </member>
7312         <member name="M:log4net.Appender.SmtpPickupDirAppender.ActivateOptions">
7313             <summary>
7314             Activate the options on this appender. 
7315             </summary>
7316             <remarks>
7317             <para>
7318             This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
7319             activation scheme. The <see cref="M:log4net.Appender.SmtpPickupDirAppender.ActivateOptions"/> method must 
7320             be called on this object after the configuration properties have
7321             been set. Until <see cref="M:log4net.Appender.SmtpPickupDirAppender.ActivateOptions"/> is called this
7322             object is in an undefined state and must not be used. 
7323             </para>
7324             <para>
7325             If any of the configuration properties are modified then 
7326             <see cref="M:log4net.Appender.SmtpPickupDirAppender.ActivateOptions"/> must be called again.
7327             </para>
7328             </remarks>
7329         </member>
7330         <member name="M:log4net.Appender.SmtpPickupDirAppender.ConvertToFullPath(System.String)">
7331             <summary>
7332             Convert a path into a fully qualified path.
7333             </summary>
7334             <param name="path">The path to convert.</param>
7335             <returns>The fully qualified path.</returns>
7336             <remarks>
7337             <para>
7338             Converts the path specified to a fully
7339             qualified path. If the path is relative it is
7340             taken as relative from the application base 
7341             directory.
7342             </para>
7343             </remarks>
7344         </member>
7345         <member name="F:log4net.Appender.SmtpPickupDirAppender.m_securityContext">
7346             <summary>
7347             The security context to use for privileged calls
7348             </summary>
7349         </member>
7350         <member name="P:log4net.Appender.SmtpPickupDirAppender.To">
7351             <summary>
7352             Gets or sets a semicolon-delimited list of recipient e-mail addresses.
7353             </summary>
7354             <value>
7355             A semicolon-delimited list of e-mail addresses.
7356             </value>
7357             <remarks>
7358             <para>
7359             A semicolon-delimited list of e-mail addresses.
7360             </para>
7361             </remarks>
7362         </member>
7363         <member name="P:log4net.Appender.SmtpPickupDirAppender.From">
7364             <summary>
7365             Gets or sets the e-mail address of the sender.
7366             </summary>
7367             <value>
7368             The e-mail address of the sender.
7369             </value>
7370             <remarks>
7371             <para>
7372             The e-mail address of the sender.
7373             </para>
7374             </remarks>
7375         </member>
7376         <member name="P:log4net.Appender.SmtpPickupDirAppender.Subject">
7377             <summary>
7378             Gets or sets the subject line of the e-mail message.
7379             </summary>
7380             <value>
7381             The subject line of the e-mail message.
7382             </value>
7383             <remarks>
7384             <para>
7385             The subject line of the e-mail message.
7386             </para>
7387             </remarks>
7388         </member>
7389         <member name="P:log4net.Appender.SmtpPickupDirAppender.PickupDir">
7390             <summary>
7391             Gets or sets the path to write the messages to.
7392             </summary>
7393             <remarks>
7394             <para>
7395             Gets or sets the path to write the messages to. This should be the same
7396             as that used by the agent sending the messages.
7397             </para>
7398             </remarks>
7399         </member>
7400         <member name="P:log4net.Appender.SmtpPickupDirAppender.SecurityContext">
7401             <summary>
7402             Gets or sets the <see cref="P:log4net.Appender.SmtpPickupDirAppender.SecurityContext"/> used to write to the pickup directory.
7403             </summary>
7404             <value>
7405             The <see cref="P:log4net.Appender.SmtpPickupDirAppender.SecurityContext"/> used to write to the pickup directory.
7406             </value>
7407             <remarks>
7408             <para>
7409             Unless a <see cref="P:log4net.Appender.SmtpPickupDirAppender.SecurityContext"/> specified here for this appender
7410             the <see cref="P:log4net.Core.SecurityContextProvider.DefaultProvider"/> is queried for the
7411             security context to use. The default behavior is to use the security context
7412             of the current thread.
7413             </para>
7414             </remarks>
7415         </member>
7416         <member name="P:log4net.Appender.SmtpPickupDirAppender.RequiresLayout">
7417             <summary>
7418             This appender requires a <see cref="N:log4net.Layout"/> to be set.
7419             </summary>
7420             <value><c>true</c></value>
7421             <remarks>
7422             <para>
7423             This appender requires a <see cref="N:log4net.Layout"/> to be set.
7424             </para>
7425             </remarks>
7426         </member>
7427         <member name="T:log4net.Appender.TelnetAppender">
7428             <summary>
7429             Appender that allows clients to connect via Telnet to receive log messages
7430             </summary>
7431             <remarks>   
7432             <para>
7433             The TelnetAppender accepts socket connections and streams logging messages
7434             back to the client.  
7435             The output is provided in a telnet-friendly way so that a log can be monitored 
7436             over a TCP/IP socket.
7437             This allows simple remote monitoring of application logging.
7438             </para>
7439             <para>
7440             The default <see cref="P:log4net.Appender.TelnetAppender.Port"/> is 23 (the telnet port).
7441             </para>
7442             </remarks>
7443             <author>Keith Long</author>
7444             <author>Nicko Cadell</author>
7445         </member>
7446         <member name="M:log4net.Appender.TelnetAppender.#ctor">
7447             <summary>
7448             Default constructor
7449             </summary>
7450             <remarks>
7451             <para>
7452             Default constructor
7453             </para>
7454             </remarks>
7455         </member>
7456         <member name="M:log4net.Appender.TelnetAppender.OnClose">
7457             <summary>
7458             Overrides the parent method to close the socket handler
7459             </summary>
7460             <remarks>
7461             <para>
7462             Closes all the outstanding connections.
7463             </para>
7464             </remarks>
7465         </member>
7466         <member name="M:log4net.Appender.TelnetAppender.ActivateOptions">
7467             <summary>
7468             Initialize the appender based on the options set.
7469             </summary>
7470             <remarks>
7471             <para>
7472             This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
7473             activation scheme. The <see cref="M:log4net.Appender.TelnetAppender.ActivateOptions"/> method must 
7474             be called on this object after the configuration properties have
7475             been set. Until <see cref="M:log4net.Appender.TelnetAppender.ActivateOptions"/> is called this
7476             object is in an undefined state and must not be used. 
7477             </para>
7478             <para>
7479             If any of the configuration properties are modified then 
7480             <see cref="M:log4net.Appender.TelnetAppender.ActivateOptions"/> must be called again.
7481             </para>
7482             <para>
7483             Create the socket handler and wait for connections
7484             </para>
7485             </remarks>
7486         </member>
7487         <member name="M:log4net.Appender.TelnetAppender.Append(log4net.Core.LoggingEvent)">
7488             <summary>
7489             Writes the logging event to each connected client.
7490             </summary>
7491             <param name="loggingEvent">The event to log.</param>
7492             <remarks>
7493             <para>
7494             Writes the logging event to each connected client.
7495             </para>
7496             </remarks>
7497         </member>
7498         <member name="P:log4net.Appender.TelnetAppender.Port">
7499             <summary>
7500             Gets or sets the TCP port number on which this <see cref="T:log4net.Appender.TelnetAppender"/> will listen for connections.
7501             </summary>
7502             <value>
7503             An integer value in the range <see cref="F:System.Net.IPEndPoint.MinPort"/> to <see cref="F:System.Net.IPEndPoint.MaxPort"/> 
7504             indicating the TCP port number on which this <see cref="T:log4net.Appender.TelnetAppender"/> will listen for connections.
7505             </value>
7506             <remarks>
7507             <para>
7508             The default value is 23 (the telnet port).
7509             </para>
7510             </remarks>
7511             <exception cref="T:System.ArgumentOutOfRangeException">The value specified is less than <see cref="F:System.Net.IPEndPoint.MinPort"/> 
7512             or greater than <see cref="F:System.Net.IPEndPoint.MaxPort"/>.</exception>
7513         </member>
7514         <member name="P:log4net.Appender.TelnetAppender.RequiresLayout">
7515             <summary>
7516             This appender requires a <see cref="N:log4net.Layout"/> to be set.
7517             </summary>
7518             <value><c>true</c></value>
7519             <remarks>
7520             <para>
7521             This appender requires a <see cref="N:log4net.Layout"/> to be set.
7522             </para>
7523             </remarks>
7524         </member>
7525         <member name="T:log4net.Appender.TelnetAppender.SocketHandler">
7526             <summary>
7527             Helper class to manage connected clients
7528             </summary>
7529             <remarks>
7530             <para>
7531             The SocketHandler class is used to accept connections from
7532             clients.  It is threaded so that clients can connect/disconnect
7533             asynchronously.
7534             </para>
7535             </remarks>
7536         </member>
7537         <member name="M:log4net.Appender.TelnetAppender.SocketHandler.#ctor(System.Int32)">
7538             <summary>
7539             Opens a new server port on <paramref ref="port"/>
7540             </summary>
7541             <param name="port">the local port to listen on for connections</param>
7542             <remarks>
7543             <para>
7544             Creates a socket handler on the specified local server port.
7545             </para>
7546             </remarks>
7547         </member>
7548         <member name="M:log4net.Appender.TelnetAppender.SocketHandler.Send(System.String)">
7549             <summary>
7550             Sends a string message to each of the connected clients
7551             </summary>
7552             <param name="message">the text to send</param>
7553             <remarks>
7554             <para>
7555             Sends a string message to each of the connected clients
7556             </para>
7557             </remarks>
7558         </member>
7559         <member name="M:log4net.Appender.TelnetAppender.SocketHandler.AddClient(log4net.Appender.TelnetAppender.SocketHandler.SocketClient)">
7560             <summary>
7561             Add a client to the internal clients list
7562             </summary>
7563             <param name="client">client to add</param>
7564         </member>
7565         <member name="M:log4net.Appender.TelnetAppender.SocketHandler.RemoveClient(log4net.Appender.TelnetAppender.SocketHandler.SocketClient)">
7566             <summary>
7567             Remove a client from the internal clients list
7568             </summary>
7569             <param name="client">client to remove</param>
7570         </member>
7571         <member name="M:log4net.Appender.TelnetAppender.SocketHandler.OnConnect(System.IAsyncResult)">
7572             <summary>
7573             Callback used to accept a connection on the server socket
7574             </summary>
7575             <param name="asyncResult">The result of the asynchronous operation</param>
7576             <remarks>
7577             <para>
7578             On connection adds to the list of connections 
7579             if there are two many open connections you will be disconnected
7580             </para>
7581             </remarks>
7582         </member>
7583         <member name="M:log4net.Appender.TelnetAppender.SocketHandler.Dispose">
7584             <summary>
7585             Close all network connections
7586             </summary>
7587             <remarks>
7588             <para>
7589             Make sure we close all network connections
7590             </para>
7591             </remarks>
7592         </member>
7593         <member name="P:log4net.Appender.TelnetAppender.SocketHandler.HasConnections">
7594             <summary>
7595             Test if this handler has active connections
7596             </summary>
7597             <value>
7598             <c>true</c> if this handler has active connections
7599             </value>
7600             <remarks>
7601             <para>
7602             This property will be <c>true</c> while this handler has
7603             active connections, that is at least one connection that 
7604             the handler will attempt to send a message to.
7605             </para>
7606             </remarks>
7607         </member>
7608         <member name="T:log4net.Appender.TelnetAppender.SocketHandler.SocketClient">
7609             <summary>
7610             Class that represents a client connected to this handler
7611             </summary>
7612             <remarks>
7613             <para>
7614             Class that represents a client connected to this handler
7615             </para>
7616             </remarks>
7617         </member>
7618         <member name="M:log4net.Appender.TelnetAppender.SocketHandler.SocketClient.#ctor(System.Net.Sockets.Socket)">
7619             <summary>
7620             Create this <see cref="T:log4net.Appender.TelnetAppender.SocketHandler.SocketClient"/> for the specified <see cref="T:System.Net.Sockets.Socket"/>
7621             </summary>
7622             <param name="socket">the client's socket</param>
7623             <remarks>
7624             <para>
7625             Opens a stream writer on the socket.
7626             </para>
7627             </remarks>
7628         </member>
7629         <member name="M:log4net.Appender.TelnetAppender.SocketHandler.SocketClient.Send(System.String)">
7630             <summary>
7631             Write a string to the client
7632             </summary>
7633             <param name="message">string to send</param>
7634             <remarks>
7635             <para>
7636             Write a string to the client
7637             </para>
7638             </remarks>
7639         </member>
7640         <member name="M:log4net.Appender.TelnetAppender.SocketHandler.SocketClient.Dispose">
7641             <summary>
7642             Cleanup the clients connection
7643             </summary>
7644             <remarks>
7645             <para>
7646             Close the socket connection.
7647             </para>
7648             </remarks>
7649         </member>
7650         <member name="T:log4net.Appender.TraceAppender">
7651             <summary>
7652             Appends log events to the <see cref="T:System.Diagnostics.Trace"/> system.
7653             </summary>
7654             <remarks>
7655             <para>
7656             The application configuration file can be used to control what listeners 
7657             are actually used. See the MSDN documentation for the 
7658             <see cref="T:System.Diagnostics.Trace"/> class for details on configuring the
7659             trace system.
7660             </para>
7661             <para>
7662             Events are written using the <c>System.Diagnostics.Trace.Write(string,string)</c>
7663             method. The event's logger name is passed as the value for the category name to the Write method.
7664             </para>
7665             <para>
7666             <b>Compact Framework</b><br/>
7667             The Compact Framework does not support the <see cref="T:System.Diagnostics.Trace"/>
7668             class for any operation except <c>Assert</c>. When using the Compact Framework this
7669             appender will write to the <see cref="T:System.Diagnostics.Debug"/> system rather than
7670             the Trace system. This appender will therefore behave like the <see cref="T:log4net.Appender.DebugAppender"/>.
7671             </para>
7672             </remarks>
7673             <author>Douglas de la Torre</author>
7674             <author>Nicko Cadell</author>
7675             <author>Gert Driesen</author>
7676         </member>
7677         <member name="M:log4net.Appender.TraceAppender.#ctor">
7678             <summary>
7679             Initializes a new instance of the <see cref="T:log4net.Appender.TraceAppender"/>.
7680             </summary>
7681             <remarks>
7682             <para>
7683             Default constructor.
7684             </para>
7685             </remarks>
7686         </member>
7687         <member name="M:log4net.Appender.TraceAppender.#ctor(log4net.Layout.ILayout)">
7688             <summary>
7689             Initializes a new instance of the <see cref="T:log4net.Appender.TraceAppender"/> 
7690             with a specified layout.
7691             </summary>
7692             <param name="layout">The layout to use with this appender.</param>
7693             <remarks>
7694             <para>
7695             Obsolete constructor.
7696             </para>
7697             </remarks>
7698         </member>
7699         <member name="M:log4net.Appender.TraceAppender.Append(log4net.Core.LoggingEvent)">
7700             <summary>
7701             Writes the logging event to the <see cref="T:System.Diagnostics.Trace"/> system.
7702             </summary>
7703             <param name="loggingEvent">The event to log.</param>
7704             <remarks>
7705             <para>
7706             Writes the logging event to the <see cref="T:System.Diagnostics.Trace"/> system.
7707             </para>
7708             </remarks>
7709         </member>
7710         <member name="F:log4net.Appender.TraceAppender.m_immediateFlush">
7711             <summary>
7712             Immediate flush means that the underlying writer or output stream
7713             will be flushed at the end of each append operation.
7714             </summary>
7715             <remarks>
7716             <para>
7717             Immediate flush is slower but ensures that each append request is 
7718             actually written. If <see cref="P:log4net.Appender.TraceAppender.ImmediateFlush"/> is set to
7719             <c>false</c>, then there is a good chance that the last few
7720             logs events are not actually written to persistent media if and
7721             when the application crashes.
7722             </para>
7723             <para>
7724             The default value is <c>true</c>.</para>
7725             </remarks>
7726         </member>
7727         <member name="P:log4net.Appender.TraceAppender.ImmediateFlush">
7728             <summary>
7729             Gets or sets a value that indicates whether the appender will 
7730             flush at the end of each write.
7731             </summary>
7732             <remarks>
7733             <para>The default behavior is to flush at the end of each 
7734             write. If the option is set to<c>false</c>, then the underlying 
7735             stream can defer writing to physical medium to a later time. 
7736             </para>
7737             <para>
7738             Avoiding the flush operation at the end of each append results 
7739             in a performance gain of 10 to 20 percent. However, there is safety
7740             trade-off involved in skipping flushing. Indeed, when flushing is
7741             skipped, then it is likely that the last few log events will not
7742             be recorded on disk when the application exits. This is a high
7743             price to pay even for a 20% performance gain.
7744             </para>
7745             </remarks>
7746         </member>
7747         <member name="P:log4net.Appender.TraceAppender.RequiresLayout">
7748             <summary>
7749             This appender requires a <see cref="N:log4net.Layout"/> to be set.
7750             </summary>
7751             <value><c>true</c></value>
7752             <remarks>
7753             <para>
7754             This appender requires a <see cref="N:log4net.Layout"/> to be set.
7755             </para>
7756             </remarks>
7757         </member>
7758         <member name="T:log4net.Config.AliasDomainAttribute">
7759             <summary>
7760             Assembly level attribute that specifies a domain to alias to this assembly's repository.
7761             </summary>
7762             <remarks>
7763             <para>
7764             <b>AliasDomainAttribute is obsolete. Use AliasRepositoryAttribute instead of AliasDomainAttribute.</b>
7765             </para>
7766             <para>
7767             An assembly's logger repository is defined by its <see cref="T:log4net.Config.DomainAttribute"/>,
7768             however this can be overridden by an assembly loaded before the target assembly.
7769             </para>
7770             <para>
7771             An assembly can alias another assembly's domain to its repository by
7772             specifying this attribute with the name of the target domain.
7773             </para>
7774             <para>
7775             This attribute can only be specified on the assembly and may be used
7776             as many times as necessary to alias all the required domains.
7777             </para>
7778             </remarks>
7779             <author>Nicko Cadell</author>
7780             <author>Gert Driesen</author>
7781         </member>
7782         <member name="T:log4net.Config.AliasRepositoryAttribute">
7783             <summary>
7784             Assembly level attribute that specifies a repository to alias to this assembly's repository.
7785             </summary>
7786             <remarks>
7787             <para>
7788             An assembly's logger repository is defined by its <see cref="T:log4net.Config.RepositoryAttribute"/>,
7789             however this can be overridden by an assembly loaded before the target assembly.
7790             </para>
7791             <para>
7792             An assembly can alias another assembly's repository to its repository by
7793             specifying this attribute with the name of the target repository.
7794             </para>
7795             <para>
7796             This attribute can only be specified on the assembly and may be used
7797             as many times as necessary to alias all the required repositories.
7798             </para>
7799             </remarks>
7800             <author>Nicko Cadell</author>
7801             <author>Gert Driesen</author>
7802         </member>
7803         <member name="M:log4net.Config.AliasRepositoryAttribute.#ctor(System.String)">
7804             <summary>
7805             Initializes a new instance of the <see cref="T:log4net.Config.AliasRepositoryAttribute"/> class with 
7806             the specified repository to alias to this assembly's repository.
7807             </summary>
7808             <param name="name">The repository to alias to this assemby's repository.</param>
7809             <remarks>
7810             <para>
7811             Initializes a new instance of the <see cref="T:log4net.Config.AliasRepositoryAttribute"/> class with 
7812             the specified repository to alias to this assembly's repository.
7813             </para>
7814             </remarks>
7815         </member>
7816         <member name="P:log4net.Config.AliasRepositoryAttribute.Name">
7817             <summary>
7818             Gets or sets the repository to alias to this assemby's repository.
7819             </summary>
7820             <value>
7821             The repository to alias to this assemby's repository.
7822             </value>
7823             <remarks>
7824             <para>
7825             The name of the repository to alias to this assemby's repository.
7826             </para>
7827             </remarks>
7828         </member>
7829         <member name="M:log4net.Config.AliasDomainAttribute.#ctor(System.String)">
7830             <summary>
7831             Initializes a new instance of the <see cref="T:log4net.Config.AliasDomainAttribute"/> class with 
7832             the specified domain to alias to this assembly's repository.
7833             </summary>
7834             <param name="name">The domain to alias to this assemby's repository.</param>
7835             <remarks>
7836             <para>
7837             Obsolete. Use <see cref="T:log4net.Config.AliasRepositoryAttribute"/> instead of <see cref="T:log4net.Config.AliasDomainAttribute"/>.
7838             </para>
7839             </remarks>
7840         </member>
7841         <member name="T:log4net.Config.BasicConfigurator">
7842             <summary>
7843             Use this class to quickly configure a <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/>.
7844             </summary>
7845             <remarks>
7846             <para>
7847             Allows very simple programmatic configuration of log4net.
7848             </para>
7849             <para>
7850             Only one appender can be configured using this configurator.
7851             The appender is set at the root of the hierarchy and all logging
7852             events will be delivered to that appender.
7853             </para>
7854             <para>
7855             Appenders can also implement the <see cref="T:log4net.Core.IOptionHandler"/> interface. Therefore
7856             they would require that the <see cref="M:log4net.Core.IOptionHandler.ActivateOptions"/> method
7857             be called after the appenders properties have been configured.
7858             </para>
7859             </remarks>
7860             <author>Nicko Cadell</author>
7861             <author>Gert Driesen</author>
7862         </member>
7863         <member name="M:log4net.Config.BasicConfigurator.#ctor">
7864             <summary>
7865             Initializes a new instance of the <see cref="T:log4net.Config.BasicConfigurator"/> class. 
7866             </summary>
7867             <remarks>
7868             <para>
7869             Uses a private access modifier to prevent instantiation of this class.
7870             </para>
7871             </remarks>
7872         </member>
7873         <member name="M:log4net.Config.BasicConfigurator.Configure">
7874             <summary>
7875             Initializes the log4net system with a default configuration.
7876             </summary>
7877             <remarks>
7878             <para>
7879             Initializes the log4net logging system using a <see cref="T:log4net.Appender.ConsoleAppender"/>
7880             that will write to <c>Console.Out</c>. The log messages are
7881             formatted using the <see cref="T:log4net.Layout.PatternLayout"/> layout object
7882             with the <see cref="F:log4net.Layout.PatternLayout.DetailConversionPattern"/>
7883             layout style.
7884             </para>
7885             </remarks>
7886         </member>
7887         <member name="M:log4net.Config.BasicConfigurator.Configure(log4net.Appender.IAppender)">
7888             <summary>
7889             Initializes the log4net system using the specified appender.
7890             </summary>
7891             <param name="appender">The appender to use to log all logging events.</param>
7892             <remarks>
7893             <para>
7894             Initializes the log4net system using the specified appender.
7895             </para>
7896             </remarks>
7897         </member>
7898         <member name="M:log4net.Config.BasicConfigurator.Configure(log4net.Repository.ILoggerRepository)">
7899             <summary>
7900             Initializes the <see cref="T:log4net.Repository.ILoggerRepository"/> with a default configuration.
7901             </summary>
7902             <param name="repository">The repository to configure.</param>
7903             <remarks>
7904             <para>
7905             Initializes the specified repository using a <see cref="T:log4net.Appender.ConsoleAppender"/>
7906             that will write to <c>Console.Out</c>. The log messages are
7907             formatted using the <see cref="T:log4net.Layout.PatternLayout"/> layout object
7908             with the <see cref="F:log4net.Layout.PatternLayout.DetailConversionPattern"/>
7909             layout style.
7910             </para>
7911             </remarks>
7912         </member>
7913         <member name="M:log4net.Config.BasicConfigurator.Configure(log4net.Repository.ILoggerRepository,log4net.Appender.IAppender)">
7914             <summary>
7915             Initializes the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified appender.
7916             </summary>
7917             <param name="repository">The repository to configure.</param>
7918             <param name="appender">The appender to use to log all logging events.</param>
7919             <remarks>
7920             <para>
7921             Initializes the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified appender.
7922             </para>
7923             </remarks>
7924         </member>
7925         <member name="T:log4net.Config.ConfiguratorAttribute">
7926             <summary>
7927             Base class for all log4net configuration attributes.
7928             </summary>
7929             <remarks>
7930             This is an abstract class that must be extended by 
7931             specific configurators. This attribute allows the
7932             configurator to be parameterized by an assembly level
7933             attribute.
7934             </remarks>
7935             <author>Nicko Cadell</author>
7936             <author>Gert Driesen</author>
7937         </member>
7938         <member name="M:log4net.Config.ConfiguratorAttribute.#ctor(System.Int32)">
7939             <summary>
7940             Constructor used by subclasses.
7941             </summary>
7942             <param name="priority">the ordering priority for this configurator</param>
7943             <remarks>
7944             <para>
7945             The <paramref name="priority"/> is used to order the configurator
7946             attributes before they are invoked. Higher priority configurators are executed
7947             before lower priority ones.
7948             </para>
7949             </remarks>
7950         </member>
7951         <member name="M:log4net.Config.ConfiguratorAttribute.Configure(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
7952             <summary>
7953             Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified assembly.
7954             </summary>
7955             <param name="sourceAssembly">The assembly that this attribute was defined on.</param>
7956             <param name="targetRepository">The repository to configure.</param>
7957             <remarks>
7958             <para>
7959             Abstract method implemented by a subclass. When this method is called
7960             the subclass should configure the <paramref name="targetRepository"/>.
7961             </para>
7962             </remarks>
7963         </member>
7964         <member name="M:log4net.Config.ConfiguratorAttribute.CompareTo(System.Object)">
7965             <summary>
7966             Compare this instance to another ConfiguratorAttribute
7967             </summary>
7968             <param name="obj">the object to compare to</param>
7969             <returns>see <see cref="M:System.IComparable.CompareTo(System.Object)"/></returns>
7970             <remarks>
7971             <para>
7972             Compares the priorities of the two <see cref="T:log4net.Config.ConfiguratorAttribute"/> instances.
7973             Sorts by priority in descending order. Objects with the same priority are
7974             randomly ordered.
7975             </para>
7976             </remarks>
7977         </member>
7978         <member name="T:log4net.Config.DomainAttribute">
7979             <summary>
7980             Assembly level attribute that specifies the logging domain for the assembly.
7981             </summary>
7982             <remarks>
7983             <para>
7984             <b>DomainAttribute is obsolete. Use RepositoryAttribute instead of DomainAttribute.</b>
7985             </para>
7986             <para>
7987             Assemblies are mapped to logging domains. Each domain has its own
7988             logging repository. This attribute specified on the assembly controls
7989             the configuration of the domain. The <see cref="P:log4net.Config.RepositoryAttribute.Name"/> property specifies the name
7990             of the domain that this assembly is a part of. The <see cref="P:log4net.Config.RepositoryAttribute.RepositoryType"/>
7991             specifies the type of the repository objects to create for the domain. If 
7992             this attribute is not specified and a <see cref="P:log4net.Config.RepositoryAttribute.Name"/> is not specified
7993             then the assembly will be part of the default shared logging domain.
7994             </para>
7995             <para>
7996             This attribute can only be specified on the assembly and may only be used
7997             once per assembly.
7998             </para>
7999             </remarks>
8000             <author>Nicko Cadell</author>
8001             <author>Gert Driesen</author>
8002         </member>
8003         <member name="T:log4net.Config.RepositoryAttribute">
8004             <summary>
8005             Assembly level attribute that specifies the logging repository for the assembly.
8006             </summary>
8007             <remarks>
8008             <para>
8009             Assemblies are mapped to logging repository. This attribute specified 
8010             on the assembly controls
8011             the configuration of the repository. The <see cref="P:log4net.Config.RepositoryAttribute.Name"/> property specifies the name
8012             of the repository that this assembly is a part of. The <see cref="P:log4net.Config.RepositoryAttribute.RepositoryType"/>
8013             specifies the type of the <see cref="T:log4net.Repository.ILoggerRepository"/> object 
8014             to create for the assembly. If this attribute is not specified or a <see cref="P:log4net.Config.RepositoryAttribute.Name"/> 
8015             is not specified then the assembly will be part of the default shared logging repository.
8016             </para>
8017             <para>
8018             This attribute can only be specified on the assembly and may only be used
8019             once per assembly.
8020             </para>
8021             </remarks>
8022             <author>Nicko Cadell</author>
8023             <author>Gert Driesen</author>
8024         </member>
8025         <member name="M:log4net.Config.RepositoryAttribute.#ctor">
8026             <summary>
8027             Initializes a new instance of the <see cref="T:log4net.Config.RepositoryAttribute"/> class.
8028             </summary>
8029             <remarks>
8030             <para>
8031             Default constructor.
8032             </para>
8033             </remarks>
8034         </member>
8035         <member name="M:log4net.Config.RepositoryAttribute.#ctor(System.String)">
8036             <summary>
8037             Initialize a new instance of the <see cref="T:log4net.Config.RepositoryAttribute"/> class 
8038             with the name of the repository.
8039             </summary>
8040             <param name="name">The name of the repository.</param>
8041             <remarks>
8042             <para>
8043             Initialize the attribute with the name for the assembly's repository.
8044             </para>
8045             </remarks>
8046         </member>
8047         <member name="P:log4net.Config.RepositoryAttribute.Name">
8048             <summary>
8049             Gets or sets the name of the logging repository.
8050             </summary>
8051             <value>
8052             The string name to use as the name of the repository associated with this
8053             assembly.
8054             </value>
8055             <remarks>
8056             <para>
8057             This value does not have to be unique. Several assemblies can share the
8058             same repository. They will share the logging configuration of the repository.
8059             </para>
8060             </remarks>
8061         </member>
8062         <member name="P:log4net.Config.RepositoryAttribute.RepositoryType">
8063             <summary>
8064             Gets or sets the type of repository to create for this assembly.
8065             </summary>
8066             <value>
8067             The type of repository to create for this assembly.
8068             </value>
8069             <remarks>
8070             <para>
8071             The type of the repository to create for the assembly.
8072             The type must implement the <see cref="T:log4net.Repository.ILoggerRepository"/>
8073             interface.
8074             </para>
8075             <para>
8076             This will be the type of repository created when 
8077             the repository is created. If multiple assemblies reference the
8078             same repository then the repository is only created once using the
8079             <see cref="P:log4net.Config.RepositoryAttribute.RepositoryType"/> of the first assembly to call into the 
8080             repository.
8081             </para>
8082             </remarks>
8083         </member>
8084         <member name="M:log4net.Config.DomainAttribute.#ctor">
8085             <summary>
8086             Initializes a new instance of the <see cref="T:log4net.Config.DomainAttribute"/> class.
8087             </summary>
8088             <remarks>
8089             <para>
8090             Obsolete. Use RepositoryAttribute instead of DomainAttribute.
8091             </para>
8092             </remarks>
8093         </member>
8094         <member name="M:log4net.Config.DomainAttribute.#ctor(System.String)">
8095             <summary>
8096             Initialize a new instance of the <see cref="T:log4net.Config.DomainAttribute"/> class 
8097             with the name of the domain.
8098             </summary>
8099             <param name="name">The name of the domain.</param>
8100             <remarks>
8101             <para>
8102             Obsolete. Use RepositoryAttribute instead of DomainAttribute.
8103             </para>
8104             </remarks>
8105         </member>
8106         <member name="T:log4net.Config.DOMConfigurator">
8107             <summary>
8108             Use this class to initialize the log4net environment using an Xml tree.
8109             </summary>
8110             <remarks>
8111             <para>
8112             <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
8113             </para>
8114             <para>
8115             Configures a <see cref="T:log4net.Repository.ILoggerRepository"/> using an Xml tree.
8116             </para>
8117             </remarks>
8118             <author>Nicko Cadell</author>
8119             <author>Gert Driesen</author>
8120         </member>
8121         <member name="M:log4net.Config.DOMConfigurator.#ctor">
8122             <summary>
8123             Private constructor
8124             </summary>
8125         </member>
8126         <member name="M:log4net.Config.DOMConfigurator.Configure">
8127             <summary>
8128             Automatically configures the log4net system based on the 
8129             application's configuration settings.
8130             </summary>
8131             <remarks>
8132             <para>
8133             <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
8134             </para>
8135             Each application has a configuration file. This has the
8136             same name as the application with '.config' appended.
8137             This file is XML and calling this function prompts the
8138             configurator to look in that file for a section called
8139             <c>log4net</c> that contains the configuration data.
8140             </remarks>
8141         </member>
8142         <member name="M:log4net.Config.DOMConfigurator.Configure(log4net.Repository.ILoggerRepository)">
8143             <summary>
8144             Automatically configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using settings
8145             stored in the application's configuration file.
8146             </summary>
8147             <remarks>
8148             <para>
8149             <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
8150             </para>
8151             Each application has a configuration file. This has the
8152             same name as the application with '.config' appended.
8153             This file is XML and calling this function prompts the
8154             configurator to look in that file for a section called
8155             <c>log4net</c> that contains the configuration data.
8156             </remarks>
8157             <param name="repository">The repository to configure.</param>
8158         </member>
8159         <member name="M:log4net.Config.DOMConfigurator.Configure(System.Xml.XmlElement)">
8160             <summary>
8161             Configures log4net using a <c>log4net</c> element
8162             </summary>
8163             <remarks>
8164             <para>
8165             <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
8166             </para>
8167             Loads the log4net configuration from the XML element
8168             supplied as <paramref name="element"/>.
8169             </remarks>
8170             <param name="element">The element to parse.</param>
8171         </member>
8172         <member name="M:log4net.Config.DOMConfigurator.Configure(log4net.Repository.ILoggerRepository,System.Xml.XmlElement)">
8173             <summary>
8174             Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified XML 
8175             element.
8176             </summary>
8177             <remarks>
8178             <para>
8179             <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
8180             </para>
8181             Loads the log4net configuration from the XML element
8182             supplied as <paramref name="element"/>.
8183             </remarks>
8184             <param name="repository">The repository to configure.</param>
8185             <param name="element">The element to parse.</param>
8186         </member>
8187         <member name="M:log4net.Config.DOMConfigurator.Configure(System.IO.FileInfo)">
8188             <summary>
8189             Configures log4net using the specified configuration file.
8190             </summary>
8191             <param name="configFile">The XML file to load the configuration from.</param>
8192             <remarks>
8193             <para>
8194             <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
8195             </para>
8196             <para>
8197             The configuration file must be valid XML. It must contain
8198             at least one element called <c>log4net</c> that holds
8199             the log4net configuration data.
8200             </para>
8201             <para>
8202             The log4net configuration file can possible be specified in the application's
8203             configuration file (either <c>MyAppName.exe.config</c> for a
8204             normal application on <c>Web.config</c> for an ASP.NET application).
8205             </para>
8206             <example>
8207             The following example configures log4net using a configuration file, of which the 
8208             location is stored in the application's configuration file :
8209             </example>
8210             <code lang="C#">
8211             using log4net.Config;
8212             using System.IO;
8213             using System.Configuration;
8214             
8215             ...
8216             
8217             DOMConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"]));
8218             </code>
8219             <para>
8220             In the <c>.config</c> file, the path to the log4net can be specified like this :
8221             </para>
8222             <code lang="XML" escaped="true">
8223             <configuration>
8224                 <appSettings>
8225                         <add key="log4net-config-file" value="log.config"/>
8226                 </appSettings>
8227             </configuration>
8228             </code>
8229             </remarks>
8230         </member>
8231         <member name="M:log4net.Config.DOMConfigurator.Configure(System.IO.Stream)">
8232             <summary>
8233             Configures log4net using the specified configuration file.
8234             </summary>
8235             <param name="configStream">A stream to load the XML configuration from.</param>
8236             <remarks>
8237             <para>
8238             <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
8239             </para>
8240             <para>
8241             The configuration data must be valid XML. It must contain
8242             at least one element called <c>log4net</c> that holds
8243             the log4net configuration data.
8244             </para>
8245             <para>
8246             Note that this method will NOT close the stream parameter.
8247             </para>
8248             </remarks>
8249         </member>
8250         <member name="M:log4net.Config.DOMConfigurator.Configure(log4net.Repository.ILoggerRepository,System.IO.FileInfo)">
8251             <summary>
8252             Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified configuration 
8253             file.
8254             </summary>
8255             <param name="repository">The repository to configure.</param>
8256             <param name="configFile">The XML file to load the configuration from.</param>
8257             <remarks>
8258             <para>
8259             <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
8260             </para>
8261             <para>
8262             The configuration file must be valid XML. It must contain
8263             at least one element called <c>log4net</c> that holds
8264             the configuration data.
8265             </para>
8266             <para>
8267             The log4net configuration file can possible be specified in the application's
8268             configuration file (either <c>MyAppName.exe.config</c> for a
8269             normal application on <c>Web.config</c> for an ASP.NET application).
8270             </para>
8271             <example>
8272             The following example configures log4net using a configuration file, of which the 
8273             location is stored in the application's configuration file :
8274             </example>
8275             <code lang="C#">
8276             using log4net.Config;
8277             using System.IO;
8278             using System.Configuration;
8279             
8280             ...
8281             
8282             DOMConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"]));
8283             </code>
8284             <para>
8285             In the <c>.config</c> file, the path to the log4net can be specified like this :
8286             </para>
8287             <code lang="XML" escaped="true">
8288             <configuration>
8289                 <appSettings>
8290                         <add key="log4net-config-file" value="log.config"/>
8291                 </appSettings>
8292             </configuration>
8293             </code>
8294             </remarks>
8295         </member>
8296         <member name="M:log4net.Config.DOMConfigurator.Configure(log4net.Repository.ILoggerRepository,System.IO.Stream)">
8297             <summary>
8298             Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified configuration 
8299             file.
8300             </summary>
8301             <param name="repository">The repository to configure.</param>
8302             <param name="configStream">The stream to load the XML configuration from.</param>
8303             <remarks>
8304             <para>
8305             <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
8306             </para>
8307             <para>
8308             The configuration data must be valid XML. It must contain
8309             at least one element called <c>log4net</c> that holds
8310             the configuration data.
8311             </para>
8312             <para>
8313             Note that this method will NOT close the stream parameter.
8314             </para>
8315             </remarks>
8316         </member>
8317         <member name="M:log4net.Config.DOMConfigurator.ConfigureAndWatch(System.IO.FileInfo)">
8318             <summary>
8319             Configures log4net using the file specified, monitors the file for changes 
8320             and reloads the configuration if a change is detected.
8321             </summary>
8322             <param name="configFile">The XML file to load the configuration from.</param>
8323             <remarks>
8324             <para>
8325             <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
8326             </para>
8327             <para>
8328             The configuration file must be valid XML. It must contain
8329             at least one element called <c>log4net</c> that holds
8330             the configuration data.
8331             </para>
8332             <para>
8333             The configuration file will be monitored using a <see cref="T:System.IO.FileSystemWatcher"/>
8334             and depends on the behavior of that class.
8335             </para>
8336             <para>
8337             For more information on how to configure log4net using
8338             a separate configuration file, see <see cref="M:log4net.Config.DOMConfigurator.Configure(System.IO.FileInfo)"/>.
8339             </para>
8340             </remarks>
8341             <seealso cref="M:log4net.Config.DOMConfigurator.Configure(System.IO.FileInfo)"/>
8342         </member>
8343         <member name="M:log4net.Config.DOMConfigurator.ConfigureAndWatch(log4net.Repository.ILoggerRepository,System.IO.FileInfo)">
8344             <summary>
8345             Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using the file specified, 
8346             monitors the file for changes and reloads the configuration if a change 
8347             is detected.
8348             </summary>
8349             <param name="repository">The repository to configure.</param>
8350             <param name="configFile">The XML file to load the configuration from.</param>
8351             <remarks>
8352             <para>
8353             <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
8354             </para>
8355             <para>
8356             The configuration file must be valid XML. It must contain
8357             at least one element called <c>log4net</c> that holds
8358             the configuration data.
8359             </para>
8360             <para>
8361             The configuration file will be monitored using a <see cref="T:System.IO.FileSystemWatcher"/>
8362             and depends on the behavior of that class.
8363             </para>
8364             <para>
8365             For more information on how to configure log4net using
8366             a separate configuration file, see <see cref="M:log4net.Config.DOMConfigurator.Configure(System.IO.FileInfo)"/>.
8367             </para>
8368             </remarks>
8369             <seealso cref="M:log4net.Config.DOMConfigurator.Configure(System.IO.FileInfo)"/>
8370         </member>
8371         <member name="T:log4net.Config.DOMConfiguratorAttribute">
8372             <summary>
8373             Assembly level attribute to configure the <see cref="T:log4net.Config.XmlConfigurator"/>.
8374             </summary>
8375             <remarks>
8376             <para>
8377             <b>AliasDomainAttribute is obsolete. Use AliasRepositoryAttribute instead of AliasDomainAttribute.</b>
8378             </para>
8379             <para>
8380             This attribute may only be used at the assembly scope and can only
8381             be used once per assembly.
8382             </para>
8383             <para>
8384             Use this attribute to configure the <see cref="T:log4net.Config.XmlConfigurator"/>
8385             without calling one of the <see cref="M:log4net.Config.XmlConfigurator.Configure"/>
8386             methods.
8387             </para>
8388             </remarks>
8389             <author>Nicko Cadell</author>
8390             <author>Gert Driesen</author>
8391         </member>
8392         <member name="T:log4net.Config.XmlConfiguratorAttribute">
8393             <summary>
8394             Assembly level attribute to configure the <see cref="T:log4net.Config.XmlConfigurator"/>.
8395             </summary>
8396             <remarks>
8397             <para>
8398             This attribute may only be used at the assembly scope and can only
8399             be used once per assembly.
8400             </para>
8401             <para>
8402             Use this attribute to configure the <see cref="T:log4net.Config.XmlConfigurator"/>
8403             without calling one of the <see cref="M:log4net.Config.XmlConfigurator.Configure"/>
8404             methods.
8405             </para>
8406             <para>
8407             If neither of the <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFile"/> or <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFileExtension"/>
8408             properties are set the configuration is loaded from the application's .config file.
8409             If set the <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFile"/> property takes priority over the
8410             <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFileExtension"/> property. The <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFile"/> property
8411             specifies a path to a file to load the config from. The path is relative to the
8412             application's base directory; <see cref="P:System.AppDomain.BaseDirectory"/>.
8413             The <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFileExtension"/> property is used as a postfix to the assembly file name.
8414             The config file must be located in the  application's base directory; <see cref="P:System.AppDomain.BaseDirectory"/>.
8415             For example in a console application setting the <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFileExtension"/> to
8416             <c>config</c> has the same effect as not specifying the <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFile"/> or 
8417             <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFileExtension"/> properties.
8418             </para>
8419             <para>
8420             The <see cref="P:log4net.Config.XmlConfiguratorAttribute.Watch"/> property can be set to cause the <see cref="T:log4net.Config.XmlConfigurator"/>
8421             to watch the configuration file for changes.
8422             </para>
8423             <note>
8424             <para>
8425             Log4net will only look for assembly level configuration attributes once.
8426             When using the log4net assembly level attributes to control the configuration 
8427             of log4net you must ensure that the first call to any of the 
8428             <see cref="T:log4net.Core.LoggerManager"/> methods is made from the assembly with the configuration
8429             attributes. 
8430             </para>
8431             <para>
8432             If you cannot guarantee the order in which log4net calls will be made from 
8433             different assemblies you must use programmatic configuration instead, i.e.
8434             call the <see cref="M:log4net.Config.XmlConfigurator.Configure"/> method directly.
8435             </para>
8436             </note>
8437             </remarks>
8438             <author>Nicko Cadell</author>
8439             <author>Gert Driesen</author>
8440         </member>
8441         <member name="M:log4net.Config.XmlConfiguratorAttribute.#ctor">
8442             <summary>
8443             Default constructor
8444             </summary>
8445             <remarks>
8446             <para>
8447             Default constructor
8448             </para>
8449             </remarks>
8450         </member>
8451         <member name="M:log4net.Config.XmlConfiguratorAttribute.Configure(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
8452             <summary>
8453             Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified assembly.
8454             </summary>
8455             <param name="sourceAssembly">The assembly that this attribute was defined on.</param>
8456             <param name="targetRepository">The repository to configure.</param>
8457             <remarks>
8458             <para>
8459             Configure the repository using the <see cref="T:log4net.Config.XmlConfigurator"/>.
8460             The <paramref name="targetRepository"/> specified must extend the <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/>
8461             class otherwise the <see cref="T:log4net.Config.XmlConfigurator"/> will not be able to
8462             configure it.
8463             </para>
8464             </remarks>
8465             <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="repository"/> does not extend <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/>.</exception>
8466         </member>
8467         <member name="M:log4net.Config.XmlConfiguratorAttribute.ConfigureFromFile(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
8468             <summary>
8469             Attempt to load configuration from the local file system
8470             </summary>
8471             <param name="sourceAssembly">The assembly that this attribute was defined on.</param>
8472             <param name="targetRepository">The repository to configure.</param>
8473         </member>
8474         <member name="M:log4net.Config.XmlConfiguratorAttribute.ConfigureFromFile(log4net.Repository.ILoggerRepository,System.IO.FileInfo)">
8475             <summary>
8476             Configure the specified repository using a <see cref="T:System.IO.FileInfo"/>
8477             </summary>
8478             <param name="targetRepository">The repository to configure.</param>
8479             <param name="configFile">the FileInfo pointing to the config file</param>
8480         </member>
8481         <member name="M:log4net.Config.XmlConfiguratorAttribute.ConfigureFromUri(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
8482             <summary>
8483             Attempt to load configuration from a URI
8484             </summary>
8485             <param name="sourceAssembly">The assembly that this attribute was defined on.</param>
8486             <param name="targetRepository">The repository to configure.</param>
8487         </member>
8488         <member name="P:log4net.Config.XmlConfiguratorAttribute.ConfigFile">
8489             <summary>
8490             Gets or sets the filename of the configuration file.
8491             </summary>
8492             <value>
8493             The filename of the configuration file.
8494             </value>
8495             <remarks>
8496             <para>
8497             If specified, this is the name of the configuration file to use with
8498             the <see cref="T:log4net.Config.XmlConfigurator"/>. This file path is relative to the
8499             <b>application base</b> directory (<see cref="P:System.AppDomain.BaseDirectory"/>).
8500             </para>
8501             <para>
8502             The <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFile"/> takes priority over the <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFileExtension"/>.
8503             </para>
8504             </remarks>
8505         </member>
8506         <member name="P:log4net.Config.XmlConfiguratorAttribute.ConfigFileExtension">
8507             <summary>
8508             Gets or sets the extension of the configuration file.
8509             </summary>
8510             <value>
8511             The extension of the configuration file.
8512             </value>
8513             <remarks>
8514             <para>
8515             If specified this is the extension for the configuration file.
8516             The path to the config file is built by using the <b>application 
8517             base</b> directory (<see cref="P:System.AppDomain.BaseDirectory"/>),
8518             the <b>assembly file name</b> and the config file extension.
8519             </para>
8520             <para>
8521             If the <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFileExtension"/> is set to <c>MyExt</c> then
8522             possible config file names would be: <c>MyConsoleApp.exe.MyExt</c> or
8523             <c>MyClassLibrary.dll.MyExt</c>.
8524             </para>
8525             <para>
8526             The <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFile"/> takes priority over the <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFileExtension"/>.
8527             </para>
8528             </remarks>
8529         </member>
8530         <member name="P:log4net.Config.XmlConfiguratorAttribute.Watch">
8531             <summary>
8532             Gets or sets a value indicating whether to watch the configuration file.
8533             </summary>
8534             <value>
8535             <c>true</c> if the configuration should be watched, <c>false</c> otherwise.
8536             </value>
8537             <remarks>
8538             <para>
8539             If this flag is specified and set to <c>true</c> then the framework
8540             will watch the configuration file and will reload the config each time 
8541             the file is modified.
8542             </para>
8543             <para>
8544             The config file can only be watched if it is loaded from local disk.
8545             In a No-Touch (Smart Client) deployment where the application is downloaded
8546             from a web server the config file may not reside on the local disk
8547             and therefore it may not be able to watch it.
8548             </para>
8549             <note>
8550             Watching configuration is not supported on the SSCLI.
8551             </note>
8552             </remarks>
8553         </member>
8554         <member name="T:log4net.Config.Log4NetConfigurationSectionHandler">
8555             <summary>
8556             Class to register for the log4net section of the configuration file
8557             </summary>
8558             <remarks>
8559             The log4net section of the configuration file needs to have a section
8560             handler registered. This is the section handler used. It simply returns
8561             the XML element that is the root of the section.
8562             </remarks>
8563             <example>
8564             Example of registering the log4net section handler :
8565             <code lang="XML" escaped="true">
8566             <configuration>
8567                 <configSections>
8568                         <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
8569                 </configSections>
8570                 <log4net>
8571                         log4net configuration XML goes here
8572                 </log4net>
8573             </configuration>
8574             </code>
8575             </example>
8576             <author>Nicko Cadell</author>
8577             <author>Gert Driesen</author>
8578         </member>
8579         <member name="M:log4net.Config.Log4NetConfigurationSectionHandler.#ctor">
8580             <summary>
8581             Initializes a new instance of the <see cref="T:log4net.Config.Log4NetConfigurationSectionHandler"/> class.
8582             </summary>
8583             <remarks>
8584             <para>
8585             Default constructor.
8586             </para>
8587             </remarks>
8588         </member>
8589         <member name="M:log4net.Config.Log4NetConfigurationSectionHandler.Create(System.Object,System.Object,System.Xml.XmlNode)">
8590             <summary>
8591             Parses the configuration section.
8592             </summary>
8593             <param name="parent">The configuration settings in a corresponding parent configuration section.</param>
8594             <param name="configContext">The configuration context when called from the ASP.NET configuration system. Otherwise, this parameter is reserved and is a null reference.</param>
8595             <param name="section">The <see cref="T:System.Xml.XmlNode"/> for the log4net section.</param>
8596             <returns>The <see cref="T:System.Xml.XmlNode"/> for the log4net section.</returns>
8597             <remarks>
8598             <para>
8599             Returns the <see cref="T:System.Xml.XmlNode"/> containing the configuration data,
8600             </para>
8601             </remarks>
8602         </member>
8603         <member name="T:log4net.Config.PluginAttribute">
8604             <summary>
8605             Assembly level attribute that specifies a plugin to attach to 
8606             the repository.
8607             </summary>
8608             <remarks>
8609             <para>
8610             Specifies the type of a plugin to create and attach to the
8611             assembly's repository. The plugin type must implement the
8612             <see cref="T:log4net.Plugin.IPlugin"/> interface.
8613             </para>
8614             </remarks>
8615             <author>Nicko Cadell</author>
8616             <author>Gert Driesen</author>
8617         </member>
8618         <member name="T:log4net.Plugin.IPluginFactory">
8619             <summary>
8620             Interface used to create plugins.
8621             </summary>
8622             <remarks>
8623             <para>
8624             Interface used to create  a plugin.
8625             </para>
8626             </remarks>
8627             <author>Nicko Cadell</author>
8628             <author>Gert Driesen</author>
8629         </member>
8630         <member name="M:log4net.Plugin.IPluginFactory.CreatePlugin">
8631             <summary>
8632             Creates the plugin object.
8633             </summary>
8634             <returns>the new plugin instance</returns>
8635             <remarks>
8636             <para>
8637             Create and return a new plugin instance.
8638             </para>
8639             </remarks>
8640         </member>
8641         <member name="M:log4net.Config.PluginAttribute.#ctor(System.String)">
8642             <summary>
8643             Initializes a new instance of the <see cref="T:log4net.Config.PluginAttribute"/> class
8644             with the specified type.
8645             </summary>
8646             <param name="typeName">The type name of plugin to create.</param>
8647             <remarks>
8648             <para>
8649             Create the attribute with the plugin type specified.
8650             </para>
8651             <para>
8652             Where possible use the constructor that takes a <see cref="T:System.Type"/>.
8653             </para>
8654             </remarks>
8655         </member>
8656         <member name="M:log4net.Config.PluginAttribute.#ctor(System.Type)">
8657             <summary>
8658             Initializes a new instance of the <see cref="T:log4net.Config.PluginAttribute"/> class
8659             with the specified type.
8660             </summary>
8661             <param name="type">The type of plugin to create.</param>
8662             <remarks>
8663             <para>
8664             Create the attribute with the plugin type specified.
8665             </para>
8666             </remarks>
8667         </member>
8668         <member name="M:log4net.Config.PluginAttribute.CreatePlugin">
8669             <summary>
8670             Creates the plugin object defined by this attribute.
8671             </summary>
8672             <remarks>
8673             <para>
8674             Creates the instance of the <see cref="T:log4net.Plugin.IPlugin"/> object as 
8675             specified by this attribute.
8676             </para>
8677             </remarks>
8678             <returns>The plugin object.</returns>
8679         </member>
8680         <member name="M:log4net.Config.PluginAttribute.ToString">
8681             <summary>
8682             Returns a representation of the properties of this object.
8683             </summary>
8684             <remarks>
8685             <para>
8686             Overrides base class <see cref="M:System.Object.ToString"/> method to 
8687             return a representation of the properties of this object.
8688             </para>
8689             </remarks>
8690             <returns>A representation of the properties of this object</returns>
8691         </member>
8692         <member name="P:log4net.Config.PluginAttribute.Type">
8693             <summary>
8694             Gets or sets the type for the plugin.
8695             </summary>
8696             <value>
8697             The type for the plugin.
8698             </value>
8699             <remarks>
8700             <para>
8701             The type for the plugin.
8702             </para>
8703             </remarks>
8704         </member>
8705         <member name="P:log4net.Config.PluginAttribute.TypeName">
8706             <summary>
8707             Gets or sets the type name for the plugin.
8708             </summary>
8709             <value>
8710             The type name for the plugin.
8711             </value>
8712             <remarks>
8713             <para>
8714             The type name for the plugin.
8715             </para>
8716             <para>
8717             Where possible use the <see cref="P:log4net.Config.PluginAttribute.Type"/> property instead.
8718             </para>
8719             </remarks>
8720         </member>
8721         <member name="T:log4net.Config.SecurityContextProviderAttribute">
8722             <summary>
8723             Assembly level attribute to configure the <see cref="T:log4net.Core.SecurityContextProvider"/>.
8724             </summary>
8725             <remarks>
8726             <para>
8727             This attribute may only be used at the assembly scope and can only
8728             be used once per assembly.
8729             </para>
8730             <para>
8731             Use this attribute to configure the <see cref="T:log4net.Config.XmlConfigurator"/>
8732             without calling one of the <see cref="M:log4net.Config.XmlConfigurator.Configure"/>
8733             methods.
8734             </para>
8735             </remarks>
8736             <author>Nicko Cadell</author>
8737         </member>
8738         <member name="M:log4net.Config.SecurityContextProviderAttribute.#ctor(System.Type)">
8739             <summary>
8740             Construct provider attribute with type specified
8741             </summary>
8742             <param name="providerType">the type of the provider to use</param>
8743             <remarks>
8744             <para>
8745             The provider specified must subclass the <see cref="T:log4net.Core.SecurityContextProvider"/>
8746             class.
8747             </para>
8748             </remarks>
8749         </member>
8750         <member name="M:log4net.Config.SecurityContextProviderAttribute.Configure(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
8751             <summary>
8752             Configures the SecurityContextProvider
8753             </summary>
8754             <param name="sourceAssembly">The assembly that this attribute was defined on.</param>
8755             <param name="targetRepository">The repository to configure.</param>
8756             <remarks>
8757             <para>
8758             Creates a provider instance from the <see cref="P:log4net.Config.SecurityContextProviderAttribute.ProviderType"/> specified.
8759             Sets this as the default security context provider <see cref="P:log4net.Core.SecurityContextProvider.DefaultProvider"/>.
8760             </para>
8761             </remarks>
8762         </member>
8763         <member name="P:log4net.Config.SecurityContextProviderAttribute.ProviderType">
8764             <summary>
8765             Gets or sets the type of the provider to use.
8766             </summary>
8767             <value>
8768             the type of the provider to use.
8769             </value>
8770             <remarks>
8771             <para>
8772             The provider specified must subclass the <see cref="T:log4net.Core.SecurityContextProvider"/>
8773             class.
8774             </para>
8775             </remarks>
8776         </member>
8777         <member name="T:log4net.Config.XmlConfigurator">
8778             <summary>
8779             Use this class to initialize the log4net environment using an Xml tree.
8780             </summary>
8781             <remarks>
8782             <para>
8783             Configures a <see cref="T:log4net.Repository.ILoggerRepository"/> using an Xml tree.
8784             </para>
8785             </remarks>
8786             <author>Nicko Cadell</author>
8787             <author>Gert Driesen</author>
8788         </member>
8789         <member name="M:log4net.Config.XmlConfigurator.#ctor">
8790             <summary>
8791             Private constructor
8792             </summary>
8793         </member>
8794         <member name="M:log4net.Config.XmlConfigurator.Configure">
8795             <summary>
8796             Automatically configures the log4net system based on the 
8797             application's configuration settings.
8798             </summary>
8799             <remarks>
8800             <para>
8801             Each application has a configuration file. This has the
8802             same name as the application with '.config' appended.
8803             This file is XML and calling this function prompts the
8804             configurator to look in that file for a section called
8805             <c>log4net</c> that contains the configuration data.
8806             </para>
8807             <para>
8808             To use this method to configure log4net you must specify 
8809             the <see cref="T:log4net.Config.Log4NetConfigurationSectionHandler"/> section
8810             handler for the <c>log4net</c> configuration section. See the
8811             <see cref="T:log4net.Config.Log4NetConfigurationSectionHandler"/> for an example.
8812             </para>
8813             </remarks>
8814             <seealso cref="T:log4net.Config.Log4NetConfigurationSectionHandler"/>
8815         </member>
8816         <member name="M:log4net.Config.XmlConfigurator.Configure(log4net.Repository.ILoggerRepository)">
8817             <summary>
8818             Automatically configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using settings
8819             stored in the application's configuration file.
8820             </summary>
8821             <remarks>
8822             <para>
8823             Each application has a configuration file. This has the
8824             same name as the application with '.config' appended.
8825             This file is XML and calling this function prompts the
8826             configurator to look in that file for a section called
8827             <c>log4net</c> that contains the configuration data.
8828             </para>
8829             <para>
8830             To use this method to configure log4net you must specify 
8831             the <see cref="T:log4net.Config.Log4NetConfigurationSectionHandler"/> section
8832             handler for the <c>log4net</c> configuration section. See the
8833             <see cref="T:log4net.Config.Log4NetConfigurationSectionHandler"/> for an example.
8834             </para>
8835             </remarks>
8836             <param name="repository">The repository to configure.</param>
8837         </member>
8838         <member name="M:log4net.Config.XmlConfigurator.Configure(System.Xml.XmlElement)">
8839             <summary>
8840             Configures log4net using a <c>log4net</c> element
8841             </summary>
8842             <remarks>
8843             <para>
8844             Loads the log4net configuration from the XML element
8845             supplied as <paramref name="element"/>.
8846             </para>
8847             </remarks>
8848             <param name="element">The element to parse.</param>
8849         </member>
8850         <member name="M:log4net.Config.XmlConfigurator.Configure(log4net.Repository.ILoggerRepository,System.Xml.XmlElement)">
8851             <summary>
8852             Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified XML 
8853             element.
8854             </summary>
8855             <remarks>
8856             Loads the log4net configuration from the XML element
8857             supplied as <paramref name="element"/>.
8858             </remarks>
8859             <param name="repository">The repository to configure.</param>
8860             <param name="element">The element to parse.</param>
8861         </member>
8862         <member name="M:log4net.Config.XmlConfigurator.Configure(System.IO.FileInfo)">
8863             <summary>
8864             Configures log4net using the specified configuration file.
8865             </summary>
8866             <param name="configFile">The XML file to load the configuration from.</param>
8867             <remarks>
8868             <para>
8869             The configuration file must be valid XML. It must contain
8870             at least one element called <c>log4net</c> that holds
8871             the log4net configuration data.
8872             </para>
8873             <para>
8874             The log4net configuration file can possible be specified in the application's
8875             configuration file (either <c>MyAppName.exe.config</c> for a
8876             normal application on <c>Web.config</c> for an ASP.NET application).
8877             </para>
8878             <para>
8879             The first element matching <c>&lt;configuration&gt;</c> will be read as the 
8880             configuration. If this file is also a .NET .config file then you must specify 
8881             a configuration section for the <c>log4net</c> element otherwise .NET will 
8882             complain. Set the type for the section handler to <see cref="T:System.Configuration.IgnoreSectionHandler"/>, for example:
8883             <code lang="XML" escaped="true">
8884             <configSections>
8885                 <section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>
8886             </configSections>
8887             </code>
8888             </para>
8889             <example>
8890             The following example configures log4net using a configuration file, of which the 
8891             location is stored in the application's configuration file :
8892             </example>
8893             <code lang="C#">
8894             using log4net.Config;
8895             using System.IO;
8896             using System.Configuration;
8897             
8898             ...
8899             
8900             XmlConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"]));
8901             </code>
8902             <para>
8903             In the <c>.config</c> file, the path to the log4net can be specified like this :
8904             </para>
8905             <code lang="XML" escaped="true">
8906             <configuration>
8907                 <appSettings>
8908                         <add key="log4net-config-file" value="log.config"/>
8909                 </appSettings>
8910             </configuration>
8911             </code>
8912             </remarks>
8913         </member>
8914         <member name="M:log4net.Config.XmlConfigurator.Configure(System.Uri)">
8915             <summary>
8916             Configures log4net using the specified configuration URI.
8917             </summary>
8918             <param name="configUri">A URI to load the XML configuration from.</param>
8919             <remarks>
8920             <para>
8921             The configuration data must be valid XML. It must contain
8922             at least one element called <c>log4net</c> that holds
8923             the log4net configuration data.
8924             </para>
8925             <para>
8926             The <see cref="T:System.Net.WebRequest"/> must support the URI scheme specified.
8927             </para>
8928             </remarks>
8929         </member>
8930         <member name="M:log4net.Config.XmlConfigurator.Configure(System.IO.Stream)">
8931             <summary>
8932             Configures log4net using the specified configuration data stream.
8933             </summary>
8934             <param name="configStream">A stream to load the XML configuration from.</param>
8935             <remarks>
8936             <para>
8937             The configuration data must be valid XML. It must contain
8938             at least one element called <c>log4net</c> that holds
8939             the log4net configuration data.
8940             </para>
8941             <para>
8942             Note that this method will NOT close the stream parameter.
8943             </para>
8944             </remarks>
8945         </member>
8946         <member name="M:log4net.Config.XmlConfigurator.Configure(log4net.Repository.ILoggerRepository,System.IO.FileInfo)">
8947             <summary>
8948             Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified configuration 
8949             file.
8950             </summary>
8951             <param name="repository">The repository to configure.</param>
8952             <param name="configFile">The XML file to load the configuration from.</param>
8953             <remarks>
8954             <para>
8955             The configuration file must be valid XML. It must contain
8956             at least one element called <c>log4net</c> that holds
8957             the configuration data.
8958             </para>
8959             <para>
8960             The log4net configuration file can possible be specified in the application's
8961             configuration file (either <c>MyAppName.exe.config</c> for a
8962             normal application on <c>Web.config</c> for an ASP.NET application).
8963             </para>
8964             <para>
8965             The first element matching <c>&lt;configuration&gt;</c> will be read as the 
8966             configuration. If this file is also a .NET .config file then you must specify 
8967             a configuration section for the <c>log4net</c> element otherwise .NET will 
8968             complain. Set the type for the section handler to <see cref="T:System.Configuration.IgnoreSectionHandler"/>, for example:
8969             <code lang="XML" escaped="true">
8970             <configSections>
8971                 <section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>
8972             </configSections>
8973             </code>
8974             </para>
8975             <example>
8976             The following example configures log4net using a configuration file, of which the 
8977             location is stored in the application's configuration file :
8978             </example>
8979             <code lang="C#">
8980             using log4net.Config;
8981             using System.IO;
8982             using System.Configuration;
8983             
8984             ...
8985             
8986             XmlConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"]));
8987             </code>
8988             <para>
8989             In the <c>.config</c> file, the path to the log4net can be specified like this :
8990             </para>
8991             <code lang="XML" escaped="true">
8992             <configuration>
8993                 <appSettings>
8994                         <add key="log4net-config-file" value="log.config"/>
8995                 </appSettings>
8996             </configuration>
8997             </code>
8998             </remarks>
8999         </member>
9000         <member name="M:log4net.Config.XmlConfigurator.Configure(log4net.Repository.ILoggerRepository,System.Uri)">
9001             <summary>
9002             Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified configuration 
9003             URI.
9004             </summary>
9005             <param name="repository">The repository to configure.</param>
9006             <param name="configUri">A URI to load the XML configuration from.</param>
9007             <remarks>
9008             <para>
9009             The configuration data must be valid XML. It must contain
9010             at least one element called <c>log4net</c> that holds
9011             the configuration data.
9012             </para>
9013             <para>
9014             The <see cref="T:System.Net.WebRequest"/> must support the URI scheme specified.
9015             </para>
9016             </remarks>
9017         </member>
9018         <member name="M:log4net.Config.XmlConfigurator.Configure(log4net.Repository.ILoggerRepository,System.IO.Stream)">
9019             <summary>
9020             Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified configuration 
9021             file.
9022             </summary>
9023             <param name="repository">The repository to configure.</param>
9024             <param name="configStream">The stream to load the XML configuration from.</param>
9025             <remarks>
9026             <para>
9027             The configuration data must be valid XML. It must contain
9028             at least one element called <c>log4net</c> that holds
9029             the configuration data.
9030             </para>
9031             <para>
9032             Note that this method will NOT close the stream parameter.
9033             </para>
9034             </remarks>
9035         </member>
9036         <member name="M:log4net.Config.XmlConfigurator.ConfigureAndWatch(System.IO.FileInfo)">
9037             <summary>
9038             Configures log4net using the file specified, monitors the file for changes 
9039             and reloads the configuration if a change is detected.
9040             </summary>
9041             <param name="configFile">The XML file to load the configuration from.</param>
9042             <remarks>
9043             <para>
9044             The configuration file must be valid XML. It must contain
9045             at least one element called <c>log4net</c> that holds
9046             the configuration data.
9047             </para>
9048             <para>
9049             The configuration file will be monitored using a <see cref="T:System.IO.FileSystemWatcher"/>
9050             and depends on the behavior of that class.
9051             </para>
9052             <para>
9053             For more information on how to configure log4net using
9054             a separate configuration file, see <see cref="M:log4net.Config.XmlConfigurator.Configure(System.IO.FileInfo)"/>.
9055             </para>
9056             </remarks>
9057             <seealso cref="M:log4net.Config.XmlConfigurator.Configure(System.IO.FileInfo)"/>
9058         </member>
9059         <member name="M:log4net.Config.XmlConfigurator.ConfigureAndWatch(log4net.Repository.ILoggerRepository,System.IO.FileInfo)">
9060             <summary>
9061             Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using the file specified, 
9062             monitors the file for changes and reloads the configuration if a change 
9063             is detected.
9064             </summary>
9065             <param name="repository">The repository to configure.</param>
9066             <param name="configFile">The XML file to load the configuration from.</param>
9067             <remarks>
9068             <para>
9069             The configuration file must be valid XML. It must contain
9070             at least one element called <c>log4net</c> that holds
9071             the configuration data.
9072             </para>
9073             <para>
9074             The configuration file will be monitored using a <see cref="T:System.IO.FileSystemWatcher"/>
9075             and depends on the behavior of that class.
9076             </para>
9077             <para>
9078             For more information on how to configure log4net using
9079             a separate configuration file, see <see cref="M:log4net.Config.XmlConfigurator.Configure(System.IO.FileInfo)"/>.
9080             </para>
9081             </remarks>
9082             <seealso cref="M:log4net.Config.XmlConfigurator.Configure(System.IO.FileInfo)"/>
9083         </member>
9084         <member name="M:log4net.Config.XmlConfigurator.ConfigureFromXml(log4net.Repository.ILoggerRepository,System.Xml.XmlElement)">
9085             <summary>
9086             Configures the specified repository using a <c>log4net</c> element.
9087             </summary>
9088             <param name="repository">The hierarchy to configure.</param>
9089             <param name="element">The element to parse.</param>
9090             <remarks>
9091             <para>
9092             Loads the log4net configuration from the XML element
9093             supplied as <paramref name="element"/>.
9094             </para>
9095             <para>
9096             This method is ultimately called by one of the Configure methods 
9097             to load the configuration from an <see cref="T:System.Xml.XmlElement"/>.
9098             </para>
9099             </remarks>
9100         </member>
9101         <member name="T:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler">
9102             <summary>
9103             Class used to watch config files.
9104             </summary>
9105             <remarks>
9106             <para>
9107             Uses the <see cref="T:System.IO.FileSystemWatcher"/> to monitor
9108             changes to a specified file. Because multiple change notifications
9109             may be raised when the file is modified, a timer is used to
9110             compress the notifications into a single event. The timer
9111             waits for <see cref="F:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.TimeoutMillis"/> time before delivering
9112             the event notification. If any further <see cref="T:System.IO.FileSystemWatcher"/>
9113             change notifications arrive while the timer is waiting it
9114             is reset and waits again for <see cref="F:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.TimeoutMillis"/> to
9115             elapse.
9116             </para>
9117             </remarks>
9118         </member>
9119         <member name="F:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.TimeoutMillis">
9120             <summary>
9121             The default amount of time to wait after receiving notification
9122             before reloading the config file.
9123             </summary>
9124         </member>
9125         <member name="M:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.StartWatching(log4net.Repository.ILoggerRepository,System.IO.FileInfo)">
9126             <summary>
9127             Watch a specified config file used to configure a repository
9128             </summary>
9129             <param name="repository">The repository to configure.</param>
9130             <param name="configFile">The configuration file to watch.</param>
9131             <remarks>
9132             <para>
9133             Watch a specified config file used to configure a repository
9134             </para>
9135             </remarks>
9136         </member>
9137         <member name="F:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.m_configFile">
9138             <summary>
9139             Holds the FileInfo used to configure the XmlConfigurator
9140             </summary>
9141         </member>
9142         <member name="F:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.m_repository">
9143             <summary>
9144             Holds the repository being configured.
9145             </summary>
9146         </member>
9147         <member name="F:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.m_timer">
9148             <summary>
9149             The timer used to compress the notification events.
9150             </summary>
9151         </member>
9152         <member name="M:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.#ctor(log4net.Repository.ILoggerRepository,System.IO.FileInfo)">
9153             <summary>
9154             Initializes a new instance of the <see cref="T:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler"/> class.
9155             </summary>
9156             <param name="repository">The repository to configure.</param>
9157             <param name="configFile">The configuration file to watch.</param>
9158             <remarks>
9159             <para>
9160             Initializes a new instance of the <see cref="T:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler"/> class.
9161             </para>
9162             </remarks>
9163         </member>
9164         <member name="M:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.ConfigureAndWatchHandler_OnChanged(System.Object,System.IO.FileSystemEventArgs)">
9165             <summary>
9166             Event handler used by <see cref="T:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler"/>.
9167             </summary>
9168             <param name="source">The <see cref="T:System.IO.FileSystemWatcher"/> firing the event.</param>
9169             <param name="e">The argument indicates the file that caused the event to be fired.</param>
9170             <remarks>
9171             <para>
9172             This handler reloads the configuration from the file when the event is fired.
9173             </para>
9174             </remarks>
9175         </member>
9176         <member name="M:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.ConfigureAndWatchHandler_OnRenamed(System.Object,System.IO.RenamedEventArgs)">
9177             <summary>
9178             Event handler used by <see cref="T:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler"/>.
9179             </summary>
9180             <param name="source">The <see cref="T:System.IO.FileSystemWatcher"/> firing the event.</param>
9181             <param name="e">The argument indicates the file that caused the event to be fired.</param>
9182             <remarks>
9183             <para>
9184             This handler reloads the configuration from the file when the event is fired.
9185             </para>
9186             </remarks>
9187         </member>
9188         <member name="M:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.OnWatchedFileChange(System.Object)">
9189             <summary>
9190             Called by the timer when the configuration has been updated.
9191             </summary>
9192             <param name="state">null</param>
9193         </member>
9194         <member name="T:log4net.Core.CompactRepositorySelector">
9195             <summary>
9196             The implementation of the <see cref="T:log4net.Core.IRepositorySelector"/> interface suitable
9197             for use with the compact framework
9198             </summary>
9199             <remarks>
9200             <para>
9201             This <see cref="T:log4net.Core.IRepositorySelector"/> implementation is a simple
9202             mapping between repository name and <see cref="T:log4net.Repository.ILoggerRepository"/>
9203             object.
9204             </para>
9205             <para>
9206             The .NET Compact Framework 1.0 does not support retrieving assembly
9207             level attributes therefore unlike the <c>DefaultRepositorySelector</c>
9208             this selector does not examine the calling assembly for attributes.
9209             </para>
9210             </remarks>
9211             <author>Nicko Cadell</author>
9212         </member>
9213         <member name="T:log4net.Core.IRepositorySelector">
9214             <summary>
9215             Interface used by the <see cref="T:log4net.LogManager"/> to select the <see cref="T:log4net.Repository.ILoggerRepository"/>.
9216             </summary>
9217             <remarks>
9218             <para>
9219             The <see cref="T:log4net.LogManager"/> uses a <see cref="T:log4net.Core.IRepositorySelector"/> 
9220             to specify the policy for selecting the correct <see cref="T:log4net.Repository.ILoggerRepository"/> 
9221             to return to the caller.
9222             </para>
9223             </remarks>
9224             <author>Nicko Cadell</author>
9225             <author>Gert Driesen</author>
9226         </member>
9227         <member name="M:log4net.Core.IRepositorySelector.GetRepository(System.Reflection.Assembly)">
9228             <summary>
9229             Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified assembly.
9230             </summary>
9231             <param name="assembly">The assembly to use to lookup to the <see cref="T:log4net.Repository.ILoggerRepository"/></param>
9232             <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> for the assembly.</returns>
9233             <remarks>
9234             <para>
9235             Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified assembly.
9236             </para>
9237             <para>
9238             How the association between <see cref="T:System.Reflection.Assembly"/> and <see cref="T:log4net.Repository.ILoggerRepository"/>
9239             is made is not defined. The implementation may choose any method for
9240             this association. The results of this method must be repeatable, i.e.
9241             when called again with the same arguments the result must be the
9242             save value.
9243             </para>
9244             </remarks>
9245         </member>
9246         <member name="M:log4net.Core.IRepositorySelector.GetRepository(System.String)">
9247             <summary>
9248             Gets the named <see cref="T:log4net.Repository.ILoggerRepository"/>.
9249             </summary>
9250             <param name="repositoryName">The name to use to lookup to the <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
9251             <returns>The named <see cref="T:log4net.Repository.ILoggerRepository"/></returns>
9252             <remarks>
9253             Lookup a named <see cref="T:log4net.Repository.ILoggerRepository"/>. This is the repository created by
9254             calling <see cref="M:log4net.Core.IRepositorySelector.CreateRepository(System.String,System.Type)"/>.
9255             </remarks>
9256         </member>
9257         <member name="M:log4net.Core.IRepositorySelector.CreateRepository(System.Reflection.Assembly,System.Type)">
9258             <summary>
9259             Creates a new repository for the assembly specified.
9260             </summary>
9261             <param name="assembly">The assembly to use to create the domain to associate with the <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
9262             <param name="repositoryType">The type of repository to create, must implement <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
9263             <returns>The repository created.</returns>
9264             <remarks>
9265             <para>
9266             The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the domain
9267             specified such that a call to <see cref="M:log4net.Core.IRepositorySelector.GetRepository(System.Reflection.Assembly)"/> with the
9268             same assembly specified will return the same repository instance.
9269             </para>
9270             <para>
9271             How the association between <see cref="T:System.Reflection.Assembly"/> and <see cref="T:log4net.Repository.ILoggerRepository"/>
9272             is made is not defined. The implementation may choose any method for
9273             this association.
9274             </para>
9275             </remarks>
9276         </member>
9277         <member name="M:log4net.Core.IRepositorySelector.CreateRepository(System.String,System.Type)">
9278             <summary>
9279             Creates a new repository with the name specified.
9280             </summary>
9281             <param name="repositoryName">The name to associate with the <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
9282             <param name="repositoryType">The type of repository to create, must implement <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
9283             <returns>The repository created.</returns>
9284             <remarks>
9285             <para>
9286             The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the name
9287             specified such that a call to <see cref="M:log4net.Core.IRepositorySelector.GetRepository(System.String)"/> with the
9288             same name will return the same repository instance.
9289             </para>
9290             </remarks>
9291         </member>
9292         <member name="M:log4net.Core.IRepositorySelector.ExistsRepository(System.String)">
9293             <summary>
9294             Test if a named repository exists
9295             </summary>
9296             <param name="repositoryName">the named repository to check</param>
9297             <returns><c>true</c> if the repository exists</returns>
9298             <remarks>
9299             <para>
9300             Test if a named repository exists. Use <see cref="M:log4net.Core.IRepositorySelector.CreateRepository(System.Reflection.Assembly,System.Type)"/>
9301             to create a new repository and <see cref="M:log4net.Core.IRepositorySelector.GetRepository(System.Reflection.Assembly)"/> to retrieve 
9302             a repository.
9303             </para>
9304             </remarks>
9305         </member>
9306         <member name="M:log4net.Core.IRepositorySelector.GetAllRepositories">
9307             <summary>
9308             Gets an array of all currently defined repositories.
9309             </summary>
9310             <returns>
9311             An array of the <see cref="T:log4net.Repository.ILoggerRepository"/> instances created by 
9312             this <see cref="T:log4net.Core.IRepositorySelector"/>.</returns>
9313             <remarks>
9314             <para>
9315             Gets an array of all of the repositories created by this selector.
9316             </para>
9317             </remarks>
9318         </member>
9319         <member name="E:log4net.Core.IRepositorySelector.LoggerRepositoryCreatedEvent">
9320             <summary>
9321             Event to notify that a logger repository has been created.
9322             </summary>
9323             <value>
9324             Event to notify that a logger repository has been created.
9325             </value>
9326             <remarks>
9327             <para>
9328             Event raised when a new repository is created.
9329             The event source will be this selector. The event args will
9330             be a <see cref="T:log4net.Core.LoggerRepositoryCreationEventArgs"/> which
9331             holds the newly created <see cref="T:log4net.Repository.ILoggerRepository"/>.
9332             </para>
9333             </remarks>
9334         </member>
9335         <member name="M:log4net.Core.CompactRepositorySelector.#ctor(System.Type)">
9336             <summary>
9337             Create a new repository selector
9338             </summary>
9339             <param name="defaultRepositoryType">the type of the repositories to create, must implement <see cref="T:log4net.Repository.ILoggerRepository"/></param>
9340             <remarks>
9341             <para>
9342             Create an new compact repository selector.
9343             The default type for repositories must be specified,
9344             an appropriate value would be <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/>.
9345             </para>
9346             </remarks>
9347             <exception cref="T:System.ArgumentNullException">throw if <paramref name="defaultRepositoryType"/> is null</exception>
9348             <exception cref="T:System.ArgumentOutOfRangeException">throw if <paramref name="defaultRepositoryType"/> does not implement <see cref="T:log4net.Repository.ILoggerRepository"/></exception>
9349         </member>
9350         <member name="M:log4net.Core.CompactRepositorySelector.GetRepository(System.Reflection.Assembly)">
9351             <summary>
9352             Get the <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified assembly
9353             </summary>
9354             <param name="assembly">not used</param>
9355             <returns>The default <see cref="T:log4net.Repository.ILoggerRepository"/></returns>
9356             <remarks>
9357             <para>
9358             The <paramref name="assembly"/> argument is not used. This selector does not create a
9359             separate repository for each assembly. 
9360             </para>
9361             <para>
9362             As a named repository is not specified the default repository is 
9363             returned. The default repository is named <c>log4net-default-repository</c>.
9364             </para>
9365             </remarks>
9366         </member>
9367         <member name="M:log4net.Core.CompactRepositorySelector.GetRepository(System.String)">
9368             <summary>
9369             Get the named <see cref="T:log4net.Repository.ILoggerRepository"/>
9370             </summary>
9371             <param name="repositoryName">the name of the repository to lookup</param>
9372             <returns>The named <see cref="T:log4net.Repository.ILoggerRepository"/></returns>
9373             <remarks>
9374             <para>
9375             Get the named <see cref="T:log4net.Repository.ILoggerRepository"/>. The default 
9376             repository is <c>log4net-default-repository</c>. Other repositories 
9377             must be created using the <see cref="M:log4net.Core.CompactRepositorySelector.CreateRepository(System.String,System.Type)"/>.
9378             If the named repository does not exist an exception is thrown.
9379             </para>
9380             </remarks>
9381             <exception cref="T:System.ArgumentNullException">throw if <paramref name="repositoryName"/> is null</exception>
9382             <exception cref="T:log4net.Core.LogException">throw if the <paramref name="repositoryName"/> does not exist</exception>
9383         </member>
9384         <member name="M:log4net.Core.CompactRepositorySelector.CreateRepository(System.Reflection.Assembly,System.Type)">
9385             <summary>
9386             Create a new repository for the assembly specified 
9387             </summary>
9388             <param name="assembly">not used</param>
9389             <param name="repositoryType">the type of repository to create, must implement <see cref="T:log4net.Repository.ILoggerRepository"/></param>
9390             <returns>the repository created</returns>
9391             <remarks>
9392             <para>
9393             The <paramref name="assembly"/> argument is not used. This selector does not create a
9394             separate repository for each assembly. 
9395             </para>
9396             <para>
9397             If the <paramref name="repositoryType"/> is <c>null</c> then the
9398             default repository type specified to the constructor is used.
9399             </para>
9400             <para>
9401             As a named repository is not specified the default repository is 
9402             returned. The default repository is named <c>log4net-default-repository</c>.
9403             </para>
9404             </remarks>
9405         </member>
9406         <member name="M:log4net.Core.CompactRepositorySelector.CreateRepository(System.String,System.Type)">
9407             <summary>
9408             Create a new repository for the repository specified
9409             </summary>
9410             <param name="repositoryName">the repository to associate with the <see cref="T:log4net.Repository.ILoggerRepository"/></param>
9411             <param name="repositoryType">the type of repository to create, must implement <see cref="T:log4net.Repository.ILoggerRepository"/>.
9412             If this param is null then the default repository type is used.</param>
9413             <returns>the repository created</returns>
9414             <remarks>
9415             <para>
9416             The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the repository
9417             specified such that a call to <see cref="M:log4net.Core.CompactRepositorySelector.GetRepository(System.String)"/> with the
9418             same repository specified will return the same repository instance.
9419             </para>
9420             <para>
9421             If the named repository already exists an exception will be thrown.
9422             </para>
9423             <para>
9424             If <paramref name="repositoryType"/> is <c>null</c> then the default 
9425             repository type specified to the constructor is used.
9426             </para>
9427             </remarks>
9428             <exception cref="T:System.ArgumentNullException">throw if <paramref name="repositoryName"/> is null</exception>
9429             <exception cref="T:log4net.Core.LogException">throw if the <paramref name="repositoryName"/> already exists</exception>
9430         </member>
9431         <member name="M:log4net.Core.CompactRepositorySelector.ExistsRepository(System.String)">
9432             <summary>
9433             Test if a named repository exists
9434             </summary>
9435             <param name="repositoryName">the named repository to check</param>
9436             <returns><c>true</c> if the repository exists</returns>
9437             <remarks>
9438             <para>
9439             Test if a named repository exists. Use <see cref="M:log4net.Core.CompactRepositorySelector.CreateRepository(System.String,System.Type)"/>
9440             to create a new repository and <see cref="M:log4net.Core.CompactRepositorySelector.GetRepository(System.String)"/> to retrieve 
9441             a repository.
9442             </para>
9443             </remarks>
9444         </member>
9445         <member name="M:log4net.Core.CompactRepositorySelector.GetAllRepositories">
9446             <summary>
9447             Gets a list of <see cref="T:log4net.Repository.ILoggerRepository"/> objects
9448             </summary>
9449             <returns>an array of all known <see cref="T:log4net.Repository.ILoggerRepository"/> objects</returns>
9450             <remarks>
9451             <para>
9452             Gets an array of all of the repositories created by this selector.
9453             </para>
9454             </remarks>
9455         </member>
9456         <member name="M:log4net.Core.CompactRepositorySelector.OnLoggerRepositoryCreatedEvent(log4net.Repository.ILoggerRepository)">
9457             <summary>
9458             Notify the registered listeners that the repository has been created
9459             </summary>
9460             <param name="repository">The repository that has been created</param>
9461             <remarks>
9462             <para>
9463             Raises the <event cref="E:log4net.Core.CompactRepositorySelector.LoggerRepositoryCreatedEvent">LoggerRepositoryCreatedEvent</event>
9464             event.
9465             </para>
9466             </remarks>
9467         </member>
9468         <member name="E:log4net.Core.CompactRepositorySelector.LoggerRepositoryCreatedEvent">
9469             <summary>
9470             Event to notify that a logger repository has been created.
9471             </summary>
9472             <value>
9473             Event to notify that a logger repository has been created.
9474             </value>
9475             <remarks>
9476             <para>
9477             Event raised when a new repository is created.
9478             The event source will be this selector. The event args will
9479             be a <see cref="T:log4net.Core.LoggerRepositoryCreationEventArgs"/> which
9480             holds the newly created <see cref="T:log4net.Repository.ILoggerRepository"/>.
9481             </para>
9482             </remarks>
9483         </member>
9484         <member name="T:log4net.Core.DefaultRepositorySelector">
9485             <summary>
9486             The default implementation of the <see cref="T:log4net.Core.IRepositorySelector"/> interface.
9487             </summary>
9488             <remarks>
9489             <para>
9490             Uses attributes defined on the calling assembly to determine how to
9491             configure the hierarchy for the repository.
9492             </para>
9493             </remarks>
9494             <author>Nicko Cadell</author>
9495             <author>Gert Driesen</author>
9496         </member>
9497         <member name="M:log4net.Core.DefaultRepositorySelector.#ctor(System.Type)">
9498             <summary>
9499             Creates a new repository selector.
9500             </summary>
9501             <param name="defaultRepositoryType">The type of the repositories to create, must implement <see cref="T:log4net.Repository.ILoggerRepository"/></param>
9502             <remarks>
9503             <para>
9504             Create an new repository selector.
9505             The default type for repositories must be specified,
9506             an appropriate value would be <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/>.
9507             </para>
9508             </remarks>
9509             <exception cref="T:System.ArgumentNullException"><paramref name="defaultRepositoryType"/> is <see langword="null"/>.</exception>
9510             <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="defaultRepositoryType"/> does not implement <see cref="T:log4net.Repository.ILoggerRepository"/>.</exception>
9511         </member>
9512         <member name="M:log4net.Core.DefaultRepositorySelector.GetRepository(System.Reflection.Assembly)">
9513             <summary>
9514             Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified assembly.
9515             </summary>
9516             <param name="repositoryAssembly">The assembly use to lookup the <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
9517             <remarks>
9518             <para>
9519             The type of the <see cref="T:log4net.Repository.ILoggerRepository"/> created and the repository 
9520             to create can be overridden by specifying the <see cref="T:log4net.Config.RepositoryAttribute"/> 
9521             attribute on the <paramref name="repositoryAssembly"/>.
9522             </para>
9523             <para>
9524             The default values are to use the <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> 
9525             implementation of the <see cref="T:log4net.Repository.ILoggerRepository"/> interface and to use the
9526             <see cref="P:System.Reflection.AssemblyName.Name"/> as the name of the repository.
9527             </para>
9528             <para>
9529             The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be automatically configured using 
9530             any <see cref="T:log4net.Config.ConfiguratorAttribute"/> attributes defined on
9531             the <paramref name="repositoryAssembly"/>.
9532             </para>
9533             </remarks>
9534             <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> for the assembly</returns>
9535             <exception cref="T:System.ArgumentNullException"><paramref name="repositoryAssembly"/> is <see langword="null"/>.</exception>
9536         </member>
9537         <member name="M:log4net.Core.DefaultRepositorySelector.GetRepository(System.String)">
9538             <summary>
9539             Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified repository.
9540             </summary>
9541             <param name="repositoryName">The repository to use to lookup the <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
9542             <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified repository.</returns>
9543             <remarks>
9544             <para>
9545             Returns the named repository. If <paramref name="repositoryName"/> is <c>null</c>
9546             a <see cref="T:System.ArgumentNullException"/> is thrown. If the repository 
9547             does not exist a <see cref="T:log4net.Core.LogException"/> is thrown.
9548             </para>
9549             <para>
9550             Use <see cref="M:log4net.Core.DefaultRepositorySelector.CreateRepository(System.String,System.Type)"/> to create a repository.
9551             </para>
9552             </remarks>
9553             <exception cref="T:System.ArgumentNullException"><paramref name="repositoryName"/> is <see langword="null"/>.</exception>
9554             <exception cref="T:log4net.Core.LogException"><paramref name="repositoryName"/> does not exist.</exception>
9555         </member>
9556         <member name="M:log4net.Core.DefaultRepositorySelector.CreateRepository(System.Reflection.Assembly,System.Type)">
9557             <summary>
9558             Create a new repository for the assembly specified 
9559             </summary>
9560             <param name="repositoryAssembly">the assembly to use to create the repository to associate with the <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
9561             <param name="repositoryType">The type of repository to create, must implement <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
9562             <returns>The repository created.</returns>
9563             <remarks>
9564             <para>
9565             The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the repository
9566             specified such that a call to <see cref="M:log4net.Core.DefaultRepositorySelector.GetRepository(System.Reflection.Assembly)"/> with the
9567             same assembly specified will return the same repository instance.
9568             </para>
9569             <para>
9570             The type of the <see cref="T:log4net.Repository.ILoggerRepository"/> created and
9571             the repository to create can be overridden by specifying the
9572             <see cref="T:log4net.Config.RepositoryAttribute"/> attribute on the 
9573             <paramref name="repositoryAssembly"/>.  The default values are to use the 
9574             <paramref name="repositoryType"/> implementation of the 
9575             <see cref="T:log4net.Repository.ILoggerRepository"/> interface and to use the
9576             <see cref="P:System.Reflection.AssemblyName.Name"/> as the name of the repository.
9577             </para>
9578             <para>
9579             The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be automatically
9580             configured using any <see cref="T:log4net.Config.ConfiguratorAttribute"/> 
9581             attributes defined on the <paramref name="repositoryAssembly"/>.
9582             </para>
9583             <para>
9584             If a repository for the <paramref name="repositoryAssembly"/> already exists
9585             that repository will be returned. An error will not be raised and that 
9586             repository may be of a different type to that specified in <paramref name="repositoryType"/>.
9587             Also the <see cref="T:log4net.Config.RepositoryAttribute"/> attribute on the
9588             assembly may be used to override the repository type specified in 
9589             <paramref name="repositoryType"/>.
9590             </para>
9591             </remarks>
9592             <exception cref="T:System.ArgumentNullException"><paramref name="repositoryAssembly"/> is <see langword="null"/>.</exception>
9593         </member>
9594         <member name="M:log4net.Core.DefaultRepositorySelector.CreateRepository(System.Reflection.Assembly,System.Type,System.String,System.Boolean)">
9595             <summary>
9596             Creates a new repository for the assembly specified.
9597             </summary>
9598             <param name="repositoryAssembly">the assembly to use to create the repository to associate with the <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
9599             <param name="repositoryType">The type of repository to create, must implement <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
9600             <param name="repositoryName">The name to assign to the created repository</param>
9601             <param name="readAssemblyAttributes">Set to <c>true</c> to read and apply the assembly attributes</param>
9602             <returns>The repository created.</returns>
9603             <remarks>
9604             <para>
9605             The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the repository
9606             specified such that a call to <see cref="M:log4net.Core.DefaultRepositorySelector.GetRepository(System.Reflection.Assembly)"/> with the
9607             same assembly specified will return the same repository instance.
9608             </para>
9609             <para>
9610             The type of the <see cref="T:log4net.Repository.ILoggerRepository"/> created and
9611             the repository to create can be overridden by specifying the
9612             <see cref="T:log4net.Config.RepositoryAttribute"/> attribute on the 
9613             <paramref name="repositoryAssembly"/>.  The default values are to use the 
9614             <paramref name="repositoryType"/> implementation of the 
9615             <see cref="T:log4net.Repository.ILoggerRepository"/> interface and to use the
9616             <see cref="P:System.Reflection.AssemblyName.Name"/> as the name of the repository.
9617             </para>
9618             <para>
9619             The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be automatically
9620             configured using any <see cref="T:log4net.Config.ConfiguratorAttribute"/> 
9621             attributes defined on the <paramref name="repositoryAssembly"/>.
9622             </para>
9623             <para>
9624             If a repository for the <paramref name="repositoryAssembly"/> already exists
9625             that repository will be returned. An error will not be raised and that 
9626             repository may be of a different type to that specified in <paramref name="repositoryType"/>.
9627             Also the <see cref="T:log4net.Config.RepositoryAttribute"/> attribute on the
9628             assembly may be used to override the repository type specified in 
9629             <paramref name="repositoryType"/>.
9630             </para>
9631             </remarks>
9632             <exception cref="T:System.ArgumentNullException"><paramref name="repositoryAssembly"/> is <see langword="null"/>.</exception>
9633         </member>
9634         <member name="M:log4net.Core.DefaultRepositorySelector.CreateRepository(System.String,System.Type)">
9635             <summary>
9636             Creates a new repository for the specified repository.
9637             </summary>
9638             <param name="repositoryName">The repository to associate with the <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
9639             <param name="repositoryType">The type of repository to create, must implement <see cref="T:log4net.Repository.ILoggerRepository"/>.
9640             If this param is <see langword="null"/> then the default repository type is used.</param>
9641             <returns>The new repository.</returns>
9642             <remarks>
9643             <para>
9644             The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the repository
9645             specified such that a call to <see cref="M:log4net.Core.DefaultRepositorySelector.GetRepository(System.String)"/> with the
9646             same repository specified will return the same repository instance.
9647             </para>
9648             </remarks>
9649             <exception cref="T:System.ArgumentNullException"><paramref name="repositoryName"/> is <see langword="null"/>.</exception>
9650             <exception cref="T:log4net.Core.LogException"><paramref name="repositoryName"/> already exists.</exception>
9651         </member>
9652         <member name="M:log4net.Core.DefaultRepositorySelector.ExistsRepository(System.String)">
9653             <summary>
9654             Test if a named repository exists
9655             </summary>
9656             <param name="repositoryName">the named repository to check</param>
9657             <returns><c>true</c> if the repository exists</returns>
9658             <remarks>
9659             <para>
9660             Test if a named repository exists. Use <see cref="M:log4net.Core.DefaultRepositorySelector.CreateRepository(System.String,System.Type)"/>
9661             to create a new repository and <see cref="M:log4net.Core.DefaultRepositorySelector.GetRepository(System.String)"/> to retrieve 
9662             a repository.
9663             </para>
9664             </remarks>
9665         </member>
9666         <member name="M:log4net.Core.DefaultRepositorySelector.GetAllRepositories">
9667             <summary>
9668             Gets a list of <see cref="T:log4net.Repository.ILoggerRepository"/> objects
9669             </summary>
9670             <returns>an array of all known <see cref="T:log4net.Repository.ILoggerRepository"/> objects</returns>
9671             <remarks>
9672             <para>
9673             Gets an array of all of the repositories created by this selector.
9674             </para>
9675             </remarks>
9676         </member>
9677         <member name="M:log4net.Core.DefaultRepositorySelector.AliasRepository(System.String,log4net.Repository.ILoggerRepository)">
9678             <summary>
9679             Aliases a repository to an existing repository.
9680             </summary>
9681             <param name="repositoryAlias">The repository to alias.</param>
9682             <param name="repositoryTarget">The repository that the repository is aliased to.</param>
9683             <remarks>
9684             <para>
9685             The repository specified will be aliased to the repository when created. 
9686             The repository must not already exist.
9687             </para>
9688             <para>
9689             When the repository is created it must utilize the same repository type as 
9690             the repository it is aliased to, otherwise the aliasing will fail.
9691             </para>
9692             </remarks>
9693             <exception cref="T:System.ArgumentNullException">
9694             <para><paramref name="repositoryAlias"/> is <see langword="null"/>.</para>
9695             <para>-or-</para>
9696             <para><paramref name="repositoryTarget"/> is <see langword="null"/>.</para>
9697             </exception>
9698         </member>
9699         <member name="M:log4net.Core.DefaultRepositorySelector.OnLoggerRepositoryCreatedEvent(log4net.Repository.ILoggerRepository)">
9700             <summary>
9701             Notifies the registered listeners that the repository has been created.
9702             </summary>
9703             <param name="repository">The repository that has been created.</param>
9704             <remarks>
9705             <para>
9706             Raises the <see cref="E:log4net.Core.DefaultRepositorySelector.LoggerRepositoryCreatedEvent"/> event.
9707             </para>
9708             </remarks>
9709         </member>
9710         <member name="M:log4net.Core.DefaultRepositorySelector.GetInfoForAssembly(System.Reflection.Assembly,System.String@,System.Type@)">
9711             <summary>
9712             Gets the repository name and repository type for the specified assembly.
9713             </summary>
9714             <param name="assembly">The assembly that has a <see cref="T:log4net.Config.RepositoryAttribute"/>.</param>
9715             <param name="repositoryName">in/out param to hold the repository name to use for the assembly, caller should set this to the default value before calling.</param>
9716             <param name="repositoryType">in/out param to hold the type of the repository to create for the assembly, caller should set this to the default value before calling.</param>
9717             <exception cref="T:System.ArgumentNullException"><paramref name="assembly"/> is <see langword="null"/>.</exception>
9718         </member>
9719         <member name="M:log4net.Core.DefaultRepositorySelector.ConfigureRepository(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
9720             <summary>
9721             Configures the repository using information from the assembly.
9722             </summary>
9723             <param name="assembly">The assembly containing <see cref="T:log4net.Config.ConfiguratorAttribute"/>
9724             attributes which define the configuration for the repository.</param>
9725             <param name="repository">The repository to configure.</param>
9726             <exception cref="T:System.ArgumentNullException">
9727             <para><paramref name="assembly"/> is <see langword="null"/>.</para>
9728             <para>-or-</para>
9729             <para><paramref name="repository"/> is <see langword="null"/>.</para>
9730             </exception>
9731         </member>
9732         <member name="M:log4net.Core.DefaultRepositorySelector.LoadPlugins(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
9733             <summary>
9734             Loads the attribute defined plugins on the assembly.
9735             </summary>
9736             <param name="assembly">The assembly that contains the attributes.</param>
9737             <param name="repository">The repository to add the plugins to.</param>
9738             <exception cref="T:System.ArgumentNullException">
9739             <para><paramref name="assembly"/> is <see langword="null"/>.</para>
9740             <para>-or-</para>
9741             <para><paramref name="repository"/> is <see langword="null"/>.</para>
9742             </exception>
9743         </member>
9744         <member name="M:log4net.Core.DefaultRepositorySelector.LoadAliases(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
9745             <summary>
9746             Loads the attribute defined aliases on the assembly.
9747             </summary>
9748             <param name="assembly">The assembly that contains the attributes.</param>
9749             <param name="repository">The repository to alias to.</param>
9750             <exception cref="T:System.ArgumentNullException">
9751             <para><paramref name="assembly"/> is <see langword="null"/>.</para>
9752             <para>-or-</para>
9753             <para><paramref name="repository"/> is <see langword="null"/>.</para>
9754             </exception>
9755         </member>
9756         <member name="E:log4net.Core.DefaultRepositorySelector.LoggerRepositoryCreatedEvent">
9757             <summary>
9758             Event to notify that a logger repository has been created.
9759             </summary>
9760             <value>
9761             Event to notify that a logger repository has been created.
9762             </value>
9763             <remarks>
9764             <para>
9765             Event raised when a new repository is created.
9766             The event source will be this selector. The event args will
9767             be a <see cref="T:log4net.Core.LoggerRepositoryCreationEventArgs"/> which
9768             holds the newly created <see cref="T:log4net.Repository.ILoggerRepository"/>.
9769             </para>
9770             </remarks>
9771         </member>
9772         <member name="T:log4net.Core.ErrorCode">
9773             <summary>
9774             Defined error codes that can be passed to the <see cref="M:log4net.Core.IErrorHandler.Error(System.String,System.Exception,log4net.Core.ErrorCode)"/> method.
9775             </summary>
9776             <remarks>
9777             <para>
9778             Values passed to the <see cref="M:log4net.Core.IErrorHandler.Error(System.String,System.Exception,log4net.Core.ErrorCode)"/> method.
9779             </para>
9780             </remarks>
9781             <author>Nicko Cadell</author>
9782         </member>
9783         <member name="F:log4net.Core.ErrorCode.GenericFailure">
9784             <summary>
9785             A general error
9786             </summary>
9787         </member>
9788         <member name="F:log4net.Core.ErrorCode.WriteFailure">
9789             <summary>
9790             Error while writing output
9791             </summary>
9792         </member>
9793         <member name="F:log4net.Core.ErrorCode.FlushFailure">
9794             <summary>
9795             Failed to flush file
9796             </summary>
9797         </member>
9798         <member name="F:log4net.Core.ErrorCode.CloseFailure">
9799             <summary>
9800             Failed to close file
9801             </summary>
9802         </member>
9803         <member name="F:log4net.Core.ErrorCode.FileOpenFailure">
9804             <summary>
9805             Unable to open output file
9806             </summary>
9807         </member>
9808         <member name="F:log4net.Core.ErrorCode.MissingLayout">
9809             <summary>
9810             No layout specified
9811             </summary>
9812         </member>
9813         <member name="F:log4net.Core.ErrorCode.AddressParseFailure">
9814             <summary>
9815             Failed to parse address
9816             </summary>
9817         </member>
9818         <member name="T:log4net.Core.IErrorHandler">
9819             <summary>
9820             Appenders may delegate their error handling to an <see cref="T:log4net.Core.IErrorHandler"/>.
9821             </summary>
9822             <remarks>
9823             <para>
9824             Error handling is a particularly tedious to get right because by
9825             definition errors are hard to predict and to reproduce. 
9826             </para>
9827             </remarks>
9828             <author>Nicko Cadell</author>
9829             <author>Gert Driesen</author>
9830         </member>
9831         <member name="M:log4net.Core.IErrorHandler.Error(System.String,System.Exception,log4net.Core.ErrorCode)">
9832             <summary>
9833             Handles the error and information about the error condition is passed as 
9834             a parameter.
9835             </summary>
9836             <param name="message">The message associated with the error.</param>
9837             <param name="e">The <see cref="T:System.Exception"/> that was thrown when the error occurred.</param>
9838             <param name="errorCode">The error code associated with the error.</param>
9839             <remarks>
9840             <para>
9841             Handles the error and information about the error condition is passed as 
9842             a parameter.
9843             </para>
9844             </remarks>
9845         </member>
9846         <member name="M:log4net.Core.IErrorHandler.Error(System.String,System.Exception)">
9847             <summary>
9848             Prints the error message passed as a parameter.
9849             </summary>
9850             <param name="message">The message associated with the error.</param>
9851             <param name="e">The <see cref="T:System.Exception"/> that was thrown when the error occurred.</param>
9852             <remarks>
9853             <para>
9854             See <see cref="M:log4net.Core.IErrorHandler.Error(System.String,System.Exception,log4net.Core.ErrorCode)"/>.
9855             </para>
9856             </remarks>
9857         </member>
9858         <member name="M:log4net.Core.IErrorHandler.Error(System.String)">
9859             <summary>
9860             Prints the error message passed as a parameter.
9861             </summary>
9862             <param name="message">The message associated with the error.</param>
9863             <remarks>
9864             <para>
9865             See <see cref="M:log4net.Core.IErrorHandler.Error(System.String,System.Exception,log4net.Core.ErrorCode)"/>.
9866             </para>
9867             </remarks>
9868         </member>
9869         <member name="T:log4net.Core.IFixingRequired">
9870             <summary>
9871             Interface for objects that require fixing.
9872             </summary>
9873             <remarks>
9874             <para>
9875             Interface that indicates that the object requires fixing before it
9876             can be taken outside the context of the appender's 
9877             <see cref="M:log4net.Appender.IAppender.DoAppend(log4net.Core.LoggingEvent)"/> method.
9878             </para>
9879             <para>
9880             When objects that implement this interface are stored 
9881             in the context properties maps <see cref="T:log4net.GlobalContext"/>
9882             <see cref="P:log4net.GlobalContext.Properties"/> and <see cref="T:log4net.ThreadContext"/>
9883             <see cref="P:log4net.ThreadContext.Properties"/> are fixed 
9884             (see <see cref="P:log4net.Core.LoggingEvent.Fix"/>) the <see cref="M:log4net.Core.IFixingRequired.GetFixedObject"/>
9885             method will be called.
9886             </para>
9887             </remarks>
9888             <author>Nicko Cadell</author>
9889         </member>
9890         <member name="M:log4net.Core.IFixingRequired.GetFixedObject">
9891             <summary>
9892             Get a portable version of this object
9893             </summary>
9894             <returns>the portable instance of this object</returns>
9895             <remarks>
9896             <para>
9897             Get a portable instance object that represents the current
9898             state of this object. The portable object can be stored
9899             and logged from any thread with identical results.
9900             </para>
9901             </remarks>
9902         </member>
9903         <member name="T:log4net.Core.ILogger">
9904             <summary>
9905             Interface that all loggers implement
9906             </summary>
9907             <remarks>
9908             <para>
9909             This interface supports logging events and testing if a level
9910             is enabled for logging.
9911             </para>
9912             <para>
9913             These methods will not throw exceptions. Note to implementor, ensure
9914             that the implementation of these methods cannot allow an exception
9915             to be thrown to the caller.
9916             </para>
9917             </remarks>
9918             <author>Nicko Cadell</author>
9919             <author>Gert Driesen</author>
9920         </member>
9921         <member name="M:log4net.Core.ILogger.Log(System.Type,log4net.Core.Level,System.Object,System.Exception)">
9922             <summary>
9923             This generic form is intended to be used by wrappers.
9924             </summary>
9925             <param name="callerStackBoundaryDeclaringType">The declaring type of the method that is
9926             the stack boundary into the logging system for this call.</param>
9927             <param name="level">The level of the message to be logged.</param>
9928             <param name="message">The message object to log.</param>
9929             <param name="exception">the exception to log, including its stack trace. Pass <c>null</c> to not log an exception.</param>
9930             <remarks>
9931             <para>
9932             Generates a logging event for the specified <paramref name="level"/> using
9933             the <paramref name="message"/> and <paramref name="exception"/>.
9934             </para>
9935             </remarks>
9936         </member>
9937         <member name="M:log4net.Core.ILogger.Log(log4net.Core.LoggingEvent)">
9938             <summary>
9939             This is the most generic printing method that is intended to be used 
9940             by wrappers.
9941             </summary>
9942             <param name="logEvent">The event being logged.</param>
9943             <remarks>
9944             <para>
9945             Logs the specified logging event through this logger.
9946             </para>
9947             </remarks>
9948         </member>
9949         <member name="M:log4net.Core.ILogger.IsEnabledFor(log4net.Core.Level)">
9950             <summary>
9951             Checks if this logger is enabled for a given <see cref="T:log4net.Core.Level"/> passed as parameter.
9952             </summary>
9953             <param name="level">The level to check.</param>
9954             <returns>
9955             <c>true</c> if this logger is enabled for <c>level</c>, otherwise <c>false</c>.
9956             </returns>
9957             <remarks>
9958             <para>
9959             Test if this logger is going to log events of the specified <paramref name="level"/>.
9960             </para>
9961             </remarks>
9962         </member>
9963         <member name="P:log4net.Core.ILogger.Name">
9964             <summary>
9965             Gets the name of the logger.
9966             </summary>
9967             <value>
9968             The name of the logger.
9969             </value>
9970             <remarks>
9971             <para>
9972             The name of this logger
9973             </para>
9974             </remarks>
9975         </member>
9976         <member name="P:log4net.Core.ILogger.Repository">
9977             <summary>
9978             Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> where this 
9979             <c>Logger</c> instance is attached to.
9980             </summary>
9981             <value>
9982             The <see cref="T:log4net.Repository.ILoggerRepository"/> that this logger belongs to.
9983             </value>
9984             <remarks>
9985             <para>
9986             Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> where this 
9987             <c>Logger</c> instance is attached to.
9988             </para>
9989             </remarks>
9990         </member>
9991         <member name="T:log4net.Core.ILoggerWrapper">
9992             <summary>
9993             Base interface for all wrappers
9994             </summary>
9995             <remarks>
9996             <para>
9997             Base interface for all wrappers.
9998             </para>
9999             <para>
10000             All wrappers must implement this interface.
10001             </para>
10002             </remarks>
10003             <author>Nicko Cadell</author>
10004         </member>
10005         <member name="P:log4net.Core.ILoggerWrapper.Logger">
10006             <summary>
10007             Get the implementation behind this wrapper object.
10008             </summary>
10009             <value>
10010             The <see cref="T:log4net.Core.ILogger"/> object that in implementing this object.
10011             </value>
10012             <remarks>
10013             <para>
10014             The <see cref="T:log4net.Core.ILogger"/> object that in implementing this
10015             object. The <c>Logger</c> object may not 
10016             be the same object as this object because of logger decorators.
10017             This gets the actual underlying objects that is used to process
10018             the log events.
10019             </para>
10020             </remarks>
10021         </member>
10022         <member name="T:log4net.Core.LoggerRepositoryCreationEventHandler">
10023             <summary>
10024             Delegate used to handle logger repository creation event notifications
10025             </summary>
10026             <param name="sender">The <see cref="T:log4net.Core.IRepositorySelector"/> which created the repository.</param>
10027             <param name="e">The <see cref="T:log4net.Core.LoggerRepositoryCreationEventArgs"/> event args
10028             that holds the <see cref="T:log4net.Repository.ILoggerRepository"/> instance that has been created.</param>
10029             <remarks>
10030             <para>
10031             Delegate used to handle logger repository creation event notifications.
10032             </para>
10033             </remarks>
10034         </member>
10035         <member name="T:log4net.Core.LoggerRepositoryCreationEventArgs">
10036             <summary>
10037             Provides data for the <see cref="E:log4net.Core.IRepositorySelector.LoggerRepositoryCreatedEvent"/> event.
10038             </summary>
10039             <remarks>
10040             <para>
10041             A <see cref="E:log4net.Core.IRepositorySelector.LoggerRepositoryCreatedEvent"/> 
10042             event is raised every time a <see cref="T:log4net.Repository.ILoggerRepository"/> is created.
10043             </para>
10044             </remarks>
10045         </member>
10046         <member name="F:log4net.Core.LoggerRepositoryCreationEventArgs.m_repository">
10047             <summary>
10048             The <see cref="T:log4net.Repository.ILoggerRepository"/> created
10049             </summary>
10050         </member>
10051         <member name="M:log4net.Core.LoggerRepositoryCreationEventArgs.#ctor(log4net.Repository.ILoggerRepository)">
10052             <summary>
10053             Construct instance using <see cref="T:log4net.Repository.ILoggerRepository"/> specified
10054             </summary>
10055             <param name="repository">the <see cref="T:log4net.Repository.ILoggerRepository"/> that has been created</param>
10056             <remarks>
10057             <para>
10058             Construct instance using <see cref="T:log4net.Repository.ILoggerRepository"/> specified
10059             </para>
10060             </remarks>
10061         </member>
10062         <member name="P:log4net.Core.LoggerRepositoryCreationEventArgs.LoggerRepository">
10063             <summary>
10064             The <see cref="T:log4net.Repository.ILoggerRepository"/> that has been created
10065             </summary>
10066             <value>
10067             The <see cref="T:log4net.Repository.ILoggerRepository"/> that has been created
10068             </value>
10069             <remarks>
10070             <para>
10071             The <see cref="T:log4net.Repository.ILoggerRepository"/> that has been created
10072             </para>
10073             </remarks>
10074         </member>
10075         <member name="T:log4net.Core.ITriggeringEventEvaluator">
10076             <summary>
10077             Test if an <see cref="T:log4net.Core.LoggingEvent"/> triggers an action
10078             </summary>
10079             <remarks>
10080             <para>
10081             Implementations of this interface allow certain appenders to decide
10082             when to perform an appender specific action.
10083             </para>
10084             <para>
10085             The action or behavior triggered is defined by the implementation.
10086             </para>
10087             </remarks>
10088             <author>Nicko Cadell</author>
10089         </member>
10090         <member name="M:log4net.Core.ITriggeringEventEvaluator.IsTriggeringEvent(log4net.Core.LoggingEvent)">
10091             <summary>
10092             Test if this event triggers the action
10093             </summary>
10094             <param name="loggingEvent">The event to check</param>
10095             <returns><c>true</c> if this event triggers the action, otherwise <c>false</c></returns>
10096             <remarks>
10097             <para>
10098             Return <c>true</c> if this event triggers the action
10099             </para>
10100             </remarks>
10101         </member>
10102         <member name="T:log4net.Core.Level">
10103             <summary>
10104             Defines the default set of levels recognized by the system.
10105             </summary>
10106             <remarks>
10107             <para>
10108             Each <see cref="T:log4net.Core.LoggingEvent"/> has an associated <see cref="T:log4net.Core.Level"/>.
10109             </para>
10110             <para>
10111             Levels have a numeric <see cref="P:log4net.Core.Level.Value"/> that defines the relative 
10112             ordering between levels. Two Levels with the same <see cref="P:log4net.Core.Level.Value"/> 
10113             are deemed to be equivalent.
10114             </para>
10115             <para>
10116             The levels that are recognized by log4net are set for each <see cref="T:log4net.Repository.ILoggerRepository"/>
10117             and each repository can have different levels defined. The levels are stored
10118             in the <see cref="P:log4net.Repository.ILoggerRepository.LevelMap"/> on the repository. Levels are
10119             looked up by name from the <see cref="P:log4net.Repository.ILoggerRepository.LevelMap"/>.
10120             </para>
10121             <para>
10122             When logging at level INFO the actual level used is not <see cref="F:log4net.Core.Level.Info"/> but
10123             the value of <c>LoggerRepository.LevelMap["INFO"]</c>. The default value for this is
10124             <see cref="F:log4net.Core.Level.Info"/>, but this can be changed by reconfiguring the level map.
10125             </para>
10126             <para>
10127             Each level has a <see cref="P:log4net.Core.Level.DisplayName"/> in addition to its <see cref="P:log4net.Core.Level.Name"/>. The 
10128             <see cref="P:log4net.Core.Level.DisplayName"/> is the string that is written into the output log. By default
10129             the display name is the same as the level name, but this can be used to alias levels
10130             or to localize the log output.
10131             </para>
10132             <para>
10133             Some of the predefined levels recognized by the system are:
10134             </para>
10135             <list type="bullet">
10136                 <item>
10137                         <description><see cref="F:log4net.Core.Level.Off"/>.</description>
10138                 </item>
10139                 <item>
10140                         <description><see cref="F:log4net.Core.Level.Fatal"/>.</description>
10141                 </item>
10142                 <item>
10143                         <description><see cref="F:log4net.Core.Level.Error"/>.</description>
10144                 </item>
10145                 <item>
10146                         <description><see cref="F:log4net.Core.Level.Warn"/>.</description>
10147                 </item>
10148                 <item>
10149                         <description><see cref="F:log4net.Core.Level.Info"/>.</description>
10150                 </item>
10151                 <item>
10152                         <description><see cref="F:log4net.Core.Level.Debug"/>.</description>
10153                 </item>
10154                 <item>
10155                         <description><see cref="F:log4net.Core.Level.All"/>.</description>
10156                 </item>
10157             </list>
10158             </remarks>
10159             <author>Nicko Cadell</author>
10160             <author>Gert Driesen</author>
10161         </member>
10162         <member name="M:log4net.Core.Level.#ctor(System.Int32,System.String,System.String)">
10163             <summary>
10164             Constructor
10165             </summary>
10166             <param name="level">Integer value for this level, higher values represent more severe levels.</param>
10167             <param name="levelName">The string name of this level.</param>
10168             <param name="displayName">The display name for this level. This may be localized or otherwise different from the name</param>
10169             <remarks>
10170             <para>
10171             Initializes a new instance of the <see cref="T:log4net.Core.Level"/> class with
10172             the specified level name and value.
10173             </para>
10174             </remarks>
10175         </member>
10176         <member name="M:log4net.Core.Level.#ctor(System.Int32,System.String)">
10177             <summary>
10178             Constructor
10179             </summary>
10180             <param name="level">Integer value for this level, higher values represent more severe levels.</param>
10181             <param name="levelName">The string name of this level.</param>
10182             <remarks>
10183             <para>
10184             Initializes a new instance of the <see cref="T:log4net.Core.Level"/> class with
10185             the specified level name and value.
10186             </para>
10187             </remarks>
10188         </member>
10189         <member name="M:log4net.Core.Level.ToString">
10190             <summary>
10191             Returns the <see cref="T:System.String"/> representation of the current 
10192             <see cref="T:log4net.Core.Level"/>.
10193             </summary>
10194             <returns>
10195             A <see cref="T:System.String"/> representation of the current <see cref="T:log4net.Core.Level"/>.
10196             </returns>
10197             <remarks>
10198             <para>
10199             Returns the level <see cref="P:log4net.Core.Level.Name"/>.
10200             </para>
10201             </remarks>
10202         </member>
10203         <member name="M:log4net.Core.Level.Equals(System.Object)">
10204             <summary>
10205             Compares levels.
10206             </summary>
10207             <param name="o">The object to compare against.</param>
10208             <returns><c>true</c> if the objects are equal.</returns>
10209             <remarks>
10210             <para>
10211             Compares the levels of <see cref="T:log4net.Core.Level"/> instances, and 
10212             defers to base class if the target object is not a <see cref="T:log4net.Core.Level"/>
10213             instance.
10214             </para>
10215             </remarks>
10216         </member>
10217         <member name="M:log4net.Core.Level.GetHashCode">
10218             <summary>
10219             Returns a hash code
10220             </summary>
10221             <returns>A hash code for the current <see cref="T:log4net.Core.Level"/>.</returns>
10222             <remarks>
10223             <para>
10224             Returns a hash code suitable for use in hashing algorithms and data 
10225             structures like a hash table.
10226             </para>
10227             <para>
10228             Returns the hash code of the level <see cref="P:log4net.Core.Level.Value"/>.
10229             </para>
10230             </remarks>
10231         </member>
10232         <member name="M:log4net.Core.Level.CompareTo(System.Object)">
10233             <summary>
10234             Compares this instance to a specified object and returns an 
10235             indication of their relative values.
10236             </summary>
10237             <param name="r">A <see cref="T:log4net.Core.Level"/> instance or <see langword="null"/> to compare with this instance.</param>
10238             <returns>
10239             A 32-bit signed integer that indicates the relative order of the 
10240             values compared. The return value has these meanings:
10241             <list type="table">
10242                 <listheader>
10243                         <term>Value</term>
10244                         <description>Meaning</description>
10245                 </listheader>
10246                 <item>
10247                         <term>Less than zero</term>
10248                         <description>This instance is less than <paramref name="r"/>.</description>
10249                 </item>
10250                 <item>
10251                         <term>Zero</term>
10252                         <description>This instance is equal to <paramref name="r"/>.</description>
10253                 </item>
10254                 <item>
10255                         <term>Greater than zero</term>
10256                         <description>
10257                                 <para>This instance is greater than <paramref name="r"/>.</para>
10258                                 <para>-or-</para>
10259                                 <para><paramref name="r"/> is <see langword="null"/>.</para>
10260                                 </description>
10261                 </item>
10262             </list>
10263             </returns>
10264             <remarks>
10265             <para>
10266             <paramref name="r"/> must be an instance of <see cref="T:log4net.Core.Level"/> 
10267             or <see langword="null"/>; otherwise, an exception is thrown.
10268             </para>
10269             </remarks>
10270             <exception cref="T:System.ArgumentException"><paramref name="r"/> is not a <see cref="T:log4net.Core.Level"/>.</exception>
10271         </member>
10272         <member name="M:log4net.Core.Level.op_GreaterThan(log4net.Core.Level,log4net.Core.Level)">
10273             <summary>
10274             Returns a value indicating whether a specified <see cref="T:log4net.Core.Level"/> 
10275             is greater than another specified <see cref="T:log4net.Core.Level"/>.
10276             </summary>
10277             <param name="l">A <see cref="T:log4net.Core.Level"/></param>
10278             <param name="r">A <see cref="T:log4net.Core.Level"/></param>
10279             <returns>
10280             <c>true</c> if <paramref name="l"/> is greater than 
10281             <paramref name="r"/>; otherwise, <c>false</c>.
10282             </returns>
10283             <remarks>
10284             <para>
10285             Compares two levels.
10286             </para>
10287             </remarks>
10288         </member>
10289         <member name="M:log4net.Core.Level.op_LessThan(log4net.Core.Level,log4net.Core.Level)">
10290             <summary>
10291             Returns a value indicating whether a specified <see cref="T:log4net.Core.Level"/> 
10292             is less than another specified <see cref="T:log4net.Core.Level"/>.
10293             </summary>
10294             <param name="l">A <see cref="T:log4net.Core.Level"/></param>
10295             <param name="r">A <see cref="T:log4net.Core.Level"/></param>
10296             <returns>
10297             <c>true</c> if <paramref name="l"/> is less than 
10298             <paramref name="r"/>; otherwise, <c>false</c>.
10299             </returns>
10300             <remarks>
10301             <para>
10302             Compares two levels.
10303             </para>
10304             </remarks>
10305         </member>
10306         <member name="M:log4net.Core.Level.op_GreaterThanOrEqual(log4net.Core.Level,log4net.Core.Level)">
10307             <summary>
10308             Returns a value indicating whether a specified <see cref="T:log4net.Core.Level"/> 
10309             is greater than or equal to another specified <see cref="T:log4net.Core.Level"/>.
10310             </summary>
10311             <param name="l">A <see cref="T:log4net.Core.Level"/></param>
10312             <param name="r">A <see cref="T:log4net.Core.Level"/></param>
10313             <returns>
10314             <c>true</c> if <paramref name="l"/> is greater than or equal to 
10315             <paramref name="r"/>; otherwise, <c>false</c>.
10316             </returns>
10317             <remarks>
10318             <para>
10319             Compares two levels.
10320             </para>
10321             </remarks>
10322         </member>
10323         <member name="M:log4net.Core.Level.op_LessThanOrEqual(log4net.Core.Level,log4net.Core.Level)">
10324             <summary>
10325             Returns a value indicating whether a specified <see cref="T:log4net.Core.Level"/> 
10326             is less than or equal to another specified <see cref="T:log4net.Core.Level"/>.
10327             </summary>
10328             <param name="l">A <see cref="T:log4net.Core.Level"/></param>
10329             <param name="r">A <see cref="T:log4net.Core.Level"/></param>
10330             <returns>
10331             <c>true</c> if <paramref name="l"/> is less than or equal to 
10332             <paramref name="r"/>; otherwise, <c>false</c>.
10333             </returns>
10334             <remarks>
10335             <para>
10336             Compares two levels.
10337             </para>
10338             </remarks>
10339         </member>
10340         <member name="M:log4net.Core.Level.op_Equality(log4net.Core.Level,log4net.Core.Level)">
10341             <summary>
10342             Returns a value indicating whether two specified <see cref="T:log4net.Core.Level"/> 
10343             objects have the same value.
10344             </summary>
10345             <param name="l">A <see cref="T:log4net.Core.Level"/> or <see langword="null"/>.</param>
10346             <param name="r">A <see cref="T:log4net.Core.Level"/> or <see langword="null"/>.</param>
10347             <returns>
10348             <c>true</c> if the value of <paramref name="l"/> is the same as the 
10349             value of <paramref name="r"/>; otherwise, <c>false</c>.
10350             </returns>
10351             <remarks>
10352             <para>
10353             Compares two levels.
10354             </para>
10355             </remarks>
10356         </member>
10357         <member name="M:log4net.Core.Level.op_Inequality(log4net.Core.Level,log4net.Core.Level)">
10358             <summary>
10359             Returns a value indicating whether two specified <see cref="T:log4net.Core.Level"/> 
10360             objects have different values.
10361             </summary>
10362             <param name="l">A <see cref="T:log4net.Core.Level"/> or <see langword="null"/>.</param>
10363             <param name="r">A <see cref="T:log4net.Core.Level"/> or <see langword="null"/>.</param>
10364             <returns>
10365             <c>true</c> if the value of <paramref name="l"/> is different from
10366             the value of <paramref name="r"/>; otherwise, <c>false</c>.
10367             </returns>
10368             <remarks>
10369             <para>
10370             Compares two levels.
10371             </para>
10372             </remarks>
10373         </member>
10374         <member name="M:log4net.Core.Level.Compare(log4net.Core.Level,log4net.Core.Level)">
10375             <summary>
10376             Compares two specified <see cref="T:log4net.Core.Level"/> instances.
10377             </summary>
10378             <param name="l">The first <see cref="T:log4net.Core.Level"/> to compare.</param>
10379             <param name="r">The second <see cref="T:log4net.Core.Level"/> to compare.</param>
10380             <returns>
10381             A 32-bit signed integer that indicates the relative order of the 
10382             two values compared. The return value has these meanings:
10383             <list type="table">
10384                 <listheader>
10385                         <term>Value</term>
10386                         <description>Meaning</description>
10387                 </listheader>
10388                 <item>
10389                         <term>Less than zero</term>
10390                         <description><paramref name="l"/> is less than <paramref name="r"/>.</description>
10391                 </item>
10392                 <item>
10393                         <term>Zero</term>
10394                         <description><paramref name="l"/> is equal to <paramref name="r"/>.</description>
10395                 </item>
10396                 <item>
10397                         <term>Greater than zero</term>
10398                         <description><paramref name="l"/> is greater than <paramref name="r"/>.</description>
10399                 </item>
10400             </list>
10401             </returns>
10402             <remarks>
10403             <para>
10404             Compares two levels.
10405             </para>
10406             </remarks>
10407         </member>
10408         <member name="F:log4net.Core.Level.Off">
10409             <summary>
10410             The <see cref="F:log4net.Core.Level.Off"/> level designates a higher level than all the rest.
10411             </summary>
10412         </member>
10413         <member name="F:log4net.Core.Level.Emergency">
10414             <summary>
10415             The <see cref="F:log4net.Core.Level.Emergency"/> level designates very severe error events. 
10416             System unusable, emergencies.
10417             </summary>
10418         </member>
10419         <member name="F:log4net.Core.Level.Fatal">
10420             <summary>
10421             The <see cref="F:log4net.Core.Level.Fatal"/> level designates very severe error events 
10422             that will presumably lead the application to abort.
10423             </summary>
10424         </member>
10425         <member name="F:log4net.Core.Level.Alert">
10426             <summary>
10427             The <see cref="F:log4net.Core.Level.Alert"/> level designates very severe error events. 
10428             Take immediate action, alerts.
10429             </summary>
10430         </member>
10431         <member name="F:log4net.Core.Level.Critical">
10432             <summary>
10433             The <see cref="F:log4net.Core.Level.Critical"/> level designates very severe error events. 
10434             Critical condition, critical.
10435             </summary>
10436         </member>
10437         <member name="F:log4net.Core.Level.Severe">
10438             <summary>
10439             The <see cref="F:log4net.Core.Level.Severe"/> level designates very severe error events.
10440             </summary>
10441         </member>
10442         <member name="F:log4net.Core.Level.Error">
10443             <summary>
10444             The <see cref="F:log4net.Core.Level.Error"/> level designates error events that might 
10445             still allow the application to continue running.
10446             </summary>
10447         </member>
10448         <member name="F:log4net.Core.Level.Warn">
10449             <summary>
10450             The <see cref="F:log4net.Core.Level.Warn"/> level designates potentially harmful 
10451             situations.
10452             </summary>
10453         </member>
10454         <member name="F:log4net.Core.Level.Notice">
10455             <summary>
10456             The <see cref="F:log4net.Core.Level.Notice"/> level designates informational messages 
10457             that highlight the progress of the application at the highest level.
10458             </summary>
10459         </member>
10460         <member name="F:log4net.Core.Level.Info">
10461             <summary>
10462             The <see cref="F:log4net.Core.Level.Info"/> level designates informational messages that 
10463             highlight the progress of the application at coarse-grained level.
10464             </summary>
10465         </member>
10466         <member name="F:log4net.Core.Level.Debug">
10467             <summary>
10468             The <see cref="F:log4net.Core.Level.Debug"/> level designates fine-grained informational 
10469             events that are most useful to debug an application.
10470             </summary>
10471         </member>
10472         <member name="F:log4net.Core.Level.Fine">
10473             <summary>
10474             The <see cref="F:log4net.Core.Level.Fine"/> level designates fine-grained informational 
10475             events that are most useful to debug an application.
10476             </summary>
10477         </member>
10478         <member name="F:log4net.Core.Level.Trace">
10479             <summary>
10480             The <see cref="F:log4net.Core.Level.Trace"/> level designates fine-grained informational 
10481             events that are most useful to debug an application.
10482             </summary>
10483         </member>
10484         <member name="F:log4net.Core.Level.Finer">
10485             <summary>
10486             The <see cref="F:log4net.Core.Level.Finer"/> level designates fine-grained informational 
10487             events that are most useful to debug an application.
10488             </summary>
10489         </member>
10490         <member name="F:log4net.Core.Level.Verbose">
10491             <summary>
10492             The <see cref="F:log4net.Core.Level.Verbose"/> level designates fine-grained informational 
10493             events that are most useful to debug an application.
10494             </summary>
10495         </member>
10496         <member name="F:log4net.Core.Level.Finest">
10497             <summary>
10498             The <see cref="F:log4net.Core.Level.Finest"/> level designates fine-grained informational 
10499             events that are most useful to debug an application.
10500             </summary>
10501         </member>
10502         <member name="F:log4net.Core.Level.All">
10503             <summary>
10504             The <see cref="F:log4net.Core.Level.All"/> level designates the lowest level possible.
10505             </summary>
10506         </member>
10507         <member name="P:log4net.Core.Level.Name">
10508             <summary>
10509             Gets the name of this level.
10510             </summary>
10511             <value>
10512             The name of this level.
10513             </value>
10514             <remarks>
10515             <para>
10516             Gets the name of this level.
10517             </para>
10518             </remarks>
10519         </member>
10520         <member name="P:log4net.Core.Level.Value">
10521             <summary>
10522             Gets the value of this level.
10523             </summary>
10524             <value>
10525             The value of this level.
10526             </value>
10527             <remarks>
10528             <para>
10529             Gets the value of this level.
10530             </para>
10531             </remarks>
10532         </member>
10533         <member name="P:log4net.Core.Level.DisplayName">
10534             <summary>
10535             Gets the display name of this level.
10536             </summary>
10537             <value>
10538             The display name of this level.
10539             </value>
10540             <remarks>
10541             <para>
10542             Gets the display name of this level.
10543             </para>
10544             </remarks>
10545         </member>
10546         <member name="T:log4net.Core.LevelCollection">
10547             <summary>
10548             A strongly-typed collection of <see cref="T:log4net.Core.Level"/> objects.
10549             </summary>
10550             <author>Nicko Cadell</author>
10551         </member>
10552         <member name="M:log4net.Core.LevelCollection.ReadOnly(log4net.Core.LevelCollection)">
10553             <summary>
10554             Creates a read-only wrapper for a <c>LevelCollection</c> instance.
10555             </summary>
10556             <param name="list">list to create a readonly wrapper arround</param>
10557             <returns>
10558             A <c>LevelCollection</c> wrapper that is read-only.
10559             </returns>
10560         </member>
10561         <member name="M:log4net.Core.LevelCollection.#ctor">
10562             <summary>
10563             Initializes a new instance of the <c>LevelCollection</c> class
10564             that is empty and has the default initial capacity.
10565             </summary>
10566         </member>
10567         <member name="M:log4net.Core.LevelCollection.#ctor(System.Int32)">
10568             <summary>
10569             Initializes a new instance of the <c>LevelCollection</c> class
10570             that has the specified initial capacity.
10571             </summary>
10572             <param name="capacity">
10573             The number of elements that the new <c>LevelCollection</c> is initially capable of storing.
10574             </param>
10575         </member>
10576         <member name="M:log4net.Core.LevelCollection.#ctor(log4net.Core.LevelCollection)">
10577             <summary>
10578             Initializes a new instance of the <c>LevelCollection</c> class
10579             that contains elements copied from the specified <c>LevelCollection</c>.
10580             </summary>
10581             <param name="c">The <c>LevelCollection</c> whose elements are copied to the new collection.</param>
10582         </member>
10583         <member name="M:log4net.Core.LevelCollection.#ctor(log4net.Core.Level[])">
10584             <summary>
10585             Initializes a new instance of the <c>LevelCollection</c> class
10586             that contains elements copied from the specified <see cref="T:log4net.Core.Level"/> array.
10587             </summary>
10588             <param name="a">The <see cref="T:log4net.Core.Level"/> array whose elements are copied to the new list.</param>
10589         </member>
10590         <member name="M:log4net.Core.LevelCollection.#ctor(System.Collections.ICollection)">
10591             <summary>
10592             Initializes a new instance of the <c>LevelCollection</c> class
10593             that contains elements copied from the specified <see cref="T:log4net.Core.Level"/> collection.
10594             </summary>
10595             <param name="col">The <see cref="T:log4net.Core.Level"/> collection whose elements are copied to the new list.</param>
10596         </member>
10597         <member name="M:log4net.Core.LevelCollection.#ctor(log4net.Core.LevelCollection.Tag)">
10598             <summary>
10599             Allow subclasses to avoid our default constructors
10600             </summary>
10601             <param name="tag"></param>
10602         </member>
10603         <member name="M:log4net.Core.LevelCollection.CopyTo(log4net.Core.Level[])">
10604             <summary>
10605             Copies the entire <c>LevelCollection</c> to a one-dimensional
10606             <see cref="T:log4net.Core.Level"/> array.
10607             </summary>
10608             <param name="array">The one-dimensional <see cref="T:log4net.Core.Level"/> array to copy to.</param>
10609         </member>
10610         <member name="M:log4net.Core.LevelCollection.CopyTo(log4net.Core.Level[],System.Int32)">
10611             <summary>
10612             Copies the entire <c>LevelCollection</c> to a one-dimensional
10613             <see cref="T:log4net.Core.Level"/> array, starting at the specified index of the target array.
10614             </summary>
10615             <param name="array">The one-dimensional <see cref="T:log4net.Core.Level"/> array to copy to.</param>
10616             <param name="start">The zero-based index in <paramref name="array"/> at which copying begins.</param>
10617         </member>
10618         <member name="M:log4net.Core.LevelCollection.Add(log4net.Core.Level)">
10619             <summary>
10620             Adds a <see cref="T:log4net.Core.Level"/> to the end of the <c>LevelCollection</c>.
10621             </summary>
10622             <param name="item">The <see cref="T:log4net.Core.Level"/> to be added to the end of the <c>LevelCollection</c>.</param>
10623             <returns>The index at which the value has been added.</returns>
10624         </member>
10625         <member name="M:log4net.Core.LevelCollection.Clear">
10626             <summary>
10627             Removes all elements from the <c>LevelCollection</c>.
10628             </summary>
10629         </member>
10630         <member name="M:log4net.Core.LevelCollection.Clone">
10631             <summary>
10632             Creates a shallow copy of the <see cref="T:log4net.Core.LevelCollection"/>.
10633             </summary>
10634             <returns>A new <see cref="T:log4net.Core.LevelCollection"/> with a shallow copy of the collection data.</returns>
10635         </member>
10636         <member name="M:log4net.Core.LevelCollection.Contains(log4net.Core.Level)">
10637             <summary>
10638             Determines whether a given <see cref="T:log4net.Core.Level"/> is in the <c>LevelCollection</c>.
10639             </summary>
10640             <param name="item">The <see cref="T:log4net.Core.Level"/> to check for.</param>
10641             <returns><c>true</c> if <paramref name="item"/> is found in the <c>LevelCollection</c>; otherwise, <c>false</c>.</returns>
10642         </member>
10643         <member name="M:log4net.Core.LevelCollection.IndexOf(log4net.Core.Level)">
10644             <summary>
10645             Returns the zero-based index of the first occurrence of a <see cref="T:log4net.Core.Level"/>
10646             in the <c>LevelCollection</c>.
10647             </summary>
10648             <param name="item">The <see cref="T:log4net.Core.Level"/> to locate in the <c>LevelCollection</c>.</param>
10649             <returns>
10650             The zero-based index of the first occurrence of <paramref name="item"/> 
10651             in the entire <c>LevelCollection</c>, if found; otherwise, -1.
10652             </returns>
10653         </member>
10654         <member name="M:log4net.Core.LevelCollection.Insert(System.Int32,log4net.Core.Level)">
10655             <summary>
10656             Inserts an element into the <c>LevelCollection</c> at the specified index.
10657             </summary>
10658             <param name="index">The zero-based index at which <paramref name="item"/> should be inserted.</param>
10659             <param name="item">The <see cref="T:log4net.Core.Level"/> to insert.</param>
10660             <exception cref="T:System.ArgumentOutOfRangeException">
10661             <para><paramref name="index"/> is less than zero</para>
10662             <para>-or-</para>
10663             <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Core.LevelCollection.Count"/>.</para>
10664             </exception>
10665         </member>
10666         <member name="M:log4net.Core.LevelCollection.Remove(log4net.Core.Level)">
10667             <summary>
10668             Removes the first occurrence of a specific <see cref="T:log4net.Core.Level"/> from the <c>LevelCollection</c>.
10669             </summary>
10670             <param name="item">The <see cref="T:log4net.Core.Level"/> to remove from the <c>LevelCollection</c>.</param>
10671             <exception cref="T:System.ArgumentException">
10672             The specified <see cref="T:log4net.Core.Level"/> was not found in the <c>LevelCollection</c>.
10673             </exception>
10674         </member>
10675         <member name="M:log4net.Core.LevelCollection.RemoveAt(System.Int32)">
10676             <summary>
10677             Removes the element at the specified index of the <c>LevelCollection</c>.
10678             </summary>
10679             <param name="index">The zero-based index of the element to remove.</param>
10680             <exception cref="T:System.ArgumentOutOfRangeException">
10681             <para><paramref name="index"/> is less than zero</para>
10682             <para>-or-</para>
10683             <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Core.LevelCollection.Count"/>.</para>
10684             </exception>
10685         </member>
10686         <member name="M:log4net.Core.LevelCollection.GetEnumerator">
10687             <summary>
10688             Returns an enumerator that can iterate through the <c>LevelCollection</c>.
10689             </summary>
10690             <returns>An <see cref="T:log4net.Core.LevelCollection.Enumerator"/> for the entire <c>LevelCollection</c>.</returns>
10691         </member>
10692         <member name="M:log4net.Core.LevelCollection.AddRange(log4net.Core.LevelCollection)">
10693             <summary>
10694             Adds the elements of another <c>LevelCollection</c> to the current <c>LevelCollection</c>.
10695             </summary>
10696             <param name="x">The <c>LevelCollection</c> whose elements should be added to the end of the current <c>LevelCollection</c>.</param>
10697             <returns>The new <see cref="P:log4net.Core.LevelCollection.Count"/> of the <c>LevelCollection</c>.</returns>
10698         </member>
10699         <member name="M:log4net.Core.LevelCollection.AddRange(log4net.Core.Level[])">
10700             <summary>
10701             Adds the elements of a <see cref="T:log4net.Core.Level"/> array to the current <c>LevelCollection</c>.
10702             </summary>
10703             <param name="x">The <see cref="T:log4net.Core.Level"/> array whose elements should be added to the end of the <c>LevelCollection</c>.</param>
10704             <returns>The new <see cref="P:log4net.Core.LevelCollection.Count"/> of the <c>LevelCollection</c>.</returns>
10705         </member>
10706         <member name="M:log4net.Core.LevelCollection.AddRange(System.Collections.ICollection)">
10707             <summary>
10708             Adds the elements of a <see cref="T:log4net.Core.Level"/> collection to the current <c>LevelCollection</c>.
10709             </summary>
10710             <param name="col">The <see cref="T:log4net.Core.Level"/> collection whose elements should be added to the end of the <c>LevelCollection</c>.</param>
10711             <returns>The new <see cref="P:log4net.Core.LevelCollection.Count"/> of the <c>LevelCollection</c>.</returns>
10712         </member>
10713         <member name="M:log4net.Core.LevelCollection.TrimToSize">
10714             <summary>
10715             Sets the capacity to the actual number of elements.
10716             </summary>
10717         </member>
10718         <member name="M:log4net.Core.LevelCollection.ValidateIndex(System.Int32)">
10719             <exception cref="T:System.ArgumentOutOfRangeException">
10720             <para><paramref name="index"/> is less than zero</para>
10721             <para>-or-</para>
10722             <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Core.LevelCollection.Count"/>.</para>
10723             </exception>
10724         </member>
10725         <member name="M:log4net.Core.LevelCollection.ValidateIndex(System.Int32,System.Boolean)">
10726             <exception cref="T:System.ArgumentOutOfRangeException">
10727             <para><paramref name="index"/> is less than zero</para>
10728             <para>-or-</para>
10729             <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Core.LevelCollection.Count"/>.</para>
10730             </exception>
10731         </member>
10732         <member name="P:log4net.Core.LevelCollection.Count">
10733             <summary>
10734             Gets the number of elements actually contained in the <c>LevelCollection</c>.
10735             </summary>
10736         </member>
10737         <member name="P:log4net.Core.LevelCollection.IsSynchronized">
10738             <summary>
10739             Gets a value indicating whether access to the collection is synchronized (thread-safe).
10740             </summary>
10741             <value>true if access to the ICollection is synchronized (thread-safe); otherwise, false.</value>
10742         </member>
10743         <member name="P:log4net.Core.LevelCollection.SyncRoot">
10744             <summary>
10745             Gets an object that can be used to synchronize access to the collection.
10746             </summary>
10747         </member>
10748         <member name="P:log4net.Core.LevelCollection.Item(System.Int32)">
10749             <summary>
10750             Gets or sets the <see cref="T:log4net.Core.Level"/> at the specified index.
10751             </summary>
10752             <param name="index">The zero-based index of the element to get or set.</param>
10753             <exception cref="T:System.ArgumentOutOfRangeException">
10754             <para><paramref name="index"/> is less than zero</para>
10755             <para>-or-</para>
10756             <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Core.LevelCollection.Count"/>.</para>
10757             </exception>
10758         </member>
10759         <member name="P:log4net.Core.LevelCollection.IsFixedSize">
10760             <summary>
10761             Gets a value indicating whether the collection has a fixed size.
10762             </summary>
10763             <value>true if the collection has a fixed size; otherwise, false. The default is false</value>
10764         </member>
10765         <member name="P:log4net.Core.LevelCollection.IsReadOnly">
10766             <summary>
10767             Gets a value indicating whether the IList is read-only.
10768             </summary>
10769             <value>true if the collection is read-only; otherwise, false. The default is false</value>
10770         </member>
10771         <member name="P:log4net.Core.LevelCollection.Capacity">
10772             <summary>
10773             Gets or sets the number of elements the <c>LevelCollection</c> can contain.
10774             </summary>
10775         </member>
10776         <member name="T:log4net.Core.LevelCollection.ILevelCollectionEnumerator">
10777             <summary>
10778             Supports type-safe iteration over a <see cref="T:log4net.Core.LevelCollection"/>.
10779             </summary>
10780         </member>
10781         <member name="M:log4net.Core.LevelCollection.ILevelCollectionEnumerator.MoveNext">
10782             <summary>
10783             Advances the enumerator to the next element in the collection.
10784             </summary>
10785             <returns>
10786             <c>true</c> if the enumerator was successfully advanced to the next element; 
10787             <c>false</c> if the enumerator has passed the end of the collection.
10788             </returns>
10789             <exception cref="T:System.InvalidOperationException">
10790             The collection was modified after the enumerator was created.
10791             </exception>
10792         </member>
10793         <member name="M:log4net.Core.LevelCollection.ILevelCollectionEnumerator.Reset">
10794             <summary>
10795             Sets the enumerator to its initial position, before the first element in the collection.
10796             </summary>
10797         </member>
10798         <member name="P:log4net.Core.LevelCollection.ILevelCollectionEnumerator.Current">
10799             <summary>
10800             Gets the current element in the collection.
10801             </summary>
10802         </member>
10803         <member name="T:log4net.Core.LevelCollection.Tag">
10804             <summary>
10805             Type visible only to our subclasses
10806             Used to access protected constructor
10807             </summary>
10808         </member>
10809         <member name="F:log4net.Core.LevelCollection.Tag.Default">
10810             <summary>
10811             A value
10812             </summary>
10813         </member>
10814         <member name="T:log4net.Core.LevelCollection.Enumerator">
10815             <summary>
10816             Supports simple iteration over a <see cref="T:log4net.Core.LevelCollection"/>.
10817             </summary>
10818         </member>
10819         <member name="M:log4net.Core.LevelCollection.Enumerator.#ctor(log4net.Core.LevelCollection)">
10820             <summary>
10821             Initializes a new instance of the <c>Enumerator</c> class.
10822             </summary>
10823             <param name="tc"></param>
10824         </member>
10825         <member name="M:log4net.Core.LevelCollection.Enumerator.MoveNext">
10826             <summary>
10827             Advances the enumerator to the next element in the collection.
10828             </summary>
10829             <returns>
10830             <c>true</c> if the enumerator was successfully advanced to the next element; 
10831             <c>false</c> if the enumerator has passed the end of the collection.
10832             </returns>
10833             <exception cref="T:System.InvalidOperationException">
10834             The collection was modified after the enumerator was created.
10835             </exception>
10836         </member>
10837         <member name="M:log4net.Core.LevelCollection.Enumerator.Reset">
10838             <summary>
10839             Sets the enumerator to its initial position, before the first element in the collection.
10840             </summary>
10841         </member>
10842         <member name="P:log4net.Core.LevelCollection.Enumerator.Current">
10843             <summary>
10844             Gets the current element in the collection.
10845             </summary>
10846         </member>
10847         <member name="T:log4net.Core.LevelEvaluator">
10848             <summary>
10849             An evaluator that triggers at a threshold level
10850             </summary>
10851             <remarks>
10852             <para>
10853             This evaluator will trigger if the level of the event
10854             passed to <see cref="M:log4net.Core.LevelEvaluator.IsTriggeringEvent(log4net.Core.LoggingEvent)"/>
10855             is equal to or greater than the <see cref="P:log4net.Core.LevelEvaluator.Threshold"/>
10856             level.
10857             </para>
10858             </remarks>
10859             <author>Nicko Cadell</author>
10860         </member>
10861         <member name="F:log4net.Core.LevelEvaluator.m_threshold">
10862             <summary>
10863             The threshold for triggering
10864             </summary>
10865         </member>
10866         <member name="M:log4net.Core.LevelEvaluator.#ctor">
10867             <summary>
10868             Create a new evaluator using the <see cref="F:log4net.Core.Level.Off"/> threshold.
10869             </summary>
10870             <remarks>
10871             <para>
10872             Create a new evaluator using the <see cref="F:log4net.Core.Level.Off"/> threshold.
10873             </para>
10874             <para>
10875             This evaluator will trigger if the level of the event
10876             passed to <see cref="M:log4net.Core.LevelEvaluator.IsTriggeringEvent(log4net.Core.LoggingEvent)"/>
10877             is equal to or greater than the <see cref="P:log4net.Core.LevelEvaluator.Threshold"/>
10878             level.
10879             </para>
10880             </remarks>
10881         </member>
10882         <member name="M:log4net.Core.LevelEvaluator.#ctor(log4net.Core.Level)">
10883             <summary>
10884             Create a new evaluator using the specified <see cref="T:log4net.Core.Level"/> threshold.
10885             </summary>
10886             <param name="threshold">the threshold to trigger at</param>
10887             <remarks>
10888             <para>
10889             Create a new evaluator using the specified <see cref="T:log4net.Core.Level"/> threshold.
10890             </para>
10891             <para>
10892             This evaluator will trigger if the level of the event
10893             passed to <see cref="M:log4net.Core.LevelEvaluator.IsTriggeringEvent(log4net.Core.LoggingEvent)"/>
10894             is equal to or greater than the <see cref="P:log4net.Core.LevelEvaluator.Threshold"/>
10895             level.
10896             </para>
10897             </remarks>
10898         </member>
10899         <member name="M:log4net.Core.LevelEvaluator.IsTriggeringEvent(log4net.Core.LoggingEvent)">
10900             <summary>
10901             Is this <paramref name="loggingEvent"/> the triggering event?
10902             </summary>
10903             <param name="loggingEvent">The event to check</param>
10904             <returns>This method returns <c>true</c>, if the event level
10905             is equal or higher than the <see cref="P:log4net.Core.LevelEvaluator.Threshold"/>. 
10906             Otherwise it returns <c>false</c></returns>
10907             <remarks>
10908             <para>
10909             This evaluator will trigger if the level of the event
10910             passed to <see cref="M:log4net.Core.LevelEvaluator.IsTriggeringEvent(log4net.Core.LoggingEvent)"/>
10911             is equal to or greater than the <see cref="P:log4net.Core.LevelEvaluator.Threshold"/>
10912             level.
10913             </para>
10914             </remarks>
10915         </member>
10916         <member name="P:log4net.Core.LevelEvaluator.Threshold">
10917             <summary>
10918             the threshold to trigger at
10919             </summary>
10920             <value>
10921             The <see cref="T:log4net.Core.Level"/> that will cause this evaluator to trigger
10922             </value>
10923             <remarks>
10924             <para>
10925             This evaluator will trigger if the level of the event
10926             passed to <see cref="M:log4net.Core.LevelEvaluator.IsTriggeringEvent(log4net.Core.LoggingEvent)"/>
10927             is equal to or greater than the <see cref="P:log4net.Core.LevelEvaluator.Threshold"/>
10928             level.
10929             </para>
10930             </remarks>
10931         </member>
10932         <member name="T:log4net.Core.LevelMap">
10933             <summary>
10934             Mapping between string name and Level object
10935             </summary>
10936             <remarks>
10937             <para>
10938             Mapping between string name and <see cref="T:log4net.Core.Level"/> object.
10939             This mapping is held separately for each <see cref="T:log4net.Repository.ILoggerRepository"/>.
10940             The level name is case insensitive.
10941             </para>
10942             </remarks>
10943             <author>Nicko Cadell</author>
10944         </member>
10945         <member name="F:log4net.Core.LevelMap.m_mapName2Level">
10946             <summary>
10947             Mapping from level name to Level object. The
10948             level name is case insensitive
10949             </summary>
10950         </member>
10951         <member name="M:log4net.Core.LevelMap.#ctor">
10952             <summary>
10953             Construct the level map
10954             </summary>
10955             <remarks>
10956             <para>
10957             Construct the level map.
10958             </para>
10959             </remarks>
10960         </member>
10961         <member name="M:log4net.Core.LevelMap.Clear">
10962             <summary>
10963             Clear the internal maps of all levels
10964             </summary>
10965             <remarks>
10966             <para>
10967             Clear the internal maps of all levels
10968             </para>
10969             </remarks>
10970         </member>
10971         <member name="M:log4net.Core.LevelMap.Add(System.String,System.Int32)">
10972             <summary>
10973             Create a new Level and add it to the map
10974             </summary>
10975             <param name="name">the string to display for the Level</param>
10976             <param name="value">the level value to give to the Level</param>
10977             <remarks>
10978             <para>
10979             Create a new Level and add it to the map
10980             </para>
10981             </remarks>
10982             <seealso cref="M:log4net.Core.LevelMap.Add(System.String,System.Int32,System.String)"/>
10983         </member>
10984         <member name="M:log4net.Core.LevelMap.Add(System.String,System.Int32,System.String)">
10985             <summary>
10986             Create a new Level and add it to the map
10987             </summary>
10988             <param name="name">the string to display for the Level</param>
10989             <param name="value">the level value to give to the Level</param>
10990             <param name="displayName">the display name to give to the Level</param>
10991             <remarks>
10992             <para>
10993             Create a new Level and add it to the map
10994             </para>
10995             </remarks>
10996         </member>
10997         <member name="M:log4net.Core.LevelMap.Add(log4net.Core.Level)">
10998             <summary>
10999             Add a Level to the map
11000             </summary>
11001             <param name="level">the Level to add</param>
11002             <remarks>
11003             <para>
11004             Add a Level to the map
11005             </para>
11006             </remarks>
11007         </member>
11008         <member name="M:log4net.Core.LevelMap.LookupWithDefault(log4net.Core.Level)">
11009             <summary>
11010             Lookup a named level from the map
11011             </summary>
11012             <param name="defaultLevel">the name of the level to lookup is taken from this level. 
11013             If the level is not set on the map then this level is added</param>
11014             <returns>the level in the map with the name specified</returns>
11015             <remarks>
11016             <para>
11017             Lookup a named level from the map. The name of the level to lookup is taken
11018             from the <see cref="P:log4net.Core.Level.Name"/> property of the <paramref name="defaultLevel"/>
11019             argument.
11020             </para>
11021             <para>
11022             If no level with the specified name is found then the 
11023             <paramref name="defaultLevel"/> argument is added to the level map
11024             and returned.
11025             </para>
11026             </remarks>
11027         </member>
11028         <member name="P:log4net.Core.LevelMap.Item(System.String)">
11029             <summary>
11030             Lookup a <see cref="T:log4net.Core.Level"/> by name
11031             </summary>
11032             <param name="name">The name of the Level to lookup</param>
11033             <returns>a Level from the map with the name specified</returns>
11034             <remarks>
11035             <para>
11036             Returns the <see cref="T:log4net.Core.Level"/> from the
11037             map with the name specified. If the no level is
11038             found then <c>null</c> is returned.
11039             </para>
11040             </remarks>
11041         </member>
11042         <member name="P:log4net.Core.LevelMap.AllLevels">
11043             <summary>
11044             Return all possible levels as a list of Level objects.
11045             </summary>
11046             <returns>all possible levels as a list of Level objects</returns>
11047             <remarks>
11048             <para>
11049             Return all possible levels as a list of Level objects.
11050             </para>
11051             </remarks>
11052         </member>
11053         <member name="T:log4net.Core.LocationInfo">
11054             <summary>
11055             The internal representation of caller location information.
11056             </summary>
11057             <remarks>
11058             <para>
11059             This class uses the <c>System.Diagnostics.StackTrace</c> class to generate
11060             a call stack. The caller's information is then extracted from this stack.
11061             </para>
11062             <para>
11063             The <c>System.Diagnostics.StackTrace</c> class is not supported on the 
11064             .NET Compact Framework 1.0 therefore caller location information is not
11065             available on that framework.
11066             </para>
11067             <para>
11068             The <c>System.Diagnostics.StackTrace</c> class has this to say about Release builds:
11069             </para>
11070             <para>
11071             "StackTrace information will be most informative with Debug build configurations. 
11072             By default, Debug builds include debug symbols, while Release builds do not. The 
11073             debug symbols contain most of the file, method name, line number, and column 
11074             information used in constructing StackFrame and StackTrace objects. StackTrace 
11075             might not report as many method calls as expected, due to code transformations 
11076             that occur during optimization."
11077             </para>
11078             <para>
11079             This means that in a Release build the caller information may be incomplete or may 
11080             not exist at all! Therefore caller location information cannot be relied upon in a Release build.
11081             </para>
11082             </remarks>
11083             <author>Nicko Cadell</author>
11084             <author>Gert Driesen</author>
11085         </member>
11086         <member name="F:log4net.Core.LocationInfo.NA">
11087             <summary>
11088             When location information is not available the constant
11089             <c>NA</c> is returned. Current value of this string
11090             constant is <b>?</b>.
11091             </summary>
11092         </member>
11093         <member name="M:log4net.Core.LocationInfo.#ctor(System.Type)">
11094             <summary>
11095             Constructor
11096             </summary>
11097             <param name="callerStackBoundaryDeclaringType">The declaring type of the method that is
11098             the stack boundary into the logging system for this call.</param>
11099             <remarks>
11100             <para>
11101             Initializes a new instance of the <see cref="T:log4net.Core.LocationInfo"/>
11102             class based on the current thread.
11103             </para>
11104             </remarks>
11105         </member>
11106         <member name="M:log4net.Core.LocationInfo.#ctor(System.String,System.String,System.String,System.String)">
11107             <summary>
11108             Constructor
11109             </summary>
11110             <param name="className">The fully qualified class name.</param>
11111             <param name="methodName">The method name.</param>
11112             <param name="fileName">The file name.</param>
11113             <param name="lineNumber">The line number of the method within the file.</param>
11114             <remarks>
11115             <para>
11116             Initializes a new instance of the <see cref="T:log4net.Core.LocationInfo"/>
11117             class with the specified data.
11118             </para>
11119             </remarks>
11120         </member>
11121         <member name="P:log4net.Core.LocationInfo.ClassName">
11122             <summary>
11123             Gets the fully qualified class name of the caller making the logging 
11124             request.
11125             </summary>
11126             <value>
11127             The fully qualified class name of the caller making the logging 
11128             request.
11129             </value>
11130             <remarks>
11131             <para>
11132             Gets the fully qualified class name of the caller making the logging 
11133             request.
11134             </para>
11135             </remarks>
11136         </member>
11137         <member name="P:log4net.Core.LocationInfo.FileName">
11138             <summary>
11139             Gets the file name of the caller.
11140             </summary>
11141             <value>
11142             The file name of the caller.
11143             </value>
11144             <remarks>
11145             <para>
11146             Gets the file name of the caller.
11147             </para>
11148             </remarks>
11149         </member>
11150         <member name="P:log4net.Core.LocationInfo.LineNumber">
11151             <summary>
11152             Gets the line number of the caller.
11153             </summary>
11154             <value>
11155             The line number of the caller.
11156             </value>
11157             <remarks>
11158             <para>
11159             Gets the line number of the caller.
11160             </para>
11161             </remarks>
11162         </member>
11163         <member name="P:log4net.Core.LocationInfo.MethodName">
11164             <summary>
11165             Gets the method name of the caller.
11166             </summary>
11167             <value>
11168             The method name of the caller.
11169             </value>
11170             <remarks>
11171             <para>
11172             Gets the method name of the caller.
11173             </para>
11174             </remarks>
11175         </member>
11176         <member name="P:log4net.Core.LocationInfo.FullInfo">
11177             <summary>
11178             Gets all available caller information
11179             </summary>
11180             <value>
11181             All available caller information, in the format
11182             <c>fully.qualified.classname.of.caller.methodName(Filename:line)</c>
11183             </value>
11184             <remarks>
11185             <para>
11186             Gets all available caller information, in the format
11187             <c>fully.qualified.classname.of.caller.methodName(Filename:line)</c>
11188             </para>
11189             </remarks>
11190         </member>
11191         <member name="T:log4net.Core.LoggerManager">
11192             <summary>
11193             Static manager that controls the creation of repositories
11194             </summary>
11195             <remarks>
11196             <para>
11197             Static manager that controls the creation of repositories
11198             </para>
11199             <para>
11200             This class is used by the wrapper managers (e.g. <see cref="T:log4net.LogManager"/>)
11201             to provide access to the <see cref="T:log4net.Core.ILogger"/> objects.
11202             </para>
11203             <para>
11204             This manager also holds the <see cref="T:log4net.Core.IRepositorySelector"/> that is used to
11205             lookup and create repositories. The selector can be set either programmatically using
11206             the <see cref="P:log4net.Core.LoggerManager.RepositorySelector"/> property, or by setting the <c>log4net.RepositorySelector</c>
11207             AppSetting in the applications config file to the fully qualified type name of the
11208             selector to use. 
11209             </para>
11210             </remarks>
11211             <author>Nicko Cadell</author>
11212             <author>Gert Driesen</author>
11213         </member>
11214         <member name="M:log4net.Core.LoggerManager.#ctor">
11215             <summary>
11216             Private constructor to prevent instances. Only static methods should be used.
11217             </summary>
11218             <remarks>
11219             <para>
11220             Private constructor to prevent instances. Only static methods should be used.
11221             </para>
11222             </remarks>
11223         </member>
11224         <member name="M:log4net.Core.LoggerManager.#cctor">
11225             <summary>
11226             Hook the shutdown event
11227             </summary>
11228             <remarks>
11229             <para>
11230             On the full .NET runtime, the static constructor hooks up the 
11231             <c>AppDomain.ProcessExit</c> and <c>AppDomain.DomainUnload</c>> events. 
11232             These are used to shutdown the log4net system as the application exits.
11233             </para>
11234             </remarks>
11235         </member>
11236         <member name="M:log4net.Core.LoggerManager.RegisterAppDomainEvents">
11237             <summary>
11238             Register for ProcessExit and DomainUnload events on the AppDomain
11239             </summary>
11240             <remarks>
11241             <para>
11242             This needs to be in a separate method because the events make
11243             a LinkDemand for the ControlAppDomain SecurityPermission. Because
11244             this is a LinkDemand it is demanded at JIT time. Therefore we cannot
11245             catch the exception in the method itself, we have to catch it in the
11246             caller.
11247             </para>
11248             </remarks>
11249         </member>
11250         <member name="M:log4net.Core.LoggerManager.GetLoggerRepository(System.String)">
11251             <summary>
11252             Return the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
11253             </summary>
11254             <param name="repository">the repository to lookup in</param>
11255             <returns>Return the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance</returns>
11256             <remarks>
11257             <para>
11258             Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified
11259             by the <paramref name="repository"/> argument.
11260             </para>
11261             </remarks>
11262         </member>
11263         <member name="M:log4net.Core.LoggerManager.GetLoggerRepository(System.Reflection.Assembly)">
11264             <summary>
11265             Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
11266             </summary>
11267             <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
11268             <returns>The default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.</returns>
11269         </member>
11270         <member name="M:log4net.Core.LoggerManager.GetRepository(System.String)">
11271             <summary>
11272             Return the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
11273             </summary>
11274             <param name="repository">the repository to lookup in</param>
11275             <returns>Return the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance</returns>
11276             <remarks>
11277             <para>
11278             Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified
11279             by the <paramref name="repository"/> argument.
11280             </para>
11281             </remarks>
11282         </member>
11283         <member name="M:log4net.Core.LoggerManager.GetRepository(System.Reflection.Assembly)">
11284             <summary>
11285             Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
11286             </summary>
11287             <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
11288             <returns>The default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.</returns>
11289             <remarks>
11290             <para>
11291             Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
11292             </para>
11293             </remarks>
11294         </member>
11295         <member name="M:log4net.Core.LoggerManager.Exists(System.String,System.String)">
11296             <summary>
11297             Returns the named logger if it exists.
11298             </summary>
11299             <param name="repository">The repository to lookup in.</param>
11300             <param name="name">The fully qualified logger name to look for.</param>
11301             <returns>
11302             The logger found, or <c>null</c> if the named logger does not exist in the
11303             specified repository.
11304             </returns>
11305             <remarks>
11306             <para>
11307             If the named logger exists (in the specified repository) then it
11308             returns a reference to the logger, otherwise it returns
11309             <c>null</c>.
11310             </para>
11311             </remarks>
11312         </member>
11313         <member name="M:log4net.Core.LoggerManager.Exists(System.Reflection.Assembly,System.String)">
11314             <summary>
11315             Returns the named logger if it exists.
11316             </summary>
11317             <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
11318             <param name="name">The fully qualified logger name to look for.</param>
11319             <returns>
11320             The logger found, or <c>null</c> if the named logger does not exist in the
11321             specified assembly's repository.
11322             </returns>
11323             <remarks>
11324             <para>
11325             If the named logger exists (in the specified assembly's repository) then it
11326             returns a reference to the logger, otherwise it returns
11327             <c>null</c>.
11328             </para>
11329             </remarks>
11330         </member>
11331         <member name="M:log4net.Core.LoggerManager.GetCurrentLoggers(System.String)">
11332             <summary>
11333             Returns all the currently defined loggers in the specified repository.
11334             </summary>
11335             <param name="repository">The repository to lookup in.</param>
11336             <returns>All the defined loggers.</returns>
11337             <remarks>
11338             <para>
11339             The root logger is <b>not</b> included in the returned array.
11340             </para>
11341             </remarks>
11342         </member>
11343         <member name="M:log4net.Core.LoggerManager.GetCurrentLoggers(System.Reflection.Assembly)">
11344             <summary>
11345             Returns all the currently defined loggers in the specified assembly's repository.
11346             </summary>
11347             <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
11348             <returns>All the defined loggers.</returns>
11349             <remarks>
11350             <para>
11351             The root logger is <b>not</b> included in the returned array.
11352             </para>
11353             </remarks>
11354         </member>
11355         <member name="M:log4net.Core.LoggerManager.GetLogger(System.String,System.String)">
11356             <summary>
11357             Retrieves or creates a named logger.
11358             </summary>
11359             <param name="repository">The repository to lookup in.</param>
11360             <param name="name">The name of the logger to retrieve.</param>
11361             <returns>The logger with the name specified.</returns>
11362             <remarks>
11363             <para>
11364             Retrieves a logger named as the <paramref name="name"/>
11365             parameter. If the named logger already exists, then the
11366             existing instance will be returned. Otherwise, a new instance is
11367             created.
11368             </para>
11369             <para>
11370             By default, loggers do not have a set level but inherit
11371             it from the hierarchy. This is one of the central features of
11372             log4net.
11373             </para>
11374             </remarks>
11375         </member>
11376         <member name="M:log4net.Core.LoggerManager.GetLogger(System.Reflection.Assembly,System.String)">
11377             <summary>
11378             Retrieves or creates a named logger.
11379             </summary>
11380             <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
11381             <param name="name">The name of the logger to retrieve.</param>
11382             <returns>The logger with the name specified.</returns>
11383             <remarks>
11384             <para>
11385             Retrieves a logger named as the <paramref name="name"/>
11386             parameter. If the named logger already exists, then the
11387             existing instance will be returned. Otherwise, a new instance is
11388             created.
11389             </para>
11390             <para>
11391             By default, loggers do not have a set level but inherit
11392             it from the hierarchy. This is one of the central features of
11393             log4net.
11394             </para>
11395             </remarks>
11396         </member>
11397         <member name="M:log4net.Core.LoggerManager.GetLogger(System.String,System.Type)">
11398             <summary>
11399             Shorthand for <see cref="M:log4net.LogManager.GetLogger(System.String)"/>.
11400             </summary>
11401             <param name="repository">The repository to lookup in.</param>
11402             <param name="type">The <paramref name="type"/> of which the fullname will be used as the name of the logger to retrieve.</param>
11403             <returns>The logger with the name specified.</returns>
11404             <remarks>
11405             <para>
11406             Gets the logger for the fully qualified name of the type specified.
11407             </para>
11408             </remarks>
11409         </member>
11410         <member name="M:log4net.Core.LoggerManager.GetLogger(System.Reflection.Assembly,System.Type)">
11411             <summary>
11412             Shorthand for <see cref="M:log4net.LogManager.GetLogger(System.String)"/>.
11413             </summary>
11414             <param name="repositoryAssembly">the assembly to use to lookup the repository</param>
11415             <param name="type">The <paramref name="type"/> of which the fullname will be used as the name of the logger to retrieve.</param>
11416             <returns>The logger with the name specified.</returns>
11417             <remarks>
11418             <para>
11419             Gets the logger for the fully qualified name of the type specified.
11420             </para>
11421             </remarks>
11422         </member>
11423         <member name="M:log4net.Core.LoggerManager.Shutdown">
11424             <summary>
11425             Shuts down the log4net system.
11426             </summary>
11427             <remarks>
11428             <para>
11429             Calling this method will <b>safely</b> close and remove all
11430             appenders in all the loggers including root contained in all the
11431             default repositories.
11432             </para>
11433             <para>
11434             Some appenders need to be closed before the application exists. 
11435             Otherwise, pending logging events might be lost.
11436             </para>
11437             <para>
11438             The <c>shutdown</c> method is careful to close nested
11439             appenders before closing regular appenders. This is allows
11440             configurations where a regular appender is attached to a logger
11441             and again to a nested appender.
11442             </para>
11443             </remarks>
11444         </member>
11445         <member name="M:log4net.Core.LoggerManager.ShutdownRepository(System.String)">
11446             <summary>
11447             Shuts down the repository for the repository specified.
11448             </summary>
11449             <param name="repository">The repository to shutdown.</param>
11450             <remarks>
11451             <para>
11452             Calling this method will <b>safely</b> close and remove all
11453             appenders in all the loggers including root contained in the
11454             repository for the <paramref name="repository"/> specified.
11455             </para>
11456             <para>
11457             Some appenders need to be closed before the application exists. 
11458             Otherwise, pending logging events might be lost.
11459             </para>
11460             <para>
11461             The <c>shutdown</c> method is careful to close nested
11462             appenders before closing regular appenders. This is allows
11463             configurations where a regular appender is attached to a logger
11464             and again to a nested appender.
11465             </para>
11466             </remarks>
11467         </member>
11468         <member name="M:log4net.Core.LoggerManager.ShutdownRepository(System.Reflection.Assembly)">
11469             <summary>
11470             Shuts down the repository for the repository specified.
11471             </summary>
11472             <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
11473             <remarks>
11474             <para>
11475             Calling this method will <b>safely</b> close and remove all
11476             appenders in all the loggers including root contained in the
11477             repository for the repository. The repository is looked up using
11478             the <paramref name="repositoryAssembly"/> specified.
11479             </para>
11480             <para>
11481             Some appenders need to be closed before the application exists. 
11482             Otherwise, pending logging events might be lost.
11483             </para>
11484             <para>
11485             The <c>shutdown</c> method is careful to close nested
11486             appenders before closing regular appenders. This is allows
11487             configurations where a regular appender is attached to a logger
11488             and again to a nested appender.
11489             </para>
11490             </remarks>
11491         </member>
11492         <member name="M:log4net.Core.LoggerManager.ResetConfiguration(System.String)">
11493             <summary>
11494             Resets all values contained in this repository instance to their defaults.
11495             </summary>
11496             <param name="repository">The repository to reset.</param>
11497             <remarks>
11498             <para>
11499             Resets all values contained in the repository instance to their
11500             defaults.  This removes all appenders from all loggers, sets
11501             the level of all non-root loggers to <c>null</c>,
11502             sets their additivity flag to <c>true</c> and sets the level
11503             of the root logger to <see cref="F:log4net.Core.Level.Debug"/>. Moreover,
11504             message disabling is set its default "off" value.
11505             </para>             
11506             </remarks>
11507         </member>
11508         <member name="M:log4net.Core.LoggerManager.ResetConfiguration(System.Reflection.Assembly)">
11509             <summary>
11510             Resets all values contained in this repository instance to their defaults.
11511             </summary>
11512             <param name="repositoryAssembly">The assembly to use to lookup the repository to reset.</param>
11513             <remarks>
11514             <para>
11515             Resets all values contained in the repository instance to their
11516             defaults.  This removes all appenders from all loggers, sets
11517             the level of all non-root loggers to <c>null</c>,
11518             sets their additivity flag to <c>true</c> and sets the level
11519             of the root logger to <see cref="F:log4net.Core.Level.Debug"/>. Moreover,
11520             message disabling is set its default "off" value.
11521             </para>             
11522             </remarks>
11523         </member>
11524         <member name="M:log4net.Core.LoggerManager.CreateDomain(System.String)">
11525             <summary>
11526             Creates a repository with the specified name.
11527             </summary>
11528             <param name="repository">The name of the repository, this must be unique amongst repositories.</param>
11529             <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
11530             <remarks>
11531             <para>
11532             <b>CreateDomain is obsolete. Use CreateRepository instead of CreateDomain.</b>
11533             </para>
11534             <para>
11535             Creates the default type of <see cref="T:log4net.Repository.ILoggerRepository"/> which is a
11536             <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> object.
11537             </para>
11538             <para>
11539             The <paramref name="repository"/> name must be unique. Repositories cannot be redefined.
11540             An <see cref="T:System.Exception"/> will be thrown if the repository already exists.
11541             </para>
11542             </remarks>
11543             <exception cref="T:log4net.Core.LogException">The specified repository already exists.</exception>
11544         </member>
11545         <member name="M:log4net.Core.LoggerManager.CreateRepository(System.String)">
11546             <summary>
11547             Creates a repository with the specified name.
11548             </summary>
11549             <param name="repository">The name of the repository, this must be unique amongst repositories.</param>
11550             <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
11551             <remarks>
11552             <para>
11553             Creates the default type of <see cref="T:log4net.Repository.ILoggerRepository"/> which is a
11554             <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> object.
11555             </para>
11556             <para>
11557             The <paramref name="repository"/> name must be unique. Repositories cannot be redefined.
11558             An <see cref="T:System.Exception"/> will be thrown if the repository already exists.
11559             </para>
11560             </remarks>
11561             <exception cref="T:log4net.Core.LogException">The specified repository already exists.</exception>
11562         </member>
11563         <member name="M:log4net.Core.LoggerManager.CreateDomain(System.String,System.Type)">
11564             <summary>
11565             Creates a repository with the specified name and repository type.
11566             </summary>
11567             <param name="repository">The name of the repository, this must be unique to the repository.</param>
11568             <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
11569             and has a no arg constructor. An instance of this type will be created to act
11570             as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
11571             <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
11572             <remarks>
11573             <para>
11574             <b>CreateDomain is obsolete. Use CreateRepository instead of CreateDomain.</b>
11575             </para>
11576             <para>
11577             The <paramref name="repository"/> name must be unique. Repositories cannot be redefined.
11578             An Exception will be thrown if the repository already exists.
11579             </para>
11580             </remarks>
11581             <exception cref="T:log4net.Core.LogException">The specified repository already exists.</exception>
11582         </member>
11583         <member name="M:log4net.Core.LoggerManager.CreateRepository(System.String,System.Type)">
11584             <summary>
11585             Creates a repository with the specified name and repository type.
11586             </summary>
11587             <param name="repository">The name of the repository, this must be unique to the repository.</param>
11588             <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
11589             and has a no arg constructor. An instance of this type will be created to act
11590             as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
11591             <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
11592             <remarks>
11593             <para>
11594             The <paramref name="repository"/> name must be unique. Repositories cannot be redefined.
11595             An Exception will be thrown if the repository already exists.
11596             </para>
11597             </remarks>
11598             <exception cref="T:log4net.Core.LogException">The specified repository already exists.</exception>
11599         </member>
11600         <member name="M:log4net.Core.LoggerManager.CreateDomain(System.Reflection.Assembly,System.Type)">
11601             <summary>
11602             Creates a repository for the specified assembly and repository type.
11603             </summary>
11604             <param name="repositoryAssembly">The assembly to use to get the name of the repository.</param>
11605             <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
11606             and has a no arg constructor. An instance of this type will be created to act
11607             as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
11608             <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
11609             <remarks>
11610             <para>
11611             <b>CreateDomain is obsolete. Use CreateRepository instead of CreateDomain.</b>
11612             </para>
11613             <para>
11614             The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the repository
11615             specified such that a call to <see cref="M:log4net.Core.LoggerManager.GetRepository(System.Reflection.Assembly)"/> with the
11616             same assembly specified will return the same repository instance.
11617             </para>
11618             </remarks>
11619         </member>
11620         <member name="M:log4net.Core.LoggerManager.CreateRepository(System.Reflection.Assembly,System.Type)">
11621             <summary>
11622             Creates a repository for the specified assembly and repository type.
11623             </summary>
11624             <param name="repositoryAssembly">The assembly to use to get the name of the repository.</param>
11625             <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
11626             and has a no arg constructor. An instance of this type will be created to act
11627             as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
11628             <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
11629             <remarks>
11630             <para>
11631             The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the repository
11632             specified such that a call to <see cref="M:log4net.Core.LoggerManager.GetRepository(System.Reflection.Assembly)"/> with the
11633             same assembly specified will return the same repository instance.
11634             </para>
11635             </remarks>
11636         </member>
11637         <member name="M:log4net.Core.LoggerManager.GetAllRepositories">
11638             <summary>
11639             Gets an array of all currently defined repositories.
11640             </summary>
11641             <returns>An array of all the known <see cref="T:log4net.Repository.ILoggerRepository"/> objects.</returns>
11642             <remarks>
11643             <para>
11644             Gets an array of all currently defined repositories.
11645             </para>
11646             </remarks>
11647         </member>
11648         <member name="M:log4net.Core.LoggerManager.GetVersionInfo">
11649             <summary>
11650             Internal method to get pertinent version info.
11651             </summary>
11652             <returns>A string of version info.</returns>
11653         </member>
11654         <member name="M:log4net.Core.LoggerManager.OnDomainUnload(System.Object,System.EventArgs)">
11655             <summary>
11656             Called when the <see cref="E:System.AppDomain.DomainUnload"/> event fires
11657             </summary>
11658             <param name="sender">the <see cref="T:System.AppDomain"/> that is exiting</param>
11659             <param name="e">null</param>
11660             <remarks>
11661             <para>
11662             Called when the <see cref="E:System.AppDomain.DomainUnload"/> event fires.
11663             </para>
11664             <para>
11665             When the event is triggered the log4net system is <see cref="M:log4net.Core.LoggerManager.Shutdown"/>.
11666             </para>
11667             </remarks>
11668         </member>
11669         <member name="M:log4net.Core.LoggerManager.OnProcessExit(System.Object,System.EventArgs)">
11670             <summary>
11671             Called when the <see cref="E:System.AppDomain.ProcessExit"/> event fires
11672             </summary>
11673             <param name="sender">the <see cref="T:System.AppDomain"/> that is exiting</param>
11674             <param name="e">null</param>
11675             <remarks>
11676             <para>
11677             Called when the <see cref="E:System.AppDomain.ProcessExit"/> event fires.
11678             </para>
11679             <para>
11680             When the event is triggered the log4net system is <see cref="M:log4net.Core.LoggerManager.Shutdown"/>.
11681             </para>
11682             </remarks>
11683         </member>
11684         <member name="F:log4net.Core.LoggerManager.s_repositorySelector">
11685             <summary>
11686             Initialize the default repository selector
11687             </summary>
11688         </member>
11689         <member name="P:log4net.Core.LoggerManager.RepositorySelector">
11690             <summary>
11691             Gets or sets the repository selector used by the <see cref="T:log4net.LogManager"/>.
11692             </summary>
11693             <value>
11694             The repository selector used by the <see cref="T:log4net.LogManager"/>.
11695             </value>
11696             <remarks>
11697             <para>
11698             The repository selector (<see cref="T:log4net.Core.IRepositorySelector"/>) is used by 
11699             the <see cref="T:log4net.LogManager"/> to create and select repositories 
11700             (<see cref="T:log4net.Repository.ILoggerRepository"/>).
11701             </para>
11702             <para>
11703             The caller to <see cref="T:log4net.LogManager"/> supplies either a string name 
11704             or an assembly (if not supplied the assembly is inferred using 
11705             <see cref="M:System.Reflection.Assembly.GetCallingAssembly"/>).
11706             </para>
11707             <para>
11708             This context is used by the selector to lookup a specific repository.
11709             </para>
11710             <para>
11711             For the full .NET Framework, the default repository is <c>DefaultRepositorySelector</c>;
11712             for the .NET Compact Framework <c>CompactRepositorySelector</c> is the default
11713             repository.
11714             </para>
11715             </remarks>
11716         </member>
11717         <member name="T:log4net.Core.LoggerWrapperImpl">
11718             <summary>
11719             Implementation of the <see cref="T:log4net.Core.ILoggerWrapper"/> interface.
11720             </summary>
11721             <remarks>
11722             <para>
11723             This class should be used as the base for all wrapper implementations.
11724             </para>
11725             </remarks>
11726             <author>Nicko Cadell</author>
11727             <author>Gert Driesen</author>
11728         </member>
11729         <member name="M:log4net.Core.LoggerWrapperImpl.#ctor(log4net.Core.ILogger)">
11730             <summary>
11731             Constructs a new wrapper for the specified logger.
11732             </summary>
11733             <param name="logger">The logger to wrap.</param>
11734             <remarks>
11735             <para>
11736             Constructs a new wrapper for the specified logger.
11737             </para>
11738             </remarks>
11739         </member>
11740         <member name="F:log4net.Core.LoggerWrapperImpl.m_logger">
11741             <summary>
11742             The logger that this object is wrapping
11743             </summary>
11744         </member>
11745         <member name="P:log4net.Core.LoggerWrapperImpl.Logger">
11746             <summary>
11747             Gets the implementation behind this wrapper object.
11748             </summary>
11749             <value>
11750             The <see cref="T:log4net.Core.ILogger"/> object that this object is implementing.
11751             </value>
11752             <remarks>
11753             <para>
11754             The <c>Logger</c> object may not be the same object as this object 
11755             because of logger decorators.
11756             </para>
11757             <para>
11758             This gets the actual underlying objects that is used to process
11759             the log events.
11760             </para>
11761             </remarks>
11762         </member>
11763         <member name="T:log4net.Core.LoggingEventData">
11764             <summary>
11765             Portable data structure used by <see cref="T:log4net.Core.LoggingEvent"/>
11766             </summary>
11767             <remarks>
11768             <para>
11769             Portable data structure used by <see cref="T:log4net.Core.LoggingEvent"/>
11770             </para>
11771             </remarks>
11772             <author>Nicko Cadell</author>
11773         </member>
11774         <member name="F:log4net.Core.LoggingEventData.LoggerName">
11775             <summary>
11776             The logger name.
11777             </summary>
11778             <remarks>
11779             <para>
11780             The logger name.
11781             </para>
11782             </remarks>
11783         </member>
11784         <member name="F:log4net.Core.LoggingEventData.Level">
11785             <summary>
11786             Level of logging event.
11787             </summary>
11788             <remarks>
11789             <para>
11790             Level of logging event. Level cannot be Serializable
11791             because it is a flyweight.  Due to its special serialization it
11792             cannot be declared final either.
11793             </para>
11794             </remarks>
11795         </member>
11796         <member name="F:log4net.Core.LoggingEventData.Message">
11797             <summary>
11798             The application supplied message.
11799             </summary>
11800             <remarks>
11801             <para>
11802             The application supplied message of logging event.
11803             </para>
11804             </remarks>
11805         </member>
11806         <member name="F:log4net.Core.LoggingEventData.ThreadName">
11807             <summary>
11808             The name of thread
11809             </summary>
11810             <remarks>
11811             <para>
11812             The name of thread in which this logging event was generated
11813             </para>
11814             </remarks>
11815         </member>
11816         <member name="F:log4net.Core.LoggingEventData.TimeStamp">
11817             <summary>
11818             The time the event was logged
11819             </summary>
11820             <remarks>
11821             <para>
11822             The TimeStamp is stored in the local time zone for this computer.
11823             </para>
11824             </remarks>
11825         </member>
11826         <member name="F:log4net.Core.LoggingEventData.LocationInfo">
11827             <summary>
11828             Location information for the caller.
11829             </summary>
11830             <remarks>
11831             <para>
11832             Location information for the caller.
11833             </para>
11834             </remarks>
11835         </member>
11836         <member name="F:log4net.Core.LoggingEventData.UserName">
11837             <summary>
11838             String representation of the user
11839             </summary>
11840             <remarks>
11841             <para>
11842             String representation of the user's windows name,
11843             like DOMAIN\username
11844             </para>
11845             </remarks>
11846         </member>
11847         <member name="F:log4net.Core.LoggingEventData.Identity">
11848             <summary>
11849             String representation of the identity.
11850             </summary>
11851             <remarks>
11852             <para>
11853             String representation of the current thread's principal identity.
11854             </para>
11855             </remarks>
11856         </member>
11857         <member name="F:log4net.Core.LoggingEventData.ExceptionString">
11858             <summary>
11859             The string representation of the exception
11860             </summary>
11861             <remarks>
11862             <para>
11863             The string representation of the exception
11864             </para>
11865             </remarks>
11866         </member>
11867         <member name="F:log4net.Core.LoggingEventData.Domain">
11868             <summary>
11869             String representation of the AppDomain.
11870             </summary>
11871             <remarks>
11872             <para>
11873             String representation of the AppDomain.
11874             </para>
11875             </remarks>
11876         </member>
11877         <member name="F:log4net.Core.LoggingEventData.Properties">
11878             <summary>
11879             Additional event specific properties
11880             </summary>
11881             <remarks>
11882             <para>
11883             A logger or an appender may attach additional
11884             properties to specific events. These properties
11885             have a string key and an object value.
11886             </para>
11887             </remarks>
11888         </member>
11889         <member name="T:log4net.Core.FixFlags">
11890             <summary>
11891             Flags passed to the <see cref="P:log4net.Core.LoggingEvent.Fix"/> property
11892             </summary>
11893             <remarks>
11894             <para>
11895             Flags passed to the <see cref="P:log4net.Core.LoggingEvent.Fix"/> property
11896             </para>
11897             </remarks>
11898             <author>Nicko Cadell</author>
11899         </member>
11900         <member name="F:log4net.Core.FixFlags.Mdc">
11901             <summary>
11902             Fix the MDC
11903             </summary>
11904         </member>
11905         <member name="F:log4net.Core.FixFlags.Ndc">
11906             <summary>
11907             Fix the NDC
11908             </summary>
11909         </member>
11910         <member name="F:log4net.Core.FixFlags.Message">
11911             <summary>
11912             Fix the rendered message
11913             </summary>
11914         </member>
11915         <member name="F:log4net.Core.FixFlags.ThreadName">
11916             <summary>
11917             Fix the thread name
11918             </summary>
11919         </member>
11920         <member name="F:log4net.Core.FixFlags.LocationInfo">
11921             <summary>
11922             Fix the callers location information
11923             </summary>
11924             <remarks>
11925             CAUTION: Very slow to generate
11926             </remarks>
11927         </member>
11928         <member name="F:log4net.Core.FixFlags.UserName">
11929             <summary>
11930             Fix the callers windows user name
11931             </summary>
11932             <remarks>
11933             CAUTION: Slow to generate
11934             </remarks>
11935         </member>
11936         <member name="F:log4net.Core.FixFlags.Domain">
11937             <summary>
11938             Fix the domain friendly name
11939             </summary>
11940         </member>
11941         <member name="F:log4net.Core.FixFlags.Identity">
11942             <summary>
11943             Fix the callers principal name
11944             </summary>
11945             <remarks>
11946             CAUTION: May be slow to generate
11947             </remarks>
11948         </member>
11949         <member name="F:log4net.Core.FixFlags.Exception">
11950             <summary>
11951             Fix the exception text
11952             </summary>
11953         </member>
11954         <member name="F:log4net.Core.FixFlags.Properties">
11955             <summary>
11956             Fix the event properties
11957             </summary>
11958         </member>
11959         <member name="F:log4net.Core.FixFlags.None">
11960             <summary>
11961             No fields fixed
11962             </summary>
11963         </member>
11964         <member name="F:log4net.Core.FixFlags.All">
11965             <summary>
11966             All fields fixed
11967             </summary>
11968         </member>
11969         <member name="F:log4net.Core.FixFlags.Partial">
11970             <summary>
11971             Partial fields fixed
11972             </summary>
11973             <remarks>
11974             <para>
11975             This set of partial fields gives good performance. The following fields are fixed:
11976             </para>
11977             <list type="bullet">
11978             <item><description><see cref="F:log4net.Core.FixFlags.Message"/></description></item>
11979             <item><description><see cref="F:log4net.Core.FixFlags.ThreadName"/></description></item>
11980             <item><description><see cref="F:log4net.Core.FixFlags.Exception"/></description></item>
11981             <item><description><see cref="F:log4net.Core.FixFlags.Domain"/></description></item>
11982             <item><description><see cref="F:log4net.Core.FixFlags.Properties"/></description></item>
11983             </list>
11984             </remarks>
11985         </member>
11986         <member name="T:log4net.Core.LoggingEvent">
11987             <summary>
11988             The internal representation of logging events. 
11989             </summary>
11990             <remarks>
11991             <para>
11992             When an affirmative decision is made to log then a 
11993             <see cref="T:log4net.Core.LoggingEvent"/> instance is created. This instance 
11994             is passed around to the different log4net components.
11995             </para>
11996             <para>
11997             This class is of concern to those wishing to extend log4net.
11998             </para>
11999             <para>
12000             Some of the values in instances of <see cref="T:log4net.Core.LoggingEvent"/>
12001             are considered volatile, that is the values are correct at the
12002             time the event is delivered to appenders, but will not be consistent
12003             at any time afterwards. If an event is to be stored and then processed
12004             at a later time these volatile values must be fixed by calling
12005             <see cref="M:log4net.Core.LoggingEvent.FixVolatileData"/>. There is a performance penalty
12006             for incurred by calling <see cref="M:log4net.Core.LoggingEvent.FixVolatileData"/> but it
12007             is essential to maintaining data consistency.
12008             </para>
12009             </remarks>
12010             <author>Nicko Cadell</author>
12011             <author>Gert Driesen</author>
12012             <author>Douglas de la Torre</author>
12013             <author>Daniel Cazzulino</author>
12014         </member>
12015         <member name="F:log4net.Core.LoggingEvent.HostNameProperty">
12016             <summary>
12017             The key into the Properties map for the host name value.
12018             </summary>
12019         </member>
12020         <member name="F:log4net.Core.LoggingEvent.IdentityProperty">
12021             <summary>
12022             The key into the Properties map for the thread identity value.
12023             </summary>
12024         </member>
12025         <member name="F:log4net.Core.LoggingEvent.UserNameProperty">
12026             <summary>
12027             The key into the Properties map for the user name value.
12028             </summary>
12029         </member>
12030         <member name="M:log4net.Core.LoggingEvent.#ctor(System.Type,log4net.Repository.ILoggerRepository,System.String,log4net.Core.Level,System.Object,System.Exception)">
12031             <summary>
12032             Initializes a new instance of the <see cref="T:log4net.Core.LoggingEvent"/> class
12033             from the supplied parameters.
12034             </summary>
12035             <param name="callerStackBoundaryDeclaringType">The declaring type of the method that is
12036             the stack boundary into the logging system for this call.</param>
12037             <param name="repository">The repository this event is logged in.</param>
12038             <param name="loggerName">The name of the logger of this event.</param>
12039             <param name="level">The level of this event.</param>
12040             <param name="message">The message of this event.</param>
12041             <param name="exception">The exception for this event.</param>
12042             <remarks>
12043             <para>
12044             Except <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/>, <see cref="P:log4net.Core.LoggingEvent.Level"/> and <see cref="P:log4net.Core.LoggingEvent.LoggerName"/>, 
12045             all fields of <c>LoggingEvent</c> are filled when actually needed. Call
12046             <see cref="M:log4net.Core.LoggingEvent.FixVolatileData"/> to cache all data locally
12047             to prevent inconsistencies.
12048             </para>
12049             <para>This method is called by the log4net framework
12050             to create a logging event.
12051             </para>
12052             </remarks>
12053         </member>
12054         <member name="M:log4net.Core.LoggingEvent.#ctor(System.Type,log4net.Repository.ILoggerRepository,log4net.Core.LoggingEventData,log4net.Core.FixFlags)">
12055             <summary>
12056             Initializes a new instance of the <see cref="T:log4net.Core.LoggingEvent"/> class 
12057             using specific data.
12058             </summary>
12059             <param name="callerStackBoundaryDeclaringType">The declaring type of the method that is
12060             the stack boundary into the logging system for this call.</param>
12061             <param name="repository">The repository this event is logged in.</param>
12062             <param name="data">Data used to initialize the logging event.</param>
12063             <param name="fixedData">The fields in the <paranref name="data"/> struct that have already been fixed.</param>
12064             <remarks>
12065             <para>
12066             This constructor is provided to allow a <see cref="T:log4net.Core.LoggingEvent"/>
12067             to be created independently of the log4net framework. This can
12068             be useful if you require a custom serialization scheme.
12069             </para>
12070             <para>
12071             Use the <see cref="M:log4net.Core.LoggingEvent.GetLoggingEventData(log4net.Core.FixFlags)"/> method to obtain an 
12072             instance of the <see cref="T:log4net.Core.LoggingEventData"/> class.
12073             </para>
12074             <para>
12075             The <paramref name="fixedData"/> parameter should be used to specify which fields in the
12076             <paramref name="data"/> struct have been preset. Fields not specified in the <paramref name="fixedData"/>
12077             will be captured from the environment if requested or fixed.
12078             </para>
12079             </remarks>
12080         </member>
12081         <member name="M:log4net.Core.LoggingEvent.#ctor(System.Type,log4net.Repository.ILoggerRepository,log4net.Core.LoggingEventData)">
12082             <summary>
12083             Initializes a new instance of the <see cref="T:log4net.Core.LoggingEvent"/> class 
12084             using specific data.
12085             </summary>
12086             <param name="callerStackBoundaryDeclaringType">The declaring type of the method that is
12087             the stack boundary into the logging system for this call.</param>
12088             <param name="repository">The repository this event is logged in.</param>
12089             <param name="data">Data used to initialize the logging event.</param>
12090             <remarks>
12091             <para>
12092             This constructor is provided to allow a <see cref="T:log4net.Core.LoggingEvent"/>
12093             to be created independently of the log4net framework. This can
12094             be useful if you require a custom serialization scheme.
12095             </para>
12096             <para>
12097             Use the <see cref="M:log4net.Core.LoggingEvent.GetLoggingEventData(log4net.Core.FixFlags)"/> method to obtain an 
12098             instance of the <see cref="T:log4net.Core.LoggingEventData"/> class.
12099             </para>
12100             <para>
12101             This constructor sets this objects <see cref="P:log4net.Core.LoggingEvent.Fix"/> flags to <see cref="F:log4net.Core.FixFlags.All"/>,
12102             this assumes that all the data relating to this event is passed in via the <paramref name="data"/>
12103             parameter and no other data should be captured from the environment.
12104             </para>
12105             </remarks>
12106         </member>
12107         <member name="M:log4net.Core.LoggingEvent.#ctor(log4net.Core.LoggingEventData)">
12108             <summary>
12109             Initializes a new instance of the <see cref="T:log4net.Core.LoggingEvent"/> class 
12110             using specific data.
12111             </summary>
12112             <param name="data">Data used to initialize the logging event.</param>
12113             <remarks>
12114             <para>
12115             This constructor is provided to allow a <see cref="T:log4net.Core.LoggingEvent"/>
12116             to be created independently of the log4net framework. This can
12117             be useful if you require a custom serialization scheme.
12118             </para>
12119             <para>
12120             Use the <see cref="M:log4net.Core.LoggingEvent.GetLoggingEventData(log4net.Core.FixFlags)"/> method to obtain an 
12121             instance of the <see cref="T:log4net.Core.LoggingEventData"/> class.
12122             </para>
12123             <para>
12124             This constructor sets this objects <see cref="P:log4net.Core.LoggingEvent.Fix"/> flags to <see cref="F:log4net.Core.FixFlags.All"/>,
12125             this assumes that all the data relating to this event is passed in via the <paramref name="data"/>
12126             parameter and no other data should be captured from the environment.
12127             </para>
12128             </remarks>
12129         </member>
12130         <member name="M:log4net.Core.LoggingEvent.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
12131             <summary>
12132             Serialization constructor
12133             </summary>
12134             <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data.</param>
12135             <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
12136             <remarks>
12137             <para>
12138             Initializes a new instance of the <see cref="T:log4net.Core.LoggingEvent"/> class 
12139             with serialized data.
12140             </para>
12141             </remarks>
12142         </member>
12143         <member name="M:log4net.Core.LoggingEvent.EnsureRepository(log4net.Repository.ILoggerRepository)">
12144             <summary>
12145             Ensure that the repository is set.
12146             </summary>
12147             <param name="repository">the value for the repository</param>
12148         </member>
12149         <member name="M:log4net.Core.LoggingEvent.WriteRenderedMessage(System.IO.TextWriter)">
12150             <summary>
12151             Write the rendered message to a TextWriter
12152             </summary>
12153             <param name="writer">the writer to write the message to</param>
12154             <remarks>
12155             <para>
12156             Unlike the <see cref="P:log4net.Core.LoggingEvent.RenderedMessage"/> property this method
12157             does store the message data in the internal cache. Therefore 
12158             if called only once this method should be faster than the
12159             <see cref="P:log4net.Core.LoggingEvent.RenderedMessage"/> property, however if the message is
12160             to be accessed multiple times then the property will be more efficient.
12161             </para>
12162             </remarks>
12163         </member>
12164         <member name="M:log4net.Core.LoggingEvent.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
12165             <summary>
12166             Serializes this object into the <see cref="T:System.Runtime.Serialization.SerializationInfo"/> provided.
12167             </summary>
12168             <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> to populate with data.</param>
12169             <param name="context">The destination for this serialization.</param>
12170             <remarks>
12171             <para>
12172             The data in this event must be fixed before it can be serialized.
12173             </para>
12174             <para>
12175             The <see cref="M:log4net.Core.LoggingEvent.FixVolatileData"/> method must be called during the
12176             <see cref="M:log4net.Appender.IAppender.DoAppend(log4net.Core.LoggingEvent)"/> method call if this event 
12177             is to be used outside that method.
12178             </para>
12179             </remarks>
12180         </member>
12181         <member name="M:log4net.Core.LoggingEvent.GetLoggingEventData">
12182             <summary>
12183             Gets the portable data for this <see cref="T:log4net.Core.LoggingEvent"/>.
12184             </summary>
12185             <returns>The <see cref="T:log4net.Core.LoggingEventData"/> for this event.</returns>
12186             <remarks>
12187             <para>
12188             A new <see cref="T:log4net.Core.LoggingEvent"/> can be constructed using a
12189             <see cref="T:log4net.Core.LoggingEventData"/> instance.
12190             </para>
12191             <para>
12192             Does a <see cref="F:log4net.Core.FixFlags.Partial"/> fix of the data
12193             in the logging event before returning the event data.
12194             </para>
12195             </remarks>
12196         </member>
12197         <member name="M:log4net.Core.LoggingEvent.GetLoggingEventData(log4net.Core.FixFlags)">
12198             <summary>
12199             Gets the portable data for this <see cref="T:log4net.Core.LoggingEvent"/>.
12200             </summary>
12201             <param name="fixFlags">The set of data to ensure is fixed in the LoggingEventData</param>
12202             <returns>The <see cref="T:log4net.Core.LoggingEventData"/> for this event.</returns>
12203             <remarks>
12204             <para>
12205             A new <see cref="T:log4net.Core.LoggingEvent"/> can be constructed using a
12206             <see cref="T:log4net.Core.LoggingEventData"/> instance.
12207             </para>
12208             </remarks>
12209         </member>
12210         <member name="M:log4net.Core.LoggingEvent.GetExceptionStrRep">
12211             <summary>
12212             Returns this event's exception's rendered using the 
12213             <see cref="P:log4net.Repository.ILoggerRepository.RendererMap"/>.
12214             </summary>
12215             <returns>
12216             This event's exception's rendered using the <see cref="P:log4net.Repository.ILoggerRepository.RendererMap"/>.
12217             </returns>
12218             <remarks>
12219             <para>
12220             <b>Obsolete. Use <see cref="M:log4net.Core.LoggingEvent.GetExceptionString"/> instead.</b>
12221             </para>
12222             </remarks>
12223         </member>
12224         <member name="M:log4net.Core.LoggingEvent.GetExceptionString">
12225             <summary>
12226             Returns this event's exception's rendered using the 
12227             <see cref="P:log4net.Repository.ILoggerRepository.RendererMap"/>.
12228             </summary>
12229             <returns>
12230             This event's exception's rendered using the <see cref="P:log4net.Repository.ILoggerRepository.RendererMap"/>.
12231             </returns>
12232             <remarks>
12233             <para>
12234             Returns this event's exception's rendered using the 
12235             <see cref="P:log4net.Repository.ILoggerRepository.RendererMap"/>.
12236             </para>
12237             </remarks>
12238         </member>
12239         <member name="M:log4net.Core.LoggingEvent.FixVolatileData">
12240             <summary>
12241             Fix instance fields that hold volatile data.
12242             </summary>
12243             <remarks>
12244             <para>
12245             Some of the values in instances of <see cref="T:log4net.Core.LoggingEvent"/>
12246             are considered volatile, that is the values are correct at the
12247             time the event is delivered to appenders, but will not be consistent
12248             at any time afterwards. If an event is to be stored and then processed
12249             at a later time these volatile values must be fixed by calling
12250             <see cref="M:log4net.Core.LoggingEvent.FixVolatileData"/>. There is a performance penalty
12251             incurred by calling <see cref="M:log4net.Core.LoggingEvent.FixVolatileData"/> but it
12252             is essential to maintaining data consistency.
12253             </para>
12254             <para>
12255             Calling <see cref="M:log4net.Core.LoggingEvent.FixVolatileData"/> is equivalent to
12256             calling <see cref="M:log4net.Core.LoggingEvent.FixVolatileData(System.Boolean)"/> passing the parameter
12257             <c>false</c>.
12258             </para>
12259             <para>
12260             See <see cref="M:log4net.Core.LoggingEvent.FixVolatileData(System.Boolean)"/> for more
12261             information.
12262             </para>
12263             </remarks>
12264         </member>
12265         <member name="M:log4net.Core.LoggingEvent.FixVolatileData(System.Boolean)">
12266             <summary>
12267             Fixes instance fields that hold volatile data.
12268             </summary>
12269             <param name="fastButLoose">Set to <c>true</c> to not fix data that takes a long time to fix.</param>
12270             <remarks>
12271             <para>
12272             Some of the values in instances of <see cref="T:log4net.Core.LoggingEvent"/>
12273             are considered volatile, that is the values are correct at the
12274             time the event is delivered to appenders, but will not be consistent
12275             at any time afterwards. If an event is to be stored and then processed
12276             at a later time these volatile values must be fixed by calling
12277             <see cref="M:log4net.Core.LoggingEvent.FixVolatileData"/>. There is a performance penalty
12278             for incurred by calling <see cref="M:log4net.Core.LoggingEvent.FixVolatileData"/> but it
12279             is essential to maintaining data consistency.
12280             </para>
12281             <para>
12282             The <paramref name="fastButLoose"/> param controls the data that
12283             is fixed. Some of the data that can be fixed takes a long time to 
12284             generate, therefore if you do not require those settings to be fixed
12285             they can be ignored by setting the <paramref name="fastButLoose"/> param
12286             to <c>true</c>. This setting will ignore the <see cref="P:log4net.Core.LoggingEvent.LocationInformation"/>
12287             and <see cref="P:log4net.Core.LoggingEvent.UserName"/> settings.
12288             </para>
12289             <para>
12290             Set <paramref name="fastButLoose"/> to <c>false</c> to ensure that all 
12291             settings are fixed.
12292             </para>
12293             </remarks>
12294         </member>
12295         <member name="M:log4net.Core.LoggingEvent.FixVolatileData(log4net.Core.FixFlags)">
12296             <summary>
12297             Fix the fields specified by the <see cref="T:log4net.Core.FixFlags"/> parameter
12298             </summary>
12299             <param name="flags">the fields to fix</param>
12300             <remarks>
12301             <para>
12302             Only fields specified in the <paramref name="flags"/> will be fixed.
12303             Fields will not be fixed if they have previously been fixed.
12304             It is not possible to 'unfix' a field.
12305             </para>
12306             </remarks>
12307         </member>
12308         <member name="M:log4net.Core.LoggingEvent.LookupProperty(System.String)">
12309             <summary>
12310             Lookup a composite property in this event
12311             </summary>
12312             <param name="key">the key for the property to lookup</param>
12313             <returns>the value for the property</returns>
12314             <remarks>
12315             <para>
12316             This event has composite properties that combine together properties from
12317             several different contexts in the following order:
12318             <list type="definition">
12319                 <item>
12320                         <term>this events properties</term>
12321                         <description>
12322                         This event has <see cref="P:log4net.Core.LoggingEvent.Properties"/> that can be set. These 
12323                         properties are specific to this event only.
12324                         </description>
12325                 </item>
12326                 <item>
12327                         <term>the thread properties</term>
12328                         <description>
12329                         The <see cref="P:log4net.ThreadContext.Properties"/> that are set on the current
12330                         thread. These properties are shared by all events logged on this thread.
12331                         </description>
12332                 </item>
12333                 <item>
12334                         <term>the global properties</term>
12335                         <description>
12336                         The <see cref="P:log4net.GlobalContext.Properties"/> that are set globally. These 
12337                         properties are shared by all the threads in the AppDomain.
12338                         </description>
12339                 </item>
12340             </list>
12341             </para>
12342             </remarks>
12343         </member>
12344         <member name="M:log4net.Core.LoggingEvent.GetProperties">
12345             <summary>
12346             Get all the composite properties in this event
12347             </summary>
12348             <returns>the <see cref="T:log4net.Util.PropertiesDictionary"/> containing all the properties</returns>
12349             <remarks>
12350             <para>
12351             See <see cref="M:log4net.Core.LoggingEvent.LookupProperty(System.String)"/> for details of the composite properties 
12352             stored by the event.
12353             </para>
12354             <para>
12355             This method returns a single <see cref="T:log4net.Util.PropertiesDictionary"/> containing all the
12356             properties defined for this event.
12357             </para>
12358             </remarks>
12359         </member>
12360         <member name="F:log4net.Core.LoggingEvent.m_data">
12361             <summary>
12362             The internal logging event data.
12363             </summary>
12364         </member>
12365         <member name="F:log4net.Core.LoggingEvent.m_compositeProperties">
12366             <summary>
12367             The internal logging event data.
12368             </summary>
12369         </member>
12370         <member name="F:log4net.Core.LoggingEvent.m_eventProperties">
12371             <summary>
12372             The internal logging event data.
12373             </summary>
12374         </member>
12375         <member name="F:log4net.Core.LoggingEvent.m_callerStackBoundaryDeclaringType">
12376             <summary>
12377             The fully qualified Type of the calling 
12378             logger class in the stack frame (i.e. the declaring type of the method).
12379             </summary>
12380         </member>
12381         <member name="F:log4net.Core.LoggingEvent.m_message">
12382             <summary>
12383             The application supplied message of logging event.
12384             </summary>
12385         </member>
12386         <member name="F:log4net.Core.LoggingEvent.m_thrownException">
12387             <summary>
12388             The exception that was thrown.
12389             </summary>
12390             <remarks>
12391             This is not serialized. The string representation
12392             is serialized instead.
12393             </remarks>
12394         </member>
12395         <member name="F:log4net.Core.LoggingEvent.m_repository">
12396             <summary>
12397             The repository that generated the logging event
12398             </summary>
12399             <remarks>
12400             This is not serialized.
12401             </remarks>
12402         </member>
12403         <member name="F:log4net.Core.LoggingEvent.m_fixFlags">
12404             <summary>
12405             The fix state for this event
12406             </summary>
12407             <remarks>
12408             These flags indicate which fields have been fixed.
12409             Not serialized.
12410             </remarks>
12411         </member>
12412         <member name="F:log4net.Core.LoggingEvent.m_cacheUpdatable">
12413             <summary>
12414             Indicated that the internal cache is updateable (ie not fixed)
12415             </summary>
12416             <remarks>
12417             This is a seperate flag to m_fixFlags as it allows incrementel fixing and simpler
12418             changes in the caching strategy.
12419             </remarks>
12420         </member>
12421         <member name="P:log4net.Core.LoggingEvent.StartTime">
12422             <summary>
12423             Gets the time when the current process started.
12424             </summary>
12425             <value>
12426             This is the time when this process started.
12427             </value>
12428             <remarks>
12429             <para>
12430             The TimeStamp is stored in the local time zone for this computer.
12431             </para>
12432             <para>
12433             Tries to get the start time for the current process.
12434             Failing that it returns the time of the first call to
12435             this property.
12436             </para>
12437             <para>
12438             Note that AppDomains may be loaded and unloaded within the
12439             same process without the process terminating and therefore
12440             without the process start time being reset.
12441             </para>
12442             </remarks>
12443         </member>
12444         <member name="P:log4net.Core.LoggingEvent.Level">
12445             <summary>
12446             Gets the <see cref="P:log4net.Core.LoggingEvent.Level"/> of the logging event.
12447             </summary>
12448             <value>
12449             The <see cref="P:log4net.Core.LoggingEvent.Level"/> of the logging event.
12450             </value>
12451             <remarks>
12452             <para>
12453             Gets the <see cref="P:log4net.Core.LoggingEvent.Level"/> of the logging event.
12454             </para>
12455             </remarks>
12456         </member>
12457         <member name="P:log4net.Core.LoggingEvent.TimeStamp">
12458             <summary>
12459             Gets the time of the logging event.
12460             </summary>
12461             <value>
12462             The time of the logging event.
12463             </value>
12464             <remarks>
12465             <para>
12466             The TimeStamp is stored in the local time zone for this computer.
12467             </para>
12468             </remarks>
12469         </member>
12470         <member name="P:log4net.Core.LoggingEvent.LoggerName">
12471             <summary>
12472             Gets the name of the logger that logged the event.
12473             </summary>
12474             <value>
12475             The name of the logger that logged the event.
12476             </value>
12477             <remarks>
12478             <para>
12479             Gets the name of the logger that logged the event.
12480             </para>
12481             </remarks>
12482         </member>
12483         <member name="P:log4net.Core.LoggingEvent.LocationInformation">
12484             <summary>
12485             Gets the location information for this logging event.
12486             </summary>
12487             <value>
12488             The location information for this logging event.
12489             </value>
12490             <remarks>
12491             <para>
12492             The collected information is cached for future use.
12493             </para>
12494             <para>
12495             See the <see cref="T:log4net.Core.LocationInfo"/> class for more information on
12496             supported frameworks and the different behavior in Debug and
12497             Release builds.
12498             </para>
12499             </remarks>
12500         </member>
12501         <member name="P:log4net.Core.LoggingEvent.MessageObject">
12502             <summary>
12503             Gets the message object used to initialize this event.
12504             </summary>
12505             <value>
12506             The message object used to initialize this event.
12507             </value>
12508             <remarks>
12509             <para>
12510             Gets the message object used to initialize this event.
12511             Note that this event may not have a valid message object.
12512             If the event is serialized the message object will not 
12513             be transferred. To get the text of the message the
12514             <see cref="P:log4net.Core.LoggingEvent.RenderedMessage"/> property must be used 
12515             not this property.
12516             </para>
12517             <para>
12518             If there is no defined message object for this event then
12519             null will be returned.
12520             </para>
12521             </remarks>
12522         </member>
12523         <member name="P:log4net.Core.LoggingEvent.ExceptionObject">
12524             <summary>
12525             Gets the exception object used to initialize this event.
12526             </summary>
12527             <value>
12528             The exception object used to initialize this event.
12529             </value>
12530             <remarks>
12531             <para>
12532             Gets the exception object used to initialize this event.
12533             Note that this event may not have a valid exception object.
12534             If the event is serialized the exception object will not 
12535             be transferred. To get the text of the exception the
12536             <see cref="M:log4net.Core.LoggingEvent.GetExceptionString"/> method must be used 
12537             not this property.
12538             </para>
12539             <para>
12540             If there is no defined exception object for this event then
12541             null will be returned.
12542             </para>
12543             </remarks>
12544         </member>
12545         <member name="P:log4net.Core.LoggingEvent.Repository">
12546             <summary>
12547             The <see cref="T:log4net.Repository.ILoggerRepository"/> that this event was created in.
12548             </summary>
12549             <remarks>
12550             <para>
12551             The <see cref="T:log4net.Repository.ILoggerRepository"/> that this event was created in.
12552             </para>
12553             </remarks>
12554         </member>
12555         <member name="P:log4net.Core.LoggingEvent.RenderedMessage">
12556             <summary>
12557             Gets the message, rendered through the <see cref="P:log4net.Repository.ILoggerRepository.RendererMap"/>.
12558             </summary>
12559             <value>
12560             The message rendered through the <see cref="P:log4net.Repository.ILoggerRepository.RendererMap"/>.
12561             </value>
12562             <remarks>
12563             <para>
12564             The collected information is cached for future use.
12565             </para>
12566             </remarks>
12567         </member>
12568         <member name="P:log4net.Core.LoggingEvent.ThreadName">
12569             <summary>
12570             Gets the name of the current thread.  
12571             </summary>
12572             <value>
12573             The name of the current thread, or the thread ID when 
12574             the name is not available.
12575             </value>
12576             <remarks>
12577             <para>
12578             The collected information is cached for future use.
12579             </para>
12580             </remarks>
12581         </member>
12582         <member name="P:log4net.Core.LoggingEvent.UserName">
12583             <summary>
12584             Gets the name of the current user.
12585             </summary>
12586             <value>
12587             The name of the current user, or <c>NOT AVAILABLE</c> when the 
12588             underlying runtime has no support for retrieving the name of the 
12589             current user.
12590             </value>
12591             <remarks>
12592             <para>
12593             Calls <c>WindowsIdentity.GetCurrent().Name</c> to get the name of
12594             the current windows user.
12595             </para>
12596             <para>
12597             To improve performance, we could cache the string representation of 
12598             the name, and reuse that as long as the identity stayed constant.  
12599             Once the identity changed, we would need to re-assign and re-render 
12600             the string.
12601             </para>
12602             <para>
12603             However, the <c>WindowsIdentity.GetCurrent()</c> call seems to 
12604             return different objects every time, so the current implementation 
12605             doesn't do this type of caching.
12606             </para>
12607             <para>
12608             Timing for these operations:
12609             </para>
12610             <list type="table">
12611               <listheader>
12612                 <term>Method</term>
12613                 <description>Results</description>
12614               </listheader>
12615               <item>
12616                 <term><c>WindowsIdentity.GetCurrent()</c></term>
12617                 <description>10000 loops, 00:00:00.2031250 seconds</description>
12618               </item>
12619               <item>
12620                 <term><c>WindowsIdentity.GetCurrent().Name</c></term>
12621                 <description>10000 loops, 00:00:08.0468750 seconds</description>
12622               </item>
12623             </list>
12624             <para>
12625             This means we could speed things up almost 40 times by caching the 
12626             value of the <c>WindowsIdentity.GetCurrent().Name</c> property, since 
12627             this takes (8.04-0.20) = 7.84375 seconds.
12628             </para>
12629             </remarks>
12630         </member>
12631         <member name="P:log4net.Core.LoggingEvent.Identity">
12632             <summary>
12633             Gets the identity of the current thread principal.
12634             </summary>
12635             <value>
12636             The string name of the identity of the current thread principal.
12637             </value>
12638             <remarks>
12639             <para>
12640             Calls <c>System.Threading.Thread.CurrentPrincipal.Identity.Name</c> to get
12641             the name of the current thread principal.
12642             </para>
12643             </remarks>
12644         </member>
12645         <member name="P:log4net.Core.LoggingEvent.Domain">
12646             <summary>
12647             Gets the AppDomain friendly name.
12648             </summary>
12649             <value>
12650             The AppDomain friendly name.
12651             </value>
12652             <remarks>
12653             <para>
12654             Gets the AppDomain friendly name.
12655             </para>
12656             </remarks>
12657         </member>
12658         <member name="P:log4net.Core.LoggingEvent.Properties">
12659             <summary>
12660             Additional event specific properties.
12661             </summary>
12662             <value>
12663             Additional event specific properties.
12664             </value>
12665             <remarks>
12666             <para>
12667             A logger or an appender may attach additional
12668             properties to specific events. These properties
12669             have a string key and an object value.
12670             </para>
12671             <para>
12672             This property is for events that have been added directly to
12673             this event. The aggregate properties (which include these
12674             event properties) can be retrieved using <see cref="M:log4net.Core.LoggingEvent.LookupProperty(System.String)"/>
12675             and <see cref="M:log4net.Core.LoggingEvent.GetProperties"/>.
12676             </para>
12677             <para>
12678             Once the properties have been fixed <see cref="P:log4net.Core.LoggingEvent.Fix"/> this property
12679             returns the combined cached properties. This ensures that updates to
12680             this property are always reflected in the underlying storage. When
12681             returning the combined properties there may be more keys in the
12682             Dictionary than expected.
12683             </para>
12684             </remarks>
12685         </member>
12686         <member name="P:log4net.Core.LoggingEvent.Fix">
12687             <summary>
12688             The fixed fields in this event
12689             </summary>
12690             <value>
12691             The set of fields that are fixed in this event
12692             </value>
12693             <remarks>
12694             <para>
12695             Fields will not be fixed if they have previously been fixed.
12696             It is not possible to 'unfix' a field.
12697             </para>
12698             </remarks>
12699         </member>
12700         <member name="T:log4net.Core.LogImpl">
12701             <summary>
12702             Implementation of <see cref="T:log4net.ILog"/> wrapper interface.
12703             </summary>
12704             <remarks>
12705             <para>
12706             This implementation of the <see cref="T:log4net.ILog"/> interface
12707             forwards to the <see cref="T:log4net.Core.ILogger"/> held by the base class.
12708             </para>
12709             <para>
12710             This logger has methods to allow the caller to log at the following
12711             levels:
12712             </para>
12713             <list type="definition">
12714               <item>
12715                 <term>DEBUG</term>
12716                 <description>
12717                 The <see cref="M:log4net.Core.LogImpl.Debug(System.Object)"/> and <see cref="M:log4net.Core.LogImpl.DebugFormat(System.String,System.Object[])"/> methods log messages
12718                 at the <c>DEBUG</c> level. That is the level with that name defined in the
12719                 repositories <see cref="P:log4net.Repository.ILoggerRepository.LevelMap"/>. The default value
12720                 for this level is <see cref="F:log4net.Core.Level.Debug"/>. The <see cref="P:log4net.Core.LogImpl.IsDebugEnabled"/>
12721                 property tests if this level is enabled for logging.
12722                 </description>
12723               </item>
12724               <item>
12725                 <term>INFO</term>
12726                 <description>
12727                 The <see cref="M:log4net.Core.LogImpl.Info(System.Object)"/> and <see cref="M:log4net.Core.LogImpl.InfoFormat(System.String,System.Object[])"/> methods log messages
12728                 at the <c>INFO</c> level. That is the level with that name defined in the
12729                 repositories <see cref="P:log4net.Repository.ILoggerRepository.LevelMap"/>. The default value
12730                 for this level is <see cref="F:log4net.Core.Level.Info"/>. The <see cref="P:log4net.Core.LogImpl.IsInfoEnabled"/>
12731                 property tests if this level is enabled for logging.
12732                 </description>
12733               </item>
12734               <item>
12735                 <term>WARN</term>
12736                 <description>
12737                 The <see cref="M:log4net.Core.LogImpl.Warn(System.Object)"/> and <see cref="M:log4net.Core.LogImpl.WarnFormat(System.String,System.Object[])"/> methods log messages
12738                 at the <c>WARN</c> level. That is the level with that name defined in the
12739                 repositories <see cref="P:log4net.Repository.ILoggerRepository.LevelMap"/>. The default value
12740                 for this level is <see cref="F:log4net.Core.Level.Warn"/>. The <see cref="P:log4net.Core.LogImpl.IsWarnEnabled"/>
12741                 property tests if this level is enabled for logging.
12742                 </description>
12743               </item>
12744               <item>
12745                 <term>ERROR</term>
12746                 <description>
12747                 The <see cref="M:log4net.Core.LogImpl.Error(System.Object)"/> and <see cref="M:log4net.Core.LogImpl.ErrorFormat(System.String,System.Object[])"/> methods log messages
12748                 at the <c>ERROR</c> level. That is the level with that name defined in the
12749                 repositories <see cref="P:log4net.Repository.ILoggerRepository.LevelMap"/>. The default value
12750                 for this level is <see cref="F:log4net.Core.Level.Error"/>. The <see cref="P:log4net.Core.LogImpl.IsErrorEnabled"/>
12751                 property tests if this level is enabled for logging.
12752                 </description>
12753               </item>
12754               <item>
12755                 <term>FATAL</term>
12756                 <description>
12757                 The <see cref="M:log4net.Core.LogImpl.Fatal(System.Object)"/> and <see cref="M:log4net.Core.LogImpl.FatalFormat(System.String,System.Object[])"/> methods log messages
12758                 at the <c>FATAL</c> level. That is the level with that name defined in the
12759                 repositories <see cref="P:log4net.Repository.ILoggerRepository.LevelMap"/>. The default value
12760                 for this level is <see cref="F:log4net.Core.Level.Fatal"/>. The <see cref="P:log4net.Core.LogImpl.IsFatalEnabled"/>
12761                 property tests if this level is enabled for logging.
12762                 </description>
12763               </item>
12764             </list>
12765             <para>
12766             The values for these levels and their semantic meanings can be changed by 
12767             configuring the <see cref="P:log4net.Repository.ILoggerRepository.LevelMap"/> for the repository.
12768             </para>
12769             </remarks>
12770             <author>Nicko Cadell</author>
12771             <author>Gert Driesen</author>
12772         </member>
12773         <member name="T:log4net.ILog">
12774             <summary>
12775             The ILog interface is use by application to log messages into
12776             the log4net framework.
12777             </summary>
12778             <remarks>
12779             <para>
12780             Use the <see cref="T:log4net.LogManager"/> to obtain logger instances
12781             that implement this interface. The <see cref="M:log4net.LogManager.GetLogger(System.Reflection.Assembly,System.Type)"/>
12782             static method is used to get logger instances.
12783             </para>
12784             <para>
12785             This class contains methods for logging at different levels and also
12786             has properties for determining if those logging levels are
12787             enabled in the current configuration.
12788             </para>
12789             <para>
12790             This interface can be implemented in different ways. This documentation
12791             specifies reasonable behavior that a caller can expect from the actual
12792             implementation, however different implementations reserve the right to
12793             do things differently.
12794             </para>
12795             </remarks>
12796             <example>Simple example of logging messages
12797             <code lang="C#">
12798             ILog log = LogManager.GetLogger("application-log");
12799             
12800             log.Info("Application Start");
12801             log.Debug("This is a debug message");
12802             
12803             if (log.IsDebugEnabled)
12804             {
12805                 log.Debug("This is another debug message");
12806             }
12807             </code>
12808             </example>
12809             <seealso cref="T:log4net.LogManager"/>
12810             <seealso cref="M:log4net.LogManager.GetLogger(System.Reflection.Assembly,System.Type)"/>
12811             <author>Nicko Cadell</author>
12812             <author>Gert Driesen</author>
12813         </member>
12814         <member name="M:log4net.ILog.Debug(System.Object)">
12815             <overloads>Log a message object with the <see cref="F:log4net.Core.Level.Debug"/> level.</overloads>
12816             <summary>
12817             Log a message object with the <see cref="F:log4net.Core.Level.Debug"/> level.
12818             </summary>
12819             <param name="message">The message object to log.</param>
12820             <remarks>
12821             <para>
12822             This method first checks if this logger is <c>DEBUG</c>
12823             enabled by comparing the level of this logger with the 
12824             <see cref="F:log4net.Core.Level.Debug"/> level. If this logger is
12825             <c>DEBUG</c> enabled, then it converts the message object
12826             (passed as parameter) to a string by invoking the appropriate
12827             <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
12828             proceeds to call all the registered appenders in this logger 
12829             and also higher in the hierarchy depending on the value of 
12830             the additivity flag.
12831             </para>
12832             <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> 
12833             to this method will print the name of the <see cref="T:System.Exception"/> 
12834             but no stack trace. To print a stack trace use the 
12835             <see cref="M:log4net.ILog.Debug(System.Object,System.Exception)"/> form instead.
12836             </para>
12837             </remarks>
12838             <seealso cref="M:log4net.ILog.Debug(System.Object,System.Exception)"/>
12839             <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
12840         </member>
12841         <member name="M:log4net.ILog.Debug(System.Object,System.Exception)">
12842             <summary>
12843             Log a message object with the <see cref="F:log4net.Core.Level.Debug"/> level including
12844             the stack trace of the <see cref="T:System.Exception"/> passed
12845             as a parameter.
12846             </summary>
12847             <param name="message">The message object to log.</param>
12848             <param name="exception">The exception to log, including its stack trace.</param>
12849             <remarks>
12850             <para>
12851             See the <see cref="M:log4net.ILog.Debug(System.Object)"/> form for more detailed information.
12852             </para>
12853             </remarks>
12854             <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
12855             <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
12856         </member>
12857         <member name="M:log4net.ILog.DebugFormat(System.String,System.Object[])">
12858             <overloads>Log a formatted string with the <see cref="F:log4net.Core.Level.Debug"/> level.</overloads>
12859             <summary>
12860             Logs a formatted message string with the <see cref="F:log4net.Core.Level.Debug"/> level.
12861             </summary>
12862             <param name="format">A String containing zero or more format items</param>
12863             <param name="args">An Object array containing zero or more objects to format</param>
12864             <remarks>
12865             <para>
12866             The message is formatted using the <c>String.Format</c> method. See
12867             <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
12868             of the formatting.
12869             </para>
12870             <para>
12871             This method does not take an <see cref="T:System.Exception"/> object to include in the
12872             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Debug(System.Object,System.Exception)"/>
12873             methods instead.
12874             </para>
12875             </remarks>
12876             <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
12877             <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
12878         </member>
12879         <member name="M:log4net.ILog.DebugFormat(System.String,System.Object)">
12880             <summary>
12881             Logs a formatted message string with the <see cref="F:log4net.Core.Level.Debug"/> level.
12882             </summary>
12883             <param name="format">A String containing zero or more format items</param>
12884             <param name="arg0">An Object to format</param>
12885             <remarks>
12886             <para>
12887             The message is formatted using the <c>String.Format</c> method. See
12888             <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
12889             of the formatting.
12890             </para>
12891             <para>
12892             This method does not take an <see cref="T:System.Exception"/> object to include in the
12893             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Debug(System.Object,System.Exception)"/>
12894             methods instead.
12895             </para>
12896             </remarks>
12897             <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
12898             <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
12899         </member>
12900         <member name="M:log4net.ILog.DebugFormat(System.String,System.Object,System.Object)">
12901             <summary>
12902             Logs a formatted message string with the <see cref="F:log4net.Core.Level.Debug"/> level.
12903             </summary>
12904             <param name="format">A String containing zero or more format items</param>
12905             <param name="arg0">An Object to format</param>
12906             <param name="arg1">An Object to format</param>
12907             <remarks>
12908             <para>
12909             The message is formatted using the <c>String.Format</c> method. See
12910             <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
12911             of the formatting.
12912             </para>
12913             <para>
12914             This method does not take an <see cref="T:System.Exception"/> object to include in the
12915             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Debug(System.Object,System.Exception)"/>
12916             methods instead.
12917             </para>
12918             </remarks>
12919             <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
12920             <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
12921         </member>
12922         <member name="M:log4net.ILog.DebugFormat(System.String,System.Object,System.Object,System.Object)">
12923             <summary>
12924             Logs a formatted message string with the <see cref="F:log4net.Core.Level.Debug"/> level.
12925             </summary>
12926             <param name="format">A String containing zero or more format items</param>
12927             <param name="arg0">An Object to format</param>
12928             <param name="arg1">An Object to format</param>
12929             <param name="arg2">An Object to format</param>
12930             <remarks>
12931             <para>
12932             The message is formatted using the <c>String.Format</c> method. See
12933             <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
12934             of the formatting.
12935             </para>
12936             <para>
12937             This method does not take an <see cref="T:System.Exception"/> object to include in the
12938             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Debug(System.Object,System.Exception)"/>
12939             methods instead.
12940             </para>
12941             </remarks>
12942             <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
12943             <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
12944         </member>
12945         <member name="M:log4net.ILog.DebugFormat(System.IFormatProvider,System.String,System.Object[])">
12946             <summary>
12947             Logs a formatted message string with the <see cref="F:log4net.Core.Level.Debug"/> level.
12948             </summary>
12949             <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
12950             <param name="format">A String containing zero or more format items</param>
12951             <param name="args">An Object array containing zero or more objects to format</param>
12952             <remarks>
12953             <para>
12954             The message is formatted using the <c>String.Format</c> method. See
12955             <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
12956             of the formatting.
12957             </para>
12958             <para>
12959             This method does not take an <see cref="T:System.Exception"/> object to include in the
12960             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Debug(System.Object,System.Exception)"/>
12961             methods instead.
12962             </para>
12963             </remarks>
12964             <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
12965             <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
12966         </member>
12967         <member name="M:log4net.ILog.Info(System.Object)">
12968             <overloads>Log a message object with the <see cref="F:log4net.Core.Level.Info"/> level.</overloads>
12969             <summary>
12970             Logs a message object with the <see cref="F:log4net.Core.Level.Info"/> level.
12971             </summary>
12972             <remarks>
12973             <para>
12974             This method first checks if this logger is <c>INFO</c>
12975             enabled by comparing the level of this logger with the 
12976             <see cref="F:log4net.Core.Level.Info"/> level. If this logger is
12977             <c>INFO</c> enabled, then it converts the message object
12978             (passed as parameter) to a string by invoking the appropriate
12979             <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
12980             proceeds to call all the registered appenders in this logger 
12981             and also higher in the hierarchy depending on the value of the 
12982             additivity flag.
12983             </para>
12984             <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> 
12985             to this method will print the name of the <see cref="T:System.Exception"/> 
12986             but no stack trace. To print a stack trace use the 
12987             <see cref="M:log4net.ILog.Info(System.Object,System.Exception)"/> form instead.
12988             </para>
12989             </remarks>
12990             <param name="message">The message object to log.</param>
12991             <seealso cref="M:log4net.ILog.Info(System.Object,System.Exception)"/>
12992             <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
12993         </member>
12994         <member name="M:log4net.ILog.Info(System.Object,System.Exception)">
12995             <summary>
12996             Logs a message object with the <c>INFO</c> level including
12997             the stack trace of the <see cref="T:System.Exception"/> passed
12998             as a parameter.
12999             </summary>
13000             <param name="message">The message object to log.</param>
13001             <param name="exception">The exception to log, including its stack trace.</param>
13002             <remarks>
13003             <para>
13004             See the <see cref="M:log4net.ILog.Info(System.Object)"/> form for more detailed information.
13005             </para>
13006             </remarks>
13007             <seealso cref="M:log4net.ILog.Info(System.Object)"/>
13008             <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
13009         </member>
13010         <member name="M:log4net.ILog.InfoFormat(System.String,System.Object[])">
13011             <overloads>Log a formatted message string with the <see cref="F:log4net.Core.Level.Info"/> level.</overloads>
13012             <summary>
13013             Logs a formatted message string with the <see cref="F:log4net.Core.Level.Info"/> level.
13014             </summary>
13015             <param name="format">A String containing zero or more format items</param>
13016             <param name="args">An Object array containing zero or more objects to format</param>
13017             <remarks>
13018             <para>
13019             The message is formatted using the <c>String.Format</c> method. See
13020             <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
13021             of the formatting.
13022             </para>
13023             <para>
13024             This method does not take an <see cref="T:System.Exception"/> object to include in the
13025             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Info(System.Object)"/>
13026             methods instead.
13027             </para>
13028             </remarks>
13029             <seealso cref="M:log4net.ILog.Info(System.Object,System.Exception)"/>
13030             <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
13031         </member>
13032         <member name="M:log4net.ILog.InfoFormat(System.String,System.Object)">
13033             <summary>
13034             Logs a formatted message string with the <see cref="F:log4net.Core.Level.Info"/> level.
13035             </summary>
13036             <param name="format">A String containing zero or more format items</param>
13037             <param name="arg0">An Object to format</param>
13038             <remarks>
13039             <para>
13040             The message is formatted using the <c>String.Format</c> method. See
13041             <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
13042             of the formatting.
13043             </para>
13044             <para>
13045             This method does not take an <see cref="T:System.Exception"/> object to include in the
13046             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Info(System.Object,System.Exception)"/>
13047             methods instead.
13048             </para>
13049             </remarks>
13050             <seealso cref="M:log4net.ILog.Info(System.Object)"/>
13051             <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
13052         </member>
13053         <member name="M:log4net.ILog.InfoFormat(System.String,System.Object,System.Object)">
13054             <summary>
13055             Logs a formatted message string with the <see cref="F:log4net.Core.Level.Info"/> level.
13056             </summary>
13057             <param name="format">A String containing zero or more format items</param>
13058             <param name="arg0">An Object to format</param>
13059             <param name="arg1">An Object to format</param>
13060             <remarks>
13061             <para>
13062             The message is formatted using the <c>String.Format</c> method. See
13063             <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
13064             of the formatting.
13065             </para>
13066             <para>
13067             This method does not take an <see cref="T:System.Exception"/> object to include in the
13068             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Info(System.Object,System.Exception)"/>
13069             methods instead.
13070             </para>
13071             </remarks>
13072             <seealso cref="M:log4net.ILog.Info(System.Object)"/>
13073             <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
13074         </member>
13075         <member name="M:log4net.ILog.InfoFormat(System.String,System.Object,System.Object,System.Object)">
13076             <summary>
13077             Logs a formatted message string with the <see cref="F:log4net.Core.Level.Info"/> level.
13078             </summary>
13079             <param name="format">A String containing zero or more format items</param>
13080             <param name="arg0">An Object to format</param>
13081             <param name="arg1">An Object to format</param>
13082             <param name="arg2">An Object to format</param>
13083             <remarks>
13084             <para>
13085             The message is formatted using the <c>String.Format</c> method. See
13086             <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
13087             of the formatting.
13088             </para>
13089             <para>
13090             This method does not take an <see cref="T:System.Exception"/> object to include in the
13091             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Info(System.Object,System.Exception)"/>
13092             methods instead.
13093             </para>
13094             </remarks>
13095             <seealso cref="M:log4net.ILog.Info(System.Object)"/>
13096             <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
13097         </member>
13098         <member name="M:log4net.ILog.InfoFormat(System.IFormatProvider,System.String,System.Object[])">
13099             <summary>
13100             Logs a formatted message string with the <see cref="F:log4net.Core.Level.Info"/> level.
13101             </summary>
13102             <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
13103             <param name="format">A String containing zero or more format items</param>
13104             <param name="args">An Object array containing zero or more objects to format</param>
13105             <remarks>
13106             <para>
13107             The message is formatted using the <c>String.Format</c> method. See
13108             <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
13109             of the formatting.
13110             </para>
13111             <para>
13112             This method does not take an <see cref="T:System.Exception"/> object to include in the
13113             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Info(System.Object)"/>
13114             methods instead.
13115             </para>
13116             </remarks>
13117             <seealso cref="M:log4net.ILog.Info(System.Object,System.Exception)"/>
13118             <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
13119         </member>
13120         <member name="M:log4net.ILog.Warn(System.Object)">
13121             <overloads>Log a message object with the <see cref="F:log4net.Core.Level.Warn"/> level.</overloads>
13122             <summary>
13123             Log a message object with the <see cref="F:log4net.Core.Level.Warn"/> level.
13124             </summary>
13125             <remarks>
13126             <para>
13127             This method first checks if this logger is <c>WARN</c>
13128             enabled by comparing the level of this logger with the 
13129             <see cref="F:log4net.Core.Level.Warn"/> level. If this logger is
13130             <c>WARN</c> enabled, then it converts the message object
13131             (passed as parameter) to a string by invoking the appropriate
13132             <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
13133             proceeds to call all the registered appenders in this logger 
13134             and also higher in the hierarchy depending on the value of the 
13135             additivity flag.
13136             </para>
13137             <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> 
13138             to this method will print the name of the <see cref="T:System.Exception"/> 
13139             but no stack trace. To print a stack trace use the 
13140             <see cref="M:log4net.ILog.Warn(System.Object,System.Exception)"/> form instead.
13141             </para>
13142             </remarks>
13143             <param name="message">The message object to log.</param>
13144             <seealso cref="M:log4net.ILog.Warn(System.Object,System.Exception)"/>
13145             <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
13146         </member>
13147         <member name="M:log4net.ILog.Warn(System.Object,System.Exception)">
13148             <summary>
13149             Log a message object with the <see cref="F:log4net.Core.Level.Warn"/> level including
13150             the stack trace of the <see cref="T:System.Exception"/> passed
13151             as a parameter.
13152             </summary>
13153             <param name="message">The message object to log.</param>
13154             <param name="exception">The exception to log, including its stack trace.</param>
13155             <remarks>
13156             <para>
13157             See the <see cref="M:log4net.ILog.Warn(System.Object)"/> form for more detailed information.
13158             </para>
13159             </remarks>
13160             <seealso cref="M:log4net.ILog.Warn(System.Object)"/>
13161             <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
13162         </member>
13163         <member name="M:log4net.ILog.WarnFormat(System.String,System.Object[])">
13164             <overloads>Log a formatted message string with the <see cref="F:log4net.Core.Level.Warn"/> level.</overloads>
13165             <summary>
13166             Logs a formatted message string with the <see cref="F:log4net.Core.Level.Warn"/> level.
13167             </summary>
13168             <param name="format">A String containing zero or more format items</param>
13169             <param name="args">An Object array containing zero or more objects to format</param>
13170             <remarks>
13171             <para>
13172             The message is formatted using the <c>String.Format</c> method. See
13173             <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
13174             of the formatting.
13175             </para>
13176             <para>
13177             This method does not take an <see cref="T:System.Exception"/> object to include in the
13178             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Warn(System.Object)"/>
13179             methods instead.
13180             </para>
13181             </remarks>
13182             <seealso cref="M:log4net.ILog.Warn(System.Object,System.Exception)"/>
13183             <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
13184         </member>
13185         <member name="M:log4net.ILog.WarnFormat(System.String,System.Object)">
13186             <summary>
13187             Logs a formatted message string with the <see cref="F:log4net.Core.Level.Warn"/> level.
13188             </summary>
13189             <param name="format">A String containing zero or more format items</param>
13190             <param name="arg0">An Object to format</param>
13191             <remarks>
13192             <para>
13193             The message is formatted using the <c>String.Format</c> method. See
13194             <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
13195             of the formatting.
13196             </para>
13197             <para>
13198             This method does not take an <see cref="T:System.Exception"/> object to include in the
13199             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Warn(System.Object,System.Exception)"/>
13200             methods instead.
13201             </para>
13202             </remarks>
13203             <seealso cref="M:log4net.ILog.Warn(System.Object)"/>
13204             <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
13205         </member>
13206         <member name="M:log4net.ILog.WarnFormat(System.String,System.Object,System.Object)">
13207             <summary>
13208             Logs a formatted message string with the <see cref="F:log4net.Core.Level.Warn"/> level.
13209             </summary>
13210             <param name="format">A String containing zero or more format items</param>
13211             <param name="arg0">An Object to format</param>
13212             <param name="arg1">An Object to format</param>
13213             <remarks>
13214             <para>
13215             The message is formatted using the <c>String.Format</c> method. See
13216             <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
13217             of the formatting.
13218             </para>
13219             <para>
13220             This method does not take an <see cref="T:System.Exception"/> object to include in the
13221             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Warn(System.Object,System.Exception)"/>
13222             methods instead.
13223             </para>
13224             </remarks>
13225             <seealso cref="M:log4net.ILog.Warn(System.Object)"/>
13226             <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
13227         </member>
13228         <member name="M:log4net.ILog.WarnFormat(System.String,System.Object,System.Object,System.Object)">
13229             <summary>
13230             Logs a formatted message string with the <see cref="F:log4net.Core.Level.Warn"/> level.
13231             </summary>
13232             <param name="format">A String containing zero or more format items</param>
13233             <param name="arg0">An Object to format</param>
13234             <param name="arg1">An Object to format</param>
13235             <param name="arg2">An Object to format</param>
13236             <remarks>
13237             <para>
13238             The message is formatted using the <c>String.Format</c> method. See
13239             <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
13240             of the formatting.
13241             </para>
13242             <para>
13243             This method does not take an <see cref="T:System.Exception"/> object to include in the
13244             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Warn(System.Object,System.Exception)"/>
13245             methods instead.
13246             </para>
13247             </remarks>
13248             <seealso cref="M:log4net.ILog.Warn(System.Object)"/>
13249             <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
13250         </member>
13251         <member name="M:log4net.ILog.WarnFormat(System.IFormatProvider,System.String,System.Object[])">
13252             <summary>
13253             Logs a formatted message string with the <see cref="F:log4net.Core.Level.Warn"/> level.
13254             </summary>
13255             <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
13256             <param name="format">A String containing zero or more format items</param>
13257             <param name="args">An Object array containing zero or more objects to format</param>
13258             <remarks>
13259             <para>
13260             The message is formatted using the <c>String.Format</c> method. See
13261             <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
13262             of the formatting.
13263             </para>
13264             <para>
13265             This method does not take an <see cref="T:System.Exception"/> object to include in the
13266             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Warn(System.Object)"/>
13267             methods instead.
13268             </para>
13269             </remarks>
13270             <seealso cref="M:log4net.ILog.Warn(System.Object,System.Exception)"/>
13271             <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
13272         </member>
13273         <member name="M:log4net.ILog.Error(System.Object)">
13274             <overloads>Log a message object with the <see cref="F:log4net.Core.Level.Error"/> level.</overloads>
13275             <summary>
13276             Logs a message object with the <see cref="F:log4net.Core.Level.Error"/> level.
13277             </summary>
13278             <param name="message">The message object to log.</param>
13279             <remarks>
13280             <para>
13281             This method first checks if this logger is <c>ERROR</c>
13282             enabled by comparing the level of this logger with the 
13283             <see cref="F:log4net.Core.Level.Error"/> level. If this logger is
13284             <c>ERROR</c> enabled, then it converts the message object
13285             (passed as parameter) to a string by invoking the appropriate
13286             <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
13287             proceeds to call all the registered appenders in this logger 
13288             and also higher in the hierarchy depending on the value of the 
13289             additivity flag.
13290             </para>
13291             <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> 
13292             to this method will print the name of the <see cref="T:System.Exception"/> 
13293             but no stack trace. To print a stack trace use the 
13294             <see cref="M:log4net.ILog.Error(System.Object,System.Exception)"/> form instead.
13295             </para>
13296             </remarks>
13297             <seealso cref="M:log4net.ILog.Error(System.Object,System.Exception)"/>
13298             <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
13299         </member>
13300         <member name="M:log4net.ILog.Error(System.Object,System.Exception)">
13301             <summary>
13302             Log a message object with the <see cref="F:log4net.Core.Level.Error"/> level including
13303             the stack trace of the <see cref="T:System.Exception"/> passed
13304             as a parameter.
13305             </summary>
13306             <param name="message">The message object to log.</param>
13307             <param name="exception">The exception to log, including its stack trace.</param>
13308             <remarks>
13309             <para>
13310             See the <see cref="M:log4net.ILog.Error(System.Object)"/> form for more detailed information.
13311             </para>
13312             </remarks>
13313             <seealso cref="M:log4net.ILog.Error(System.Object)"/>
13314             <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
13315         </member>
13316         <member name="M:log4net.ILog.ErrorFormat(System.String,System.Object[])">
13317             <overloads>Log a formatted message string with the <see cref="F:log4net.Core.Level.Error"/> level.</overloads>
13318             <summary>
13319             Logs a formatted message string with the <see cref="F:log4net.Core.Level.Error"/> level.
13320             </summary>
13321             <param name="format">A String containing zero or more format items</param>
13322             <param name="args">An Object array containing zero or more objects to format</param>
13323             <remarks>
13324             <para>
13325             The message is formatted using the <c>String.Format</c> method. See
13326             <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
13327             of the formatting.
13328             </para>
13329             <para>
13330             This method does not take an <see cref="T:System.Exception"/> object to include in the
13331             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Error(System.Object)"/>
13332             methods instead.
13333             </para>
13334             </remarks>
13335             <seealso cref="M:log4net.ILog.Error(System.Object,System.Exception)"/>
13336             <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
13337         </member>
13338         <member name="M:log4net.ILog.ErrorFormat(System.String,System.Object)">
13339             <summary>
13340             Logs a formatted message string with the <see cref="F:log4net.Core.Level.Error"/> level.
13341             </summary>
13342             <param name="format">A String containing zero or more format items</param>
13343             <param name="arg0">An Object to format</param>
13344             <remarks>
13345             <para>
13346             The message is formatted using the <c>String.Format</c> method. See
13347             <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
13348             of the formatting.
13349             </para>
13350             <para>
13351             This method does not take an <see cref="T:System.Exception"/> object to include in the
13352             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Error(System.Object,System.Exception)"/>
13353             methods instead.
13354             </para>
13355             </remarks>
13356             <seealso cref="M:log4net.ILog.Error(System.Object)"/>
13357             <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
13358         </member>
13359         <member name="M:log4net.ILog.ErrorFormat(System.String,System.Object,System.Object)">
13360             <summary>
13361             Logs a formatted message string with the <see cref="F:log4net.Core.Level.Error"/> level.
13362             </summary>
13363             <param name="format">A String containing zero or more format items</param>
13364             <param name="arg0">An Object to format</param>
13365             <param name="arg1">An Object to format</param>
13366             <remarks>
13367             <para>
13368             The message is formatted using the <c>String.Format</c> method. See
13369             <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
13370             of the formatting.
13371             </para>
13372             <para>
13373             This method does not take an <see cref="T:System.Exception"/> object to include in the
13374             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Error(System.Object,System.Exception)"/>
13375             methods instead.
13376             </para>
13377             </remarks>
13378             <seealso cref="M:log4net.ILog.Error(System.Object)"/>
13379             <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
13380         </member>
13381         <member name="M:log4net.ILog.ErrorFormat(System.String,System.Object,System.Object,System.Object)">
13382             <summary>
13383             Logs a formatted message string with the <see cref="F:log4net.Core.Level.Error"/> level.
13384             </summary>
13385             <param name="format">A String containing zero or more format items</param>
13386             <param name="arg0">An Object to format</param>
13387             <param name="arg1">An Object to format</param>
13388             <param name="arg2">An Object to format</param>
13389             <remarks>
13390             <para>
13391             The message is formatted using the <c>String.Format</c> method. See
13392             <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
13393             of the formatting.
13394             </para>
13395             <para>
13396             This method does not take an <see cref="T:System.Exception"/> object to include in the
13397             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Error(System.Object,System.Exception)"/>
13398             methods instead.
13399             </para>
13400             </remarks>
13401             <seealso cref="M:log4net.ILog.Error(System.Object)"/>
13402             <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
13403         </member>
13404         <member name="M:log4net.ILog.ErrorFormat(System.IFormatProvider,System.String,System.Object[])">
13405             <summary>
13406             Logs a formatted message string with the <see cref="F:log4net.Core.Level.Error"/> level.
13407             </summary>
13408             <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
13409             <param name="format">A String containing zero or more format items</param>
13410             <param name="args">An Object array containing zero or more objects to format</param>
13411             <remarks>
13412             <para>
13413             The message is formatted using the <c>String.Format</c> method. See
13414             <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
13415             of the formatting.
13416             </para>
13417             <para>
13418             This method does not take an <see cref="T:System.Exception"/> object to include in the
13419             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Error(System.Object)"/>
13420             methods instead.
13421             </para>
13422             </remarks>
13423             <seealso cref="M:log4net.ILog.Error(System.Object,System.Exception)"/>
13424             <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
13425         </member>
13426         <member name="M:log4net.ILog.Fatal(System.Object)">
13427             <overloads>Log a message object with the <see cref="F:log4net.Core.Level.Fatal"/> level.</overloads>
13428             <summary>
13429             Log a message object with the <see cref="F:log4net.Core.Level.Fatal"/> level.
13430             </summary>
13431             <remarks>
13432             <para>
13433             This method first checks if this logger is <c>FATAL</c>
13434             enabled by comparing the level of this logger with the 
13435             <see cref="F:log4net.Core.Level.Fatal"/> level. If this logger is
13436             <c>FATAL</c> enabled, then it converts the message object
13437             (passed as parameter) to a string by invoking the appropriate
13438             <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
13439             proceeds to call all the registered appenders in this logger 
13440             and also higher in the hierarchy depending on the value of the 
13441             additivity flag.
13442             </para>
13443             <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> 
13444             to this method will print the name of the <see cref="T:System.Exception"/> 
13445             but no stack trace. To print a stack trace use the 
13446             <see cref="M:log4net.ILog.Fatal(System.Object,System.Exception)"/> form instead.
13447             </para>
13448             </remarks>
13449             <param name="message">The message object to log.</param>
13450             <seealso cref="M:log4net.ILog.Fatal(System.Object,System.Exception)"/>
13451             <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
13452         </member>
13453         <member name="M:log4net.ILog.Fatal(System.Object,System.Exception)">
13454             <summary>
13455             Log a message object with the <see cref="F:log4net.Core.Level.Fatal"/> level including
13456             the stack trace of the <see cref="T:System.Exception"/> passed
13457             as a parameter.
13458             </summary>
13459             <param name="message">The message object to log.</param>
13460             <param name="exception">The exception to log, including its stack trace.</param>
13461             <remarks>
13462             <para>
13463             See the <see cref="M:log4net.ILog.Fatal(System.Object)"/> form for more detailed information.
13464             </para>
13465             </remarks>
13466             <seealso cref="M:log4net.ILog.Fatal(System.Object)"/>
13467             <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
13468         </member>
13469         <member name="M:log4net.ILog.FatalFormat(System.String,System.Object[])">
13470             <overloads>Log a formatted message string with the <see cref="F:log4net.Core.Level.Fatal"/> level.</overloads>
13471             <summary>
13472             Logs a formatted message string with the <see cref="F:log4net.Core.Level.Fatal"/> level.
13473             </summary>
13474             <param name="format">A String containing zero or more format items</param>
13475             <param name="args">An Object array containing zero or more objects to format</param>
13476             <remarks>
13477             <para>
13478             The message is formatted using the <c>String.Format</c> method. See
13479             <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
13480             of the formatting.
13481             </para>
13482             <para>
13483             This method does not take an <see cref="T:System.Exception"/> object to include in the
13484             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Fatal(System.Object)"/>
13485             methods instead.
13486             </para>
13487             </remarks>
13488             <seealso cref="M:log4net.ILog.Fatal(System.Object,System.Exception)"/>
13489             <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
13490         </member>
13491         <member name="M:log4net.ILog.FatalFormat(System.String,System.Object)">
13492             <summary>
13493             Logs a formatted message string with the <see cref="F:log4net.Core.Level.Fatal"/> level.
13494             </summary>
13495             <param name="format">A String containing zero or more format items</param>
13496             <param name="arg0">An Object to format</param>
13497             <remarks>
13498             <para>
13499             The message is formatted using the <c>String.Format</c> method. See
13500             <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
13501             of the formatting.
13502             </para>
13503             <para>
13504             This method does not take an <see cref="T:System.Exception"/> object to include in the
13505             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Fatal(System.Object,System.Exception)"/>
13506             methods instead.
13507             </para>
13508             </remarks>
13509             <seealso cref="M:log4net.ILog.Fatal(System.Object)"/>
13510             <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
13511         </member>
13512         <member name="M:log4net.ILog.FatalFormat(System.String,System.Object,System.Object)">
13513             <summary>
13514             Logs a formatted message string with the <see cref="F:log4net.Core.Level.Fatal"/> level.
13515             </summary>
13516             <param name="format">A String containing zero or more format items</param>
13517             <param name="arg0">An Object to format</param>
13518             <param name="arg1">An Object to format</param>
13519             <remarks>
13520             <para>
13521             The message is formatted using the <c>String.Format</c> method. See
13522             <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
13523             of the formatting.
13524             </para>
13525             <para>
13526             This method does not take an <see cref="T:System.Exception"/> object to include in the
13527             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Fatal(System.Object,System.Exception)"/>
13528             methods instead.
13529             </para>
13530             </remarks>
13531             <seealso cref="M:log4net.ILog.Fatal(System.Object)"/>
13532             <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
13533         </member>
13534         <member name="M:log4net.ILog.FatalFormat(System.String,System.Object,System.Object,System.Object)">
13535             <summary>
13536             Logs a formatted message string with the <see cref="F:log4net.Core.Level.Fatal"/> level.
13537             </summary>
13538             <param name="format">A String containing zero or more format items</param>
13539             <param name="arg0">An Object to format</param>
13540             <param name="arg1">An Object to format</param>
13541             <param name="arg2">An Object to format</param>
13542             <remarks>
13543             <para>
13544             The message is formatted using the <c>String.Format</c> method. See
13545             <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
13546             of the formatting.
13547             </para>
13548             <para>
13549             This method does not take an <see cref="T:System.Exception"/> object to include in the
13550             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Fatal(System.Object,System.Exception)"/>
13551             methods instead.
13552             </para>
13553             </remarks>
13554             <seealso cref="M:log4net.ILog.Fatal(System.Object)"/>
13555             <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
13556         </member>
13557         <member name="M:log4net.ILog.FatalFormat(System.IFormatProvider,System.String,System.Object[])">
13558             <summary>
13559             Logs a formatted message string with the <see cref="F:log4net.Core.Level.Fatal"/> level.
13560             </summary>
13561             <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
13562             <param name="format">A String containing zero or more format items</param>
13563             <param name="args">An Object array containing zero or more objects to format</param>
13564             <remarks>
13565             <para>
13566             The message is formatted using the <c>String.Format</c> method. See
13567             <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
13568             of the formatting.
13569             </para>
13570             <para>
13571             This method does not take an <see cref="T:System.Exception"/> object to include in the
13572             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.ILog.Fatal(System.Object)"/>
13573             methods instead.
13574             </para>
13575             </remarks>
13576             <seealso cref="M:log4net.ILog.Fatal(System.Object,System.Exception)"/>
13577             <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
13578         </member>
13579         <member name="P:log4net.ILog.IsDebugEnabled">
13580             <summary>
13581             Checks if this logger is enabled for the <see cref="F:log4net.Core.Level.Debug"/> level.
13582             </summary>
13583             <value>
13584             <c>true</c> if this logger is enabled for <see cref="F:log4net.Core.Level.Debug"/> events, <c>false</c> otherwise.
13585             </value>
13586             <remarks>
13587             <para>
13588             This function is intended to lessen the computational cost of
13589             disabled log debug statements.
13590             </para>
13591             <para> For some ILog interface <c>log</c>, when you write:</para>
13592             <code lang="C#">
13593             log.Debug("This is entry number: " + i );
13594             </code>
13595             <para>
13596             You incur the cost constructing the message, string construction and concatenation in
13597             this case, regardless of whether the message is logged or not.
13598             </para>
13599             <para>
13600             If you are worried about speed (who isn't), then you should write:
13601             </para>
13602             <code lang="C#">
13603             if (log.IsDebugEnabled)
13604             { 
13605                 log.Debug("This is entry number: " + i );
13606             }
13607             </code>
13608             <para>
13609             This way you will not incur the cost of parameter
13610             construction if debugging is disabled for <c>log</c>. On
13611             the other hand, if the <c>log</c> is debug enabled, you
13612             will incur the cost of evaluating whether the logger is debug
13613             enabled twice. Once in <see cref="P:log4net.ILog.IsDebugEnabled"/> and once in
13614             the <see cref="M:log4net.ILog.Debug(System.Object)"/>.  This is an insignificant overhead
13615             since evaluating a logger takes about 1% of the time it
13616             takes to actually log. This is the preferred style of logging.
13617             </para>
13618             <para>Alternatively if your logger is available statically then the is debug
13619             enabled state can be stored in a static variable like this:
13620             </para>
13621             <code lang="C#">
13622             private static readonly bool isDebugEnabled = log.IsDebugEnabled;
13623             </code>
13624             <para>
13625             Then when you come to log you can write:
13626             </para>
13627             <code lang="C#">
13628             if (isDebugEnabled)
13629             { 
13630                 log.Debug("This is entry number: " + i );
13631             }
13632             </code>
13633             <para>
13634             This way the debug enabled state is only queried once
13635             when the class is loaded. Using a <c>private static readonly</c>
13636             variable is the most efficient because it is a run time constant
13637             and can be heavily optimized by the JIT compiler.
13638             </para>
13639             <para>
13640             Of course if you use a static readonly variable to
13641             hold the enabled state of the logger then you cannot
13642             change the enabled state at runtime to vary the logging
13643             that is produced. You have to decide if you need absolute
13644             speed or runtime flexibility.
13645             </para>
13646             </remarks>
13647             <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
13648             <seealso cref="M:log4net.ILog.DebugFormat(System.IFormatProvider,System.String,System.Object[])"/>
13649         </member>
13650         <member name="P:log4net.ILog.IsInfoEnabled">
13651             <summary>
13652             Checks if this logger is enabled for the <see cref="F:log4net.Core.Level.Info"/> level.
13653             </summary>
13654             <value>
13655             <c>true</c> if this logger is enabled for <see cref="F:log4net.Core.Level.Info"/> events, <c>false</c> otherwise.
13656             </value>
13657             <remarks>
13658             For more information see <see cref="P:log4net.ILog.IsDebugEnabled"/>.
13659             </remarks>
13660             <seealso cref="M:log4net.ILog.Info(System.Object)"/>
13661             <seealso cref="M:log4net.ILog.InfoFormat(System.IFormatProvider,System.String,System.Object[])"/>
13662             <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
13663         </member>
13664         <member name="P:log4net.ILog.IsWarnEnabled">
13665             <summary>
13666             Checks if this logger is enabled for the <see cref="F:log4net.Core.Level.Warn"/> level.
13667             </summary>
13668             <value>
13669             <c>true</c> if this logger is enabled for <see cref="F:log4net.Core.Level.Warn"/> events, <c>false</c> otherwise.
13670             </value>
13671             <remarks>
13672             For more information see <see cref="P:log4net.ILog.IsDebugEnabled"/>.
13673             </remarks>
13674             <seealso cref="M:log4net.ILog.Warn(System.Object)"/>
13675             <seealso cref="M:log4net.ILog.WarnFormat(System.IFormatProvider,System.String,System.Object[])"/>
13676             <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
13677         </member>
13678         <member name="P:log4net.ILog.IsErrorEnabled">
13679             <summary>
13680             Checks if this logger is enabled for the <see cref="F:log4net.Core.Level.Error"/> level.
13681             </summary>
13682             <value>
13683             <c>true</c> if this logger is enabled for <see cref="F:log4net.Core.Level.Error"/> events, <c>false</c> otherwise.
13684             </value>
13685             <remarks>
13686             For more information see <see cref="P:log4net.ILog.IsDebugEnabled"/>.
13687             </remarks>
13688             <seealso cref="M:log4net.ILog.Error(System.Object)"/>
13689             <seealso cref="M:log4net.ILog.ErrorFormat(System.IFormatProvider,System.String,System.Object[])"/>
13690             <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
13691         </member>
13692         <member name="P:log4net.ILog.IsFatalEnabled">
13693             <summary>
13694             Checks if this logger is enabled for the <see cref="F:log4net.Core.Level.Fatal"/> level.
13695             </summary>
13696             <value>
13697             <c>true</c> if this logger is enabled for <see cref="F:log4net.Core.Level.Fatal"/> events, <c>false</c> otherwise.
13698             </value>
13699             <remarks>
13700             For more information see <see cref="P:log4net.ILog.IsDebugEnabled"/>.
13701             </remarks>
13702             <seealso cref="M:log4net.ILog.Fatal(System.Object)"/>
13703             <seealso cref="M:log4net.ILog.FatalFormat(System.IFormatProvider,System.String,System.Object[])"/>
13704             <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
13705         </member>
13706         <member name="M:log4net.Core.LogImpl.#ctor(log4net.Core.ILogger)">
13707             <summary>
13708             Construct a new wrapper for the specified logger.
13709             </summary>
13710             <param name="logger">The logger to wrap.</param>
13711             <remarks>
13712             <para>
13713             Construct a new wrapper for the specified logger.
13714             </para>
13715             </remarks>
13716         </member>
13717         <member name="M:log4net.Core.LogImpl.ReloadLevels(log4net.Repository.ILoggerRepository)">
13718             <summary>
13719             Virtual method called when the configuration of the repository changes
13720             </summary>
13721             <param name="repository">the repository holding the levels</param>
13722             <remarks>
13723             <para>
13724             Virtual method called when the configuration of the repository changes
13725             </para>
13726             </remarks>
13727         </member>
13728         <member name="M:log4net.Core.LogImpl.Debug(System.Object)">
13729             <summary>
13730             Logs a message object with the <c>DEBUG</c> level.
13731             </summary>
13732             <param name="message">The message object to log.</param>
13733             <remarks>
13734             <para>
13735             This method first checks if this logger is <c>DEBUG</c>
13736             enabled by comparing the level of this logger with the 
13737             <c>DEBUG</c> level. If this logger is
13738             <c>DEBUG</c> enabled, then it converts the message object
13739             (passed as parameter) to a string by invoking the appropriate
13740             <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
13741             proceeds to call all the registered appenders in this logger 
13742             and also higher in the hierarchy depending on the value of the 
13743             additivity flag.
13744             </para>
13745             <para>
13746             <b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> 
13747             to this method will print the name of the <see cref="T:System.Exception"/> 
13748             but no stack trace. To print a stack trace use the 
13749             <see cref="M:log4net.Core.LogImpl.Debug(System.Object,System.Exception)"/> form instead.
13750             </para>
13751             </remarks>
13752         </member>
13753         <member name="M:log4net.Core.LogImpl.Debug(System.Object,System.Exception)">
13754             <summary>
13755             Logs a message object with the <c>DEBUG</c> level
13756             </summary>
13757             <param name="message">The message object to log.</param>
13758             <param name="exception">The exception to log, including its stack trace.</param>
13759             <remarks>
13760             <para>
13761             Logs a message object with the <c>DEBUG</c> level including
13762             the stack trace of the <see cref="T:System.Exception"/> <paramref name="exception"/> passed
13763             as a parameter.
13764             </para>
13765             <para>
13766             See the <see cref="M:log4net.Core.LogImpl.Debug(System.Object)"/> form for more detailed information.
13767             </para>
13768             </remarks>
13769             <seealso cref="M:log4net.Core.LogImpl.Debug(System.Object)"/>
13770         </member>
13771         <member name="M:log4net.Core.LogImpl.DebugFormat(System.String,System.Object[])">
13772             <summary>
13773             Logs a formatted message string with the <c>DEBUG</c> level.
13774             </summary>
13775             <param name="format">A String containing zero or more format items</param>
13776             <param name="args">An Object array containing zero or more objects to format</param>
13777             <remarks>
13778             <para>
13779             The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
13780             <c>String.Format</c> for details of the syntax of the format string and the behavior
13781             of the formatting.
13782             </para>
13783             <para>
13784             The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
13785             format provider. To specify a localized provider use the
13786             <see cref="M:log4net.Core.LogImpl.DebugFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
13787             </para>
13788             <para>
13789             This method does not take an <see cref="T:System.Exception"/> object to include in the
13790             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Debug(System.Object)"/>
13791             methods instead.
13792             </para>
13793             </remarks>
13794         </member>
13795         <member name="M:log4net.Core.LogImpl.DebugFormat(System.String,System.Object)">
13796             <summary>
13797             Logs a formatted message string with the <c>DEBUG</c> level.
13798             </summary>
13799             <param name="format">A String containing zero or more format items</param>
13800             <param name="arg0">An Object to format</param>
13801             <remarks>
13802             <para>
13803             The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
13804             <c>String.Format</c> for details of the syntax of the format string and the behavior
13805             of the formatting.
13806             </para>
13807             <para>
13808             The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
13809             format provider. To specify a localized provider use the
13810             <see cref="M:log4net.Core.LogImpl.DebugFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
13811             </para>
13812             <para>
13813             This method does not take an <see cref="T:System.Exception"/> object to include in the
13814             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Debug(System.Object)"/>
13815             methods instead.
13816             </para>
13817             </remarks>
13818         </member>
13819         <member name="M:log4net.Core.LogImpl.DebugFormat(System.String,System.Object,System.Object)">
13820             <summary>
13821             Logs a formatted message string with the <c>DEBUG</c> level.
13822             </summary>
13823             <param name="format">A String containing zero or more format items</param>
13824             <param name="arg0">An Object to format</param>
13825             <param name="arg1">An Object to format</param>
13826             <remarks>
13827             <para>
13828             The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
13829             <c>String.Format</c> for details of the syntax of the format string and the behavior
13830             of the formatting.
13831             </para>
13832             <para>
13833             The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
13834             format provider. To specify a localized provider use the
13835             <see cref="M:log4net.Core.LogImpl.DebugFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
13836             </para>
13837             <para>
13838             This method does not take an <see cref="T:System.Exception"/> object to include in the
13839             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Debug(System.Object)"/>
13840             methods instead.
13841             </para>
13842             </remarks>
13843         </member>
13844         <member name="M:log4net.Core.LogImpl.DebugFormat(System.String,System.Object,System.Object,System.Object)">
13845             <summary>
13846             Logs a formatted message string with the <c>DEBUG</c> level.
13847             </summary>
13848             <param name="format">A String containing zero or more format items</param>
13849             <param name="arg0">An Object to format</param>
13850             <param name="arg1">An Object to format</param>
13851             <param name="arg2">An Object to format</param>
13852             <remarks>
13853             <para>
13854             The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
13855             <c>String.Format</c> for details of the syntax of the format string and the behavior
13856             of the formatting.
13857             </para>
13858             <para>
13859             The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
13860             format provider. To specify a localized provider use the
13861             <see cref="M:log4net.Core.LogImpl.DebugFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
13862             </para>
13863             <para>
13864             This method does not take an <see cref="T:System.Exception"/> object to include in the
13865             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Debug(System.Object)"/>
13866             methods instead.
13867             </para>
13868             </remarks>
13869         </member>
13870         <member name="M:log4net.Core.LogImpl.DebugFormat(System.IFormatProvider,System.String,System.Object[])">
13871             <summary>
13872             Logs a formatted message string with the <c>DEBUG</c> level.
13873             </summary>
13874             <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
13875             <param name="format">A String containing zero or more format items</param>
13876             <param name="args">An Object array containing zero or more objects to format</param>
13877             <remarks>
13878             <para>
13879             The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
13880             <c>String.Format</c> for details of the syntax of the format string and the behavior
13881             of the formatting.
13882             </para>
13883             <para>
13884             This method does not take an <see cref="T:System.Exception"/> object to include in the
13885             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Debug(System.Object)"/>
13886             methods instead.
13887             </para>
13888             </remarks>
13889         </member>
13890         <member name="M:log4net.Core.LogImpl.Info(System.Object)">
13891             <summary>
13892             Logs a message object with the <c>INFO</c> level.
13893             </summary>
13894             <param name="message">The message object to log.</param>
13895             <remarks>
13896             <para>
13897             This method first checks if this logger is <c>INFO</c>
13898             enabled by comparing the level of this logger with the 
13899             <c>INFO</c> level. If this logger is
13900             <c>INFO</c> enabled, then it converts the message object
13901             (passed as parameter) to a string by invoking the appropriate
13902             <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
13903             proceeds to call all the registered appenders in this logger 
13904             and also higher in the hierarchy depending on the value of 
13905             the additivity flag.
13906             </para>
13907             <para>
13908             <b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> 
13909             to this method will print the name of the <see cref="T:System.Exception"/> 
13910             but no stack trace. To print a stack trace use the 
13911             <see cref="M:log4net.Core.LogImpl.Info(System.Object,System.Exception)"/> form instead.
13912             </para>
13913             </remarks>
13914         </member>
13915         <member name="M:log4net.Core.LogImpl.Info(System.Object,System.Exception)">
13916             <summary>
13917             Logs a message object with the <c>INFO</c> level.
13918             </summary>
13919             <param name="message">The message object to log.</param>
13920             <param name="exception">The exception to log, including its stack trace.</param>
13921             <remarks>
13922             <para>
13923             Logs a message object with the <c>INFO</c> level including
13924             the stack trace of the <see cref="T:System.Exception"/> <paramref name="exception"/> 
13925             passed as a parameter.
13926             </para>
13927             <para>
13928             See the <see cref="M:log4net.Core.LogImpl.Info(System.Object)"/> form for more detailed information.
13929             </para>
13930             </remarks>
13931             <seealso cref="M:log4net.Core.LogImpl.Info(System.Object)"/>
13932         </member>
13933         <member name="M:log4net.Core.LogImpl.InfoFormat(System.String,System.Object[])">
13934             <summary>
13935             Logs a formatted message string with the <c>INFO</c> level.
13936             </summary>
13937             <param name="format">A String containing zero or more format items</param>
13938             <param name="args">An Object array containing zero or more objects to format</param>
13939             <remarks>
13940             <para>
13941             The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
13942             <c>String.Format</c> for details of the syntax of the format string and the behavior
13943             of the formatting.
13944             </para>
13945             <para>
13946             The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
13947             format provider. To specify a localized provider use the
13948             <see cref="M:log4net.Core.LogImpl.InfoFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
13949             </para>
13950             <para>
13951             This method does not take an <see cref="T:System.Exception"/> object to include in the
13952             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Info(System.Object)"/>
13953             methods instead.
13954             </para>
13955             </remarks>
13956         </member>
13957         <member name="M:log4net.Core.LogImpl.InfoFormat(System.String,System.Object)">
13958             <summary>
13959             Logs a formatted message string with the <c>INFO</c> level.
13960             </summary>
13961             <param name="format">A String containing zero or more format items</param>
13962             <param name="arg0">An Object to format</param>
13963             <remarks>
13964             <para>
13965             The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
13966             <c>String.Format</c> for details of the syntax of the format string and the behavior
13967             of the formatting.
13968             </para>
13969             <para>
13970             The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
13971             format provider. To specify a localized provider use the
13972             <see cref="M:log4net.Core.LogImpl.InfoFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
13973             </para>
13974             <para>
13975             This method does not take an <see cref="T:System.Exception"/> object to include in the
13976             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Info(System.Object)"/>
13977             methods instead.
13978             </para>
13979             </remarks>
13980         </member>
13981         <member name="M:log4net.Core.LogImpl.InfoFormat(System.String,System.Object,System.Object)">
13982             <summary>
13983             Logs a formatted message string with the <c>INFO</c> level.
13984             </summary>
13985             <param name="format">A String containing zero or more format items</param>
13986             <param name="arg0">An Object to format</param>
13987             <param name="arg1">An Object to format</param>
13988             <remarks>
13989             <para>
13990             The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
13991             <c>String.Format</c> for details of the syntax of the format string and the behavior
13992             of the formatting.
13993             </para>
13994             <para>
13995             The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
13996             format provider. To specify a localized provider use the
13997             <see cref="M:log4net.Core.LogImpl.InfoFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
13998             </para>
13999             <para>
14000             This method does not take an <see cref="T:System.Exception"/> object to include in the
14001             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Info(System.Object)"/>
14002             methods instead.
14003             </para>
14004             </remarks>
14005         </member>
14006         <member name="M:log4net.Core.LogImpl.InfoFormat(System.String,System.Object,System.Object,System.Object)">
14007             <summary>
14008             Logs a formatted message string with the <c>INFO</c> level.
14009             </summary>
14010             <param name="format">A String containing zero or more format items</param>
14011             <param name="arg0">An Object to format</param>
14012             <param name="arg1">An Object to format</param>
14013             <param name="arg2">An Object to format</param>
14014             <remarks>
14015             <para>
14016             The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
14017             <c>String.Format</c> for details of the syntax of the format string and the behavior
14018             of the formatting.
14019             </para>
14020             <para>
14021             The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
14022             format provider. To specify a localized provider use the
14023             <see cref="M:log4net.Core.LogImpl.InfoFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
14024             </para>
14025             <para>
14026             This method does not take an <see cref="T:System.Exception"/> object to include in the
14027             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Info(System.Object)"/>
14028             methods instead.
14029             </para>
14030             </remarks>
14031         </member>
14032         <member name="M:log4net.Core.LogImpl.InfoFormat(System.IFormatProvider,System.String,System.Object[])">
14033             <summary>
14034             Logs a formatted message string with the <c>INFO</c> level.
14035             </summary>
14036             <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
14037             <param name="format">A String containing zero or more format items</param>
14038             <param name="args">An Object array containing zero or more objects to format</param>
14039             <remarks>
14040             <para>
14041             The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
14042             <c>String.Format</c> for details of the syntax of the format string and the behavior
14043             of the formatting.
14044             </para>
14045             <para>
14046             This method does not take an <see cref="T:System.Exception"/> object to include in the
14047             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Info(System.Object)"/>
14048             methods instead.
14049             </para>
14050             </remarks>
14051         </member>
14052         <member name="M:log4net.Core.LogImpl.Warn(System.Object)">
14053             <summary>
14054             Logs a message object with the <c>WARN</c> level.
14055             </summary>
14056             <param name="message">the message object to log</param>
14057             <remarks>
14058             <para>
14059             This method first checks if this logger is <c>WARN</c>
14060             enabled by comparing the level of this logger with the 
14061             <c>WARN</c> level. If this logger is
14062             <c>WARN</c> enabled, then it converts the message object
14063             (passed as parameter) to a string by invoking the appropriate
14064             <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
14065             proceeds to call all the registered appenders in this logger and 
14066             also higher in the hierarchy depending on the value of the 
14067             additivity flag.
14068             </para>
14069             <para>
14070             <b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> to this
14071             method will print the name of the <see cref="T:System.Exception"/> but no
14072             stack trace. To print a stack trace use the 
14073             <see cref="M:log4net.Core.LogImpl.Warn(System.Object,System.Exception)"/> form instead.
14074             </para>
14075             </remarks>
14076         </member>
14077         <member name="M:log4net.Core.LogImpl.Warn(System.Object,System.Exception)">
14078             <summary>
14079             Logs a message object with the <c>WARN</c> level
14080             </summary>
14081             <param name="message">The message object to log.</param>
14082             <param name="exception">The exception to log, including its stack trace.</param>
14083             <remarks>
14084             <para>
14085             Logs a message object with the <c>WARN</c> level including
14086             the stack trace of the <see cref="T:System.Exception"/> <paramref name="exception"/> 
14087             passed as a parameter.
14088             </para>
14089             <para>
14090             See the <see cref="M:log4net.Core.LogImpl.Warn(System.Object)"/> form for more detailed information.
14091             </para>
14092             </remarks>
14093             <seealso cref="M:log4net.Core.LogImpl.Warn(System.Object)"/>
14094         </member>
14095         <member name="M:log4net.Core.LogImpl.WarnFormat(System.String,System.Object[])">
14096             <summary>
14097             Logs a formatted message string with the <c>WARN</c> level.
14098             </summary>
14099             <param name="format">A String containing zero or more format items</param>
14100             <param name="args">An Object array containing zero or more objects to format</param>
14101             <remarks>
14102             <para>
14103             The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
14104             <c>String.Format</c> for details of the syntax of the format string and the behavior
14105             of the formatting.
14106             </para>
14107             <para>
14108             The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
14109             format provider. To specify a localized provider use the
14110             <see cref="M:log4net.Core.LogImpl.WarnFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
14111             </para>
14112             <para>
14113             This method does not take an <see cref="T:System.Exception"/> object to include in the
14114             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Warn(System.Object)"/>
14115             methods instead.
14116             </para>
14117             </remarks>
14118         </member>
14119         <member name="M:log4net.Core.LogImpl.WarnFormat(System.String,System.Object)">
14120             <summary>
14121             Logs a formatted message string with the <c>WARN</c> level.
14122             </summary>
14123             <param name="format">A String containing zero or more format items</param>
14124             <param name="arg0">An Object to format</param>
14125             <remarks>
14126             <para>
14127             The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
14128             <c>String.Format</c> for details of the syntax of the format string and the behavior
14129             of the formatting.
14130             </para>
14131             <para>
14132             The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
14133             format provider. To specify a localized provider use the
14134             <see cref="M:log4net.Core.LogImpl.WarnFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
14135             </para>
14136             <para>
14137             This method does not take an <see cref="T:System.Exception"/> object to include in the
14138             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Warn(System.Object)"/>
14139             methods instead.
14140             </para>
14141             </remarks>
14142         </member>
14143         <member name="M:log4net.Core.LogImpl.WarnFormat(System.String,System.Object,System.Object)">
14144             <summary>
14145             Logs a formatted message string with the <c>WARN</c> level.
14146             </summary>
14147             <param name="format">A String containing zero or more format items</param>
14148             <param name="arg0">An Object to format</param>
14149             <param name="arg1">An Object to format</param>
14150             <remarks>
14151             <para>
14152             The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
14153             <c>String.Format</c> for details of the syntax of the format string and the behavior
14154             of the formatting.
14155             </para>
14156             <para>
14157             The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
14158             format provider. To specify a localized provider use the
14159             <see cref="M:log4net.Core.LogImpl.WarnFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
14160             </para>
14161             <para>
14162             This method does not take an <see cref="T:System.Exception"/> object to include in the
14163             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Warn(System.Object)"/>
14164             methods instead.
14165             </para>
14166             </remarks>
14167         </member>
14168         <member name="M:log4net.Core.LogImpl.WarnFormat(System.String,System.Object,System.Object,System.Object)">
14169             <summary>
14170             Logs a formatted message string with the <c>WARN</c> level.
14171             </summary>
14172             <param name="format">A String containing zero or more format items</param>
14173             <param name="arg0">An Object to format</param>
14174             <param name="arg1">An Object to format</param>
14175             <param name="arg2">An Object to format</param>
14176             <remarks>
14177             <para>
14178             The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
14179             <c>String.Format</c> for details of the syntax of the format string and the behavior
14180             of the formatting.
14181             </para>
14182             <para>
14183             The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
14184             format provider. To specify a localized provider use the
14185             <see cref="M:log4net.Core.LogImpl.WarnFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
14186             </para>
14187             <para>
14188             This method does not take an <see cref="T:System.Exception"/> object to include in the
14189             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Warn(System.Object)"/>
14190             methods instead.
14191             </para>
14192             </remarks>
14193         </member>
14194         <member name="M:log4net.Core.LogImpl.WarnFormat(System.IFormatProvider,System.String,System.Object[])">
14195             <summary>
14196             Logs a formatted message string with the <c>WARN</c> level.
14197             </summary>
14198             <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
14199             <param name="format">A String containing zero or more format items</param>
14200             <param name="args">An Object array containing zero or more objects to format</param>
14201             <remarks>
14202             <para>
14203             The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
14204             <c>String.Format</c> for details of the syntax of the format string and the behavior
14205             of the formatting.
14206             </para>
14207             <para>
14208             This method does not take an <see cref="T:System.Exception"/> object to include in the
14209             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Warn(System.Object)"/>
14210             methods instead.
14211             </para>
14212             </remarks>
14213         </member>
14214         <member name="M:log4net.Core.LogImpl.Error(System.Object)">
14215             <summary>
14216             Logs a message object with the <c>ERROR</c> level.
14217             </summary>
14218             <param name="message">The message object to log.</param>
14219             <remarks>
14220             <para>
14221             This method first checks if this logger is <c>ERROR</c>
14222             enabled by comparing the level of this logger with the 
14223             <c>ERROR</c> level. If this logger is
14224             <c>ERROR</c> enabled, then it converts the message object
14225             (passed as parameter) to a string by invoking the appropriate
14226             <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
14227             proceeds to call all the registered appenders in this logger and 
14228             also higher in the hierarchy depending on the value of the 
14229             additivity flag.
14230             </para>
14231             <para>
14232             <b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> to this
14233             method will print the name of the <see cref="T:System.Exception"/> but no
14234             stack trace. To print a stack trace use the 
14235             <see cref="M:log4net.Core.LogImpl.Error(System.Object,System.Exception)"/> form instead.
14236             </para>
14237             </remarks>
14238         </member>
14239         <member name="M:log4net.Core.LogImpl.Error(System.Object,System.Exception)">
14240             <summary>
14241             Logs a message object with the <c>ERROR</c> level
14242             </summary>
14243             <param name="message">The message object to log.</param>
14244             <param name="exception">The exception to log, including its stack trace.</param>
14245             <remarks>
14246             <para>
14247             Logs a message object with the <c>ERROR</c> level including
14248             the stack trace of the <see cref="T:System.Exception"/> <paramref name="exception"/> 
14249             passed as a parameter.
14250             </para>
14251             <para>
14252             See the <see cref="M:log4net.Core.LogImpl.Error(System.Object)"/> form for more detailed information.
14253             </para>
14254             </remarks>
14255             <seealso cref="M:log4net.Core.LogImpl.Error(System.Object)"/>
14256         </member>
14257         <member name="M:log4net.Core.LogImpl.ErrorFormat(System.String,System.Object[])">
14258             <summary>
14259             Logs a formatted message string with the <c>ERROR</c> level.
14260             </summary>
14261             <param name="format">A String containing zero or more format items</param>
14262             <param name="args">An Object array containing zero or more objects to format</param>
14263             <remarks>
14264             <para>
14265             The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
14266             <c>String.Format</c> for details of the syntax of the format string and the behavior
14267             of the formatting.
14268             </para>
14269             <para>
14270             The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
14271             format provider. To specify a localized provider use the
14272             <see cref="M:log4net.Core.LogImpl.ErrorFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
14273             </para>
14274             <para>
14275             This method does not take an <see cref="T:System.Exception"/> object to include in the
14276             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Error(System.Object)"/>
14277             methods instead.
14278             </para>
14279             </remarks>
14280         </member>
14281         <member name="M:log4net.Core.LogImpl.ErrorFormat(System.String,System.Object)">
14282             <summary>
14283             Logs a formatted message string with the <c>ERROR</c> level.
14284             </summary>
14285             <param name="format">A String containing zero or more format items</param>
14286             <param name="arg0">An Object to format</param>
14287             <remarks>
14288             <para>
14289             The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
14290             <c>String.Format</c> for details of the syntax of the format string and the behavior
14291             of the formatting.
14292             </para>
14293             <para>
14294             The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
14295             format provider. To specify a localized provider use the
14296             <see cref="M:log4net.Core.LogImpl.ErrorFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
14297             </para>
14298             <para>
14299             This method does not take an <see cref="T:System.Exception"/> object to include in the
14300             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Error(System.Object)"/>
14301             methods instead.
14302             </para>
14303             </remarks>
14304         </member>
14305         <member name="M:log4net.Core.LogImpl.ErrorFormat(System.String,System.Object,System.Object)">
14306             <summary>
14307             Logs a formatted message string with the <c>ERROR</c> level.
14308             </summary>
14309             <param name="format">A String containing zero or more format items</param>
14310             <param name="arg0">An Object to format</param>
14311             <param name="arg1">An Object to format</param>
14312             <remarks>
14313             <para>
14314             The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
14315             <c>String.Format</c> for details of the syntax of the format string and the behavior
14316             of the formatting.
14317             </para>
14318             <para>
14319             The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
14320             format provider. To specify a localized provider use the
14321             <see cref="M:log4net.Core.LogImpl.ErrorFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
14322             </para>
14323             <para>
14324             This method does not take an <see cref="T:System.Exception"/> object to include in the
14325             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Error(System.Object)"/>
14326             methods instead.
14327             </para>
14328             </remarks>
14329         </member>
14330         <member name="M:log4net.Core.LogImpl.ErrorFormat(System.String,System.Object,System.Object,System.Object)">
14331             <summary>
14332             Logs a formatted message string with the <c>ERROR</c> level.
14333             </summary>
14334             <param name="format">A String containing zero or more format items</param>
14335             <param name="arg0">An Object to format</param>
14336             <param name="arg1">An Object to format</param>
14337             <param name="arg2">An Object to format</param>
14338             <remarks>
14339             <para>
14340             The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
14341             <c>String.Format</c> for details of the syntax of the format string and the behavior
14342             of the formatting.
14343             </para>
14344             <para>
14345             The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
14346             format provider. To specify a localized provider use the
14347             <see cref="M:log4net.Core.LogImpl.ErrorFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
14348             </para>
14349             <para>
14350             This method does not take an <see cref="T:System.Exception"/> object to include in the
14351             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Error(System.Object)"/>
14352             methods instead.
14353             </para>
14354             </remarks>
14355         </member>
14356         <member name="M:log4net.Core.LogImpl.ErrorFormat(System.IFormatProvider,System.String,System.Object[])">
14357             <summary>
14358             Logs a formatted message string with the <c>ERROR</c> level.
14359             </summary>
14360             <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
14361             <param name="format">A String containing zero or more format items</param>
14362             <param name="args">An Object array containing zero or more objects to format</param>
14363             <remarks>
14364             <para>
14365             The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
14366             <c>String.Format</c> for details of the syntax of the format string and the behavior
14367             of the formatting.
14368             </para>
14369             <para>
14370             This method does not take an <see cref="T:System.Exception"/> object to include in the
14371             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Error(System.Object)"/>
14372             methods instead.
14373             </para>
14374             </remarks>
14375         </member>
14376         <member name="M:log4net.Core.LogImpl.Fatal(System.Object)">
14377             <summary>
14378             Logs a message object with the <c>FATAL</c> level.
14379             </summary>
14380             <param name="message">The message object to log.</param>
14381             <remarks>
14382             <para>
14383             This method first checks if this logger is <c>FATAL</c>
14384             enabled by comparing the level of this logger with the 
14385             <c>FATAL</c> level. If this logger is
14386             <c>FATAL</c> enabled, then it converts the message object
14387             (passed as parameter) to a string by invoking the appropriate
14388             <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then 
14389             proceeds to call all the registered appenders in this logger and 
14390             also higher in the hierarchy depending on the value of the 
14391             additivity flag.
14392             </para>
14393             <para>
14394             <b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> to this
14395             method will print the name of the <see cref="T:System.Exception"/> but no
14396             stack trace. To print a stack trace use the 
14397             <see cref="M:log4net.Core.LogImpl.Fatal(System.Object,System.Exception)"/> form instead.
14398             </para>
14399             </remarks>
14400         </member>
14401         <member name="M:log4net.Core.LogImpl.Fatal(System.Object,System.Exception)">
14402             <summary>
14403             Logs a message object with the <c>FATAL</c> level
14404             </summary>
14405             <param name="message">The message object to log.</param>
14406             <param name="exception">The exception to log, including its stack trace.</param>
14407             <remarks>
14408             <para>
14409             Logs a message object with the <c>FATAL</c> level including
14410             the stack trace of the <see cref="T:System.Exception"/> <paramref name="exception"/> 
14411             passed as a parameter.
14412             </para>
14413             <para>
14414             See the <see cref="M:log4net.Core.LogImpl.Fatal(System.Object)"/> form for more detailed information.
14415             </para>
14416             </remarks>
14417             <seealso cref="M:log4net.Core.LogImpl.Fatal(System.Object)"/>
14418         </member>
14419         <member name="M:log4net.Core.LogImpl.FatalFormat(System.String,System.Object[])">
14420             <summary>
14421             Logs a formatted message string with the <c>FATAL</c> level.
14422             </summary>
14423             <param name="format">A String containing zero or more format items</param>
14424             <param name="args">An Object array containing zero or more objects to format</param>
14425             <remarks>
14426             <para>
14427             The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
14428             <c>String.Format</c> for details of the syntax of the format string and the behavior
14429             of the formatting.
14430             </para>
14431             <para>
14432             The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
14433             format provider. To specify a localized provider use the
14434             <see cref="M:log4net.Core.LogImpl.FatalFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
14435             </para>
14436             <para>
14437             This method does not take an <see cref="T:System.Exception"/> object to include in the
14438             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Fatal(System.Object)"/>
14439             methods instead.
14440             </para>
14441             </remarks>
14442         </member>
14443         <member name="M:log4net.Core.LogImpl.FatalFormat(System.String,System.Object)">
14444             <summary>
14445             Logs a formatted message string with the <c>FATAL</c> level.
14446             </summary>
14447             <param name="format">A String containing zero or more format items</param>
14448             <param name="arg0">An Object to format</param>
14449             <remarks>
14450             <para>
14451             The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
14452             <c>String.Format</c> for details of the syntax of the format string and the behavior
14453             of the formatting.
14454             </para>
14455             <para>
14456             The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
14457             format provider. To specify a localized provider use the
14458             <see cref="M:log4net.Core.LogImpl.FatalFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
14459             </para>
14460             <para>
14461             This method does not take an <see cref="T:System.Exception"/> object to include in the
14462             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Fatal(System.Object)"/>
14463             methods instead.
14464             </para>
14465             </remarks>
14466         </member>
14467         <member name="M:log4net.Core.LogImpl.FatalFormat(System.String,System.Object,System.Object)">
14468             <summary>
14469             Logs a formatted message string with the <c>FATAL</c> level.
14470             </summary>
14471             <param name="format">A String containing zero or more format items</param>
14472             <param name="arg0">An Object to format</param>
14473             <param name="arg1">An Object to format</param>
14474             <remarks>
14475             <para>
14476             The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
14477             <c>String.Format</c> for details of the syntax of the format string and the behavior
14478             of the formatting.
14479             </para>
14480             <para>
14481             The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
14482             format provider. To specify a localized provider use the
14483             <see cref="M:log4net.Core.LogImpl.FatalFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
14484             </para>
14485             <para>
14486             This method does not take an <see cref="T:System.Exception"/> object to include in the
14487             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Fatal(System.Object)"/>
14488             methods instead.
14489             </para>
14490             </remarks>
14491         </member>
14492         <member name="M:log4net.Core.LogImpl.FatalFormat(System.String,System.Object,System.Object,System.Object)">
14493             <summary>
14494             Logs a formatted message string with the <c>FATAL</c> level.
14495             </summary>
14496             <param name="format">A String containing zero or more format items</param>
14497             <param name="arg0">An Object to format</param>
14498             <param name="arg1">An Object to format</param>
14499             <param name="arg2">An Object to format</param>
14500             <remarks>
14501             <para>
14502             The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
14503             <c>String.Format</c> for details of the syntax of the format string and the behavior
14504             of the formatting.
14505             </para>
14506             <para>
14507             The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
14508             format provider. To specify a localized provider use the
14509             <see cref="M:log4net.Core.LogImpl.FatalFormat(System.IFormatProvider,System.String,System.Object[])"/> method.
14510             </para>
14511             <para>
14512             This method does not take an <see cref="T:System.Exception"/> object to include in the
14513             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Fatal(System.Object)"/>
14514             methods instead.
14515             </para>
14516             </remarks>
14517         </member>
14518         <member name="M:log4net.Core.LogImpl.FatalFormat(System.IFormatProvider,System.String,System.Object[])">
14519             <summary>
14520             Logs a formatted message string with the <c>FATAL</c> level.
14521             </summary>
14522             <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
14523             <param name="format">A String containing zero or more format items</param>
14524             <param name="args">An Object array containing zero or more objects to format</param>
14525             <remarks>
14526             <para>
14527             The message is formatted using the <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/> method. See
14528             <c>String.Format</c> for details of the syntax of the format string and the behavior
14529             of the formatting.
14530             </para>
14531             <para>
14532             This method does not take an <see cref="T:System.Exception"/> object to include in the
14533             log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Core.LogImpl.Fatal(System.Object)"/>
14534             methods instead.
14535             </para>
14536             </remarks>
14537         </member>
14538         <member name="M:log4net.Core.LogImpl.LoggerRepositoryConfigurationChanged(System.Object,System.EventArgs)">
14539             <summary>
14540             Event handler for the <see cref="E:log4net.Repository.ILoggerRepository.ConfigurationChanged"/> event
14541             </summary>
14542             <param name="sender">the repository</param>
14543             <param name="e">Empty</param>
14544         </member>
14545         <member name="F:log4net.Core.LogImpl.ThisDeclaringType">
14546             <summary>
14547             The fully qualified name of this declaring type not the type of any subclass.
14548             </summary>
14549         </member>
14550         <member name="P:log4net.Core.LogImpl.IsDebugEnabled">
14551             <summary>
14552             Checks if this logger is enabled for the <c>DEBUG</c>
14553             level.
14554             </summary>
14555             <value>
14556             <c>true</c> if this logger is enabled for <c>DEBUG</c> events,
14557             <c>false</c> otherwise.
14558             </value>
14559             <remarks>
14560             <para>
14561             This function is intended to lessen the computational cost of
14562             disabled log debug statements.
14563             </para>
14564             <para>
14565             For some <c>log</c> Logger object, when you write:
14566             </para>
14567             <code lang="C#">
14568             log.Debug("This is entry number: " + i );
14569             </code>
14570             <para>
14571             You incur the cost constructing the message, concatenation in
14572             this case, regardless of whether the message is logged or not.
14573             </para>
14574             <para>
14575             If you are worried about speed, then you should write:
14576             </para>
14577             <code lang="C#">
14578             if (log.IsDebugEnabled())
14579             { 
14580              log.Debug("This is entry number: " + i );
14581             }
14582             </code>
14583             <para>
14584             This way you will not incur the cost of parameter
14585             construction if debugging is disabled for <c>log</c>. On
14586             the other hand, if the <c>log</c> is debug enabled, you
14587             will incur the cost of evaluating whether the logger is debug
14588             enabled twice. Once in <c>IsDebugEnabled</c> and once in
14589             the <c>Debug</c>.  This is an insignificant overhead
14590             since evaluating a logger takes about 1% of the time it
14591             takes to actually log.
14592             </para>
14593             </remarks>
14594         </member>
14595         <member name="P:log4net.Core.LogImpl.IsInfoEnabled">
14596             <summary>
14597             Checks if this logger is enabled for the <c>INFO</c> level.
14598             </summary>
14599             <value>
14600             <c>true</c> if this logger is enabled for <c>INFO</c> events,
14601             <c>false</c> otherwise.
14602             </value>
14603             <remarks>
14604             <para>
14605             See <see cref="P:log4net.Core.LogImpl.IsDebugEnabled"/> for more information and examples 
14606             of using this method.
14607             </para>
14608             </remarks>
14609             <seealso cref="P:log4net.Core.LogImpl.IsDebugEnabled"/>
14610         </member>
14611         <member name="P:log4net.Core.LogImpl.IsWarnEnabled">
14612             <summary>
14613             Checks if this logger is enabled for the <c>WARN</c> level.
14614             </summary>
14615             <value>
14616             <c>true</c> if this logger is enabled for <c>WARN</c> events,
14617             <c>false</c> otherwise.
14618             </value>
14619             <remarks>
14620             <para>
14621             See <see cref="P:log4net.Core.LogImpl.IsDebugEnabled"/> for more information and examples 
14622             of using this method.
14623             </para>
14624             </remarks>
14625             <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
14626         </member>
14627         <member name="P:log4net.Core.LogImpl.IsErrorEnabled">
14628             <summary>
14629             Checks if this logger is enabled for the <c>ERROR</c> level.
14630             </summary>
14631             <value>
14632             <c>true</c> if this logger is enabled for <c>ERROR</c> events,
14633             <c>false</c> otherwise.
14634             </value>
14635             <remarks>
14636             <para>
14637             See <see cref="P:log4net.Core.LogImpl.IsDebugEnabled"/> for more information and examples of using this method.
14638             </para>
14639             </remarks>
14640             <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
14641         </member>
14642         <member name="P:log4net.Core.LogImpl.IsFatalEnabled">
14643             <summary>
14644             Checks if this logger is enabled for the <c>FATAL</c> level.
14645             </summary>
14646             <value>
14647             <c>true</c> if this logger is enabled for <c>FATAL</c> events,
14648             <c>false</c> otherwise.
14649             </value>
14650             <remarks>
14651             <para>
14652             See <see cref="P:log4net.Core.LogImpl.IsDebugEnabled"/> for more information and examples of using this method.
14653             </para>
14654             </remarks>
14655             <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
14656         </member>
14657         <member name="T:log4net.Core.SecurityContext">
14658             <summary>
14659             A SecurityContext used by log4net when interacting with protected resources
14660             </summary>
14661             <remarks>
14662             <para>
14663             A SecurityContext used by log4net when interacting with protected resources
14664             for example with operating system services. This can be used to impersonate
14665             a principal that has been granted privileges on the system resources.
14666             </para>
14667             </remarks>
14668             <author>Nicko Cadell</author>
14669         </member>
14670         <member name="M:log4net.Core.SecurityContext.Impersonate(System.Object)">
14671             <summary>
14672             Impersonate this SecurityContext
14673             </summary>
14674             <param name="state">State supplied by the caller</param>
14675             <returns>An <see cref="T:System.IDisposable"/> instance that will
14676             revoke the impersonation of this SecurityContext, or <c>null</c></returns>
14677             <remarks>
14678             <para>
14679             Impersonate this security context. Further calls on the current
14680             thread should now be made in the security context provided
14681             by this object. When the <see cref="T:System.IDisposable"/> result 
14682             <see cref="M:System.IDisposable.Dispose"/> method is called the security
14683             context of the thread should be reverted to the state it was in
14684             before <see cref="M:log4net.Core.SecurityContext.Impersonate(System.Object)"/> was called.
14685             </para>
14686             </remarks>
14687         </member>
14688         <member name="T:log4net.Core.SecurityContextProvider">
14689             <summary>
14690             The <see cref="T:log4net.Core.SecurityContextProvider"/> providers default <see cref="T:log4net.Core.SecurityContext"/> instances.
14691             </summary>
14692             <remarks>
14693             <para>
14694             A configured component that interacts with potentially protected system
14695             resources uses a <see cref="T:log4net.Core.SecurityContext"/> to provide the elevated
14696             privileges required. If the <see cref="T:log4net.Core.SecurityContext"/> object has
14697             been not been explicitly provided to the component then the component
14698             will request one from this <see cref="T:log4net.Core.SecurityContextProvider"/>.
14699             </para>
14700             <para>
14701             By default the <see cref="P:log4net.Core.SecurityContextProvider.DefaultProvider"/> is
14702             an instance of <see cref="T:log4net.Core.SecurityContextProvider"/> which returns only
14703             <see cref="T:log4net.Util.NullSecurityContext"/> objects. This is a reasonable default
14704             where the privileges required are not know by the system.
14705             </para>
14706             <para>
14707             This default behavior can be overridden by subclassing the <see cref="T:log4net.Core.SecurityContextProvider"/>
14708             and overriding the <see cref="M:log4net.Core.SecurityContextProvider.CreateSecurityContext(System.Object)"/> method to return
14709             the desired <see cref="T:log4net.Core.SecurityContext"/> objects. The default provider
14710             can be replaced by programmatically setting the value of the 
14711             <see cref="P:log4net.Core.SecurityContextProvider.DefaultProvider"/> property.
14712             </para>
14713             <para>
14714             An alternative is to use the <c>log4net.Config.SecurityContextProviderAttribute</c>
14715             This attribute can be applied to an assembly in the same way as the
14716             <c>log4net.Config.XmlConfiguratorAttribute"</c>. The attribute takes
14717             the type to use as the <see cref="T:log4net.Core.SecurityContextProvider"/> as an argument.
14718             </para>
14719             </remarks>
14720             <author>Nicko Cadell</author>
14721         </member>
14722         <member name="F:log4net.Core.SecurityContextProvider.s_defaultProvider">
14723             <summary>
14724             The default provider
14725             </summary>
14726         </member>
14727         <member name="M:log4net.Core.SecurityContextProvider.#ctor">
14728             <summary>
14729             Protected default constructor to allow subclassing
14730             </summary>
14731             <remarks>
14732             <para>
14733             Protected default constructor to allow subclassing
14734             </para>
14735             </remarks>
14736         </member>
14737         <member name="M:log4net.Core.SecurityContextProvider.CreateSecurityContext(System.Object)">
14738             <summary>
14739             Create a SecurityContext for a consumer
14740             </summary>
14741             <param name="consumer">The consumer requesting the SecurityContext</param>
14742             <returns>An impersonation context</returns>
14743             <remarks>
14744             <para>
14745             The default implementation is to return a <see cref="T:log4net.Util.NullSecurityContext"/>.
14746             </para>
14747             <para>
14748             Subclasses should override this method to provide their own
14749             behavior.
14750             </para>
14751             </remarks>
14752         </member>
14753         <member name="P:log4net.Core.SecurityContextProvider.DefaultProvider">
14754             <summary>
14755             Gets or sets the default SecurityContextProvider
14756             </summary>
14757             <value>
14758             The default SecurityContextProvider
14759             </value>
14760             <remarks>
14761             <para>
14762             The default provider is used by configured components that
14763             require a <see cref="T:log4net.Core.SecurityContext"/> and have not had one
14764             given to them.
14765             </para>
14766             <para>
14767             By default this is an instance of <see cref="T:log4net.Core.SecurityContextProvider"/>
14768             that returns <see cref="T:log4net.Util.NullSecurityContext"/> objects.
14769             </para>
14770             <para>
14771             The default provider can be set programmatically by setting
14772             the value of this property to a sub class of <see cref="T:log4net.Core.SecurityContextProvider"/>
14773             that has the desired behavior.
14774             </para>
14775             </remarks>
14776         </member>
14777         <member name="T:log4net.Core.WrapperCreationHandler">
14778             <summary>
14779             Delegate used to handle creation of new wrappers.
14780             </summary>
14781             <param name="logger">The logger to wrap in a wrapper.</param>
14782             <remarks>
14783             <para>
14784             Delegate used to handle creation of new wrappers. This delegate
14785             is called from the <see cref="M:log4net.Core.WrapperMap.CreateNewWrapperObject(log4net.Core.ILogger)"/>
14786             method to construct the wrapper for the specified logger.
14787             </para>
14788             <para>
14789             The delegate to use is supplied to the <see cref="T:log4net.Core.WrapperMap"/>
14790             constructor.
14791             </para>
14792             </remarks>
14793         </member>
14794         <member name="T:log4net.Core.WrapperMap">
14795             <summary>
14796             Maps between logger objects and wrapper objects.
14797             </summary>
14798             <remarks>
14799             <para>
14800             This class maintains a mapping between <see cref="T:log4net.Core.ILogger"/> objects and
14801             <see cref="T:log4net.Core.ILoggerWrapper"/> objects. Use the <see cref="M:log4net.Core.WrapperMap.GetWrapper(log4net.Core.ILogger)"/> method to 
14802             lookup the <see cref="T:log4net.Core.ILoggerWrapper"/> for the specified <see cref="T:log4net.Core.ILogger"/>.
14803             </para>
14804             <para>
14805             New wrapper instances are created by the <see cref="M:log4net.Core.WrapperMap.CreateNewWrapperObject(log4net.Core.ILogger)"/>
14806             method. The default behavior is for this method to delegate construction
14807             of the wrapper to the <see cref="T:log4net.Core.WrapperCreationHandler"/> delegate supplied
14808             to the constructor. This allows specialization of the behavior without
14809             requiring subclassing of this type.
14810             </para>
14811             </remarks>
14812             <author>Nicko Cadell</author>
14813             <author>Gert Driesen</author>
14814         </member>
14815         <member name="M:log4net.Core.WrapperMap.#ctor(log4net.Core.WrapperCreationHandler)">
14816             <summary>
14817             Initializes a new instance of the <see cref="T:log4net.Core.WrapperMap"/>
14818             </summary>
14819             <param name="createWrapperHandler">The handler to use to create the wrapper objects.</param>
14820             <remarks>
14821             <para>
14822             Initializes a new instance of the <see cref="T:log4net.Core.WrapperMap"/> class with 
14823             the specified handler to create the wrapper objects.
14824             </para>
14825             </remarks>
14826         </member>
14827         <member name="M:log4net.Core.WrapperMap.GetWrapper(log4net.Core.ILogger)">
14828             <summary>
14829             Gets the wrapper object for the specified logger.
14830             </summary>
14831             <returns>The wrapper object for the specified logger</returns>
14832             <remarks>
14833             <para>
14834             If the logger is null then the corresponding wrapper is null.
14835             </para>
14836             <para>
14837             Looks up the wrapper it it has previously been requested and
14838             returns it. If the wrapper has never been requested before then
14839             the <see cref="M:log4net.Core.WrapperMap.CreateNewWrapperObject(log4net.Core.ILogger)"/> virtual method is
14840             called.
14841             </para>
14842             </remarks>
14843         </member>
14844         <member name="M:log4net.Core.WrapperMap.CreateNewWrapperObject(log4net.Core.ILogger)">
14845             <summary>
14846             Creates the wrapper object for the specified logger.
14847             </summary>
14848             <param name="logger">The logger to wrap in a wrapper.</param>
14849             <returns>The wrapper object for the logger.</returns>
14850             <remarks>
14851             <para>
14852             This implementation uses the <see cref="T:log4net.Core.WrapperCreationHandler"/>
14853             passed to the constructor to create the wrapper. This method
14854             can be overridden in a subclass.
14855             </para>
14856             </remarks>
14857         </member>
14858         <member name="M:log4net.Core.WrapperMap.RepositoryShutdown(log4net.Repository.ILoggerRepository)">
14859             <summary>
14860             Called when a monitored repository shutdown event is received.
14861             </summary>
14862             <param name="repository">The <see cref="T:log4net.Repository.ILoggerRepository"/> that is shutting down</param>
14863             <remarks>
14864             <para>
14865             This method is called when a <see cref="T:log4net.Repository.ILoggerRepository"/> that this
14866             <see cref="T:log4net.Core.WrapperMap"/> is holding loggers for has signaled its shutdown
14867             event <see cref="E:log4net.Repository.ILoggerRepository.ShutdownEvent"/>. The default
14868             behavior of this method is to release the references to the loggers
14869             and their wrappers generated for this repository.
14870             </para>
14871             </remarks>
14872         </member>
14873         <member name="M:log4net.Core.WrapperMap.ILoggerRepository_Shutdown(System.Object,System.EventArgs)">
14874             <summary>
14875             Event handler for repository shutdown event.
14876             </summary>
14877             <param name="sender">The sender of the event.</param>
14878             <param name="e">The event args.</param>
14879         </member>
14880         <member name="F:log4net.Core.WrapperMap.m_repositories">
14881             <summary>
14882             Map of logger repositories to hashtables of ILogger to ILoggerWrapper mappings
14883             </summary>
14884         </member>
14885         <member name="F:log4net.Core.WrapperMap.m_createWrapperHandler">
14886             <summary>
14887             The handler to use to create the extension wrapper objects.
14888             </summary>
14889         </member>
14890         <member name="F:log4net.Core.WrapperMap.m_shutdownHandler">
14891             <summary>
14892             Internal reference to the delegate used to register for repository shutdown events.
14893             </summary>
14894         </member>
14895         <member name="P:log4net.Core.WrapperMap.Repositories">
14896             <summary>
14897             Gets the map of logger repositories.
14898             </summary>
14899             <value>
14900             Map of logger repositories.
14901             </value>
14902             <remarks>
14903             <para>
14904             Gets the hashtable that is keyed on <see cref="T:log4net.Repository.ILoggerRepository"/>. The
14905             values are hashtables keyed on <see cref="T:log4net.Core.ILogger"/> with the
14906             value being the corresponding <see cref="T:log4net.Core.ILoggerWrapper"/>.
14907             </para>
14908             </remarks>
14909         </member>
14910         <member name="T:log4net.DateFormatter.AbsoluteTimeDateFormatter">
14911             <summary>
14912             Formats a <see cref="T:System.DateTime"/> as <c>"HH:mm:ss,fff"</c>.
14913             </summary>
14914             <remarks>
14915             <para>
14916             Formats a <see cref="T:System.DateTime"/> in the format <c>"HH:mm:ss,fff"</c> for example, <c>"15:49:37,459"</c>.
14917             </para>
14918             </remarks>
14919             <author>Nicko Cadell</author>
14920             <author>Gert Driesen</author>
14921         </member>
14922         <member name="T:log4net.DateFormatter.IDateFormatter">
14923             <summary>
14924             Render a <see cref="T:System.DateTime"/> as a string.
14925             </summary>
14926             <remarks>
14927             <para>
14928             Interface to abstract the rendering of a <see cref="T:System.DateTime"/>
14929             instance into a string.
14930             </para>
14931             <para>
14932             The <see cref="M:log4net.DateFormatter.IDateFormatter.FormatDate(System.DateTime,System.IO.TextWriter)"/> method is used to render the
14933             date to a text writer.
14934             </para>
14935             </remarks>
14936             <author>Nicko Cadell</author>
14937             <author>Gert Driesen</author>
14938         </member>
14939         <member name="M:log4net.DateFormatter.IDateFormatter.FormatDate(System.DateTime,System.IO.TextWriter)">
14940             <summary>
14941             Formats the specified date as a string.
14942             </summary>
14943             <param name="dateToFormat">The date to format.</param>
14944             <param name="writer">The writer to write to.</param>
14945             <remarks>
14946             <para>
14947             Format the <see cref="T:System.DateTime"/> as a string and write it
14948             to the <see cref="T:System.IO.TextWriter"/> provided.
14949             </para>
14950             </remarks>
14951         </member>
14952         <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.AbsoluteTimeDateFormat">
14953             <summary>
14954             String constant used to specify AbsoluteTimeDateFormat in layouts. Current value is <b>ABSOLUTE</b>.
14955             </summary>
14956         </member>
14957         <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.DateAndTimeDateFormat">
14958             <summary>
14959             String constant used to specify DateTimeDateFormat in layouts.  Current value is <b>DATE</b>.
14960             </summary>
14961         </member>
14962         <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.Iso8601TimeDateFormat">
14963             <summary>
14964             String constant used to specify ISO8601DateFormat in layouts. Current value is <b>ISO8601</b>.
14965             </summary>
14966         </member>
14967         <member name="M:log4net.DateFormatter.AbsoluteTimeDateFormatter.FormatDateWithoutMillis(System.DateTime,System.Text.StringBuilder)">
14968             <summary>
14969             Renders the date into a string. Format is <c>"HH:mm:ss"</c>.
14970             </summary>
14971             <param name="dateToFormat">The date to render into a string.</param>
14972             <param name="buffer">The string builder to write to.</param>
14973             <remarks>
14974             <para>
14975             Subclasses should override this method to render the date
14976             into a string using a precision up to the second. This method
14977             will be called at most once per second and the result will be
14978             reused if it is needed again during the same second.
14979             </para>
14980             </remarks>
14981         </member>
14982         <member name="M:log4net.DateFormatter.AbsoluteTimeDateFormatter.FormatDate(System.DateTime,System.IO.TextWriter)">
14983             <summary>
14984             Renders the date into a string. Format is "HH:mm:ss,fff".
14985             </summary>
14986             <param name="dateToFormat">The date to render into a string.</param>
14987             <param name="writer">The writer to write to.</param>
14988             <remarks>
14989             <para>
14990             Uses the <see cref="M:log4net.DateFormatter.AbsoluteTimeDateFormatter.FormatDateWithoutMillis(System.DateTime,System.Text.StringBuilder)"/> method to generate the
14991             time string up to the seconds and then appends the current
14992             milliseconds. The results from <see cref="M:log4net.DateFormatter.AbsoluteTimeDateFormatter.FormatDateWithoutMillis(System.DateTime,System.Text.StringBuilder)"/> are
14993             cached and <see cref="M:log4net.DateFormatter.AbsoluteTimeDateFormatter.FormatDateWithoutMillis(System.DateTime,System.Text.StringBuilder)"/> is called at most once
14994             per second.
14995             </para>
14996             <para>
14997             Sub classes should override <see cref="M:log4net.DateFormatter.AbsoluteTimeDateFormatter.FormatDateWithoutMillis(System.DateTime,System.Text.StringBuilder)"/>
14998             rather than <see cref="M:log4net.DateFormatter.AbsoluteTimeDateFormatter.FormatDate(System.DateTime,System.IO.TextWriter)"/>.
14999             </para>
15000             </remarks>
15001         </member>
15002         <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.s_lastTimeToTheSecond">
15003             <summary>
15004             Last stored time with precision up to the second.
15005             </summary>
15006         </member>
15007         <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.s_lastTimeBuf">
15008             <summary>
15009             Last stored time with precision up to the second, formatted
15010             as a string.
15011             </summary>
15012         </member>
15013         <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.s_lastTimeString">
15014             <summary>
15015             Last stored time with precision up to the second, formatted
15016             as a string.
15017             </summary>
15018         </member>
15019         <member name="T:log4net.DateFormatter.DateTimeDateFormatter">
15020             <summary>
15021             Formats a <see cref="T:System.DateTime"/> as <c>"dd MMM yyyy HH:mm:ss,fff"</c>
15022             </summary>
15023             <remarks>
15024             <para>
15025             Formats a <see cref="T:System.DateTime"/> in the format 
15026             <c>"dd MMM yyyy HH:mm:ss,fff"</c> for example, 
15027             <c>"06 Nov 1994 15:49:37,459"</c>.
15028             </para>
15029             </remarks>
15030             <author>Nicko Cadell</author>
15031             <author>Gert Driesen</author>
15032             <author>Angelika Schnagl</author>
15033         </member>
15034         <member name="M:log4net.DateFormatter.DateTimeDateFormatter.#ctor">
15035             <summary>
15036             Default constructor.
15037             </summary>
15038             <remarks>
15039             <para>
15040             Initializes a new instance of the <see cref="T:log4net.DateFormatter.DateTimeDateFormatter"/> class.
15041             </para>
15042             </remarks>
15043         </member>
15044         <member name="M:log4net.DateFormatter.DateTimeDateFormatter.FormatDateWithoutMillis(System.DateTime,System.Text.StringBuilder)">
15045             <summary>
15046             Formats the date without the milliseconds part
15047             </summary>
15048             <param name="dateToFormat">The date to format.</param>
15049             <param name="buffer">The string builder to write to.</param>
15050             <remarks>
15051             <para>
15052             Formats a DateTime in the format <c>"dd MMM yyyy HH:mm:ss"</c>
15053             for example, <c>"06 Nov 1994 15:49:37"</c>.
15054             </para>
15055             <para>
15056             The base class will append the <c>",fff"</c> milliseconds section.
15057             This method will only be called at most once per second.
15058             </para>
15059             </remarks>
15060         </member>
15061         <member name="F:log4net.DateFormatter.DateTimeDateFormatter.m_dateTimeFormatInfo">
15062             <summary>
15063             The format info for the invariant culture.
15064             </summary>
15065         </member>
15066         <member name="T:log4net.DateFormatter.Iso8601DateFormatter">
15067             <summary>
15068             Formats the <see cref="T:System.DateTime"/> as <c>"yyyy-MM-dd HH:mm:ss,fff"</c>.
15069             </summary>
15070             <remarks>
15071             <para>
15072             Formats the <see cref="T:System.DateTime"/> specified as a string: <c>"yyyy-MM-dd HH:mm:ss,fff"</c>.
15073             </para>
15074             </remarks>
15075             <author>Nicko Cadell</author>
15076             <author>Gert Driesen</author>
15077         </member>
15078         <member name="M:log4net.DateFormatter.Iso8601DateFormatter.#ctor">
15079             <summary>
15080             Default constructor
15081             </summary>
15082             <remarks>
15083             <para>
15084             Initializes a new instance of the <see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/> class.
15085             </para>
15086             </remarks>
15087         </member>
15088         <member name="M:log4net.DateFormatter.Iso8601DateFormatter.FormatDateWithoutMillis(System.DateTime,System.Text.StringBuilder)">
15089             <summary>
15090             Formats the date without the milliseconds part
15091             </summary>
15092             <param name="dateToFormat">The date to format.</param>
15093             <param name="buffer">The string builder to write to.</param>
15094             <remarks>
15095             <para>
15096             Formats the date specified as a string: <c>"yyyy-MM-dd HH:mm:ss"</c>.
15097             </para>
15098             <para>
15099             The base class will append the <c>",fff"</c> milliseconds section.
15100             This method will only be called at most once per second.
15101             </para>
15102             </remarks>
15103         </member>
15104         <member name="T:log4net.DateFormatter.SimpleDateFormatter">
15105             <summary>
15106             Formats the <see cref="T:System.DateTime"/> using the <see cref="M:System.DateTime.ToString(System.String,System.IFormatProvider)"/> method.
15107             </summary>
15108             <remarks>
15109             <para>
15110             Formats the <see cref="T:System.DateTime"/> using the <see cref="T:System.DateTime"/> <see cref="M:System.DateTime.ToString(System.String,System.IFormatProvider)"/> method.
15111             </para>
15112             </remarks>
15113             <author>Nicko Cadell</author>
15114             <author>Gert Driesen</author>
15115         </member>
15116         <member name="M:log4net.DateFormatter.SimpleDateFormatter.#ctor(System.String)">
15117             <summary>
15118             Constructor
15119             </summary>
15120             <param name="format">The format string.</param>
15121             <remarks>
15122             <para>
15123             Initializes a new instance of the <see cref="T:log4net.DateFormatter.SimpleDateFormatter"/> class 
15124             with the specified format string.
15125             </para>
15126             <para>
15127             The format string must be compatible with the options
15128             that can be supplied to <see cref="M:System.DateTime.ToString(System.String,System.IFormatProvider)"/>.
15129             </para>
15130             </remarks>
15131         </member>
15132         <member name="M:log4net.DateFormatter.SimpleDateFormatter.FormatDate(System.DateTime,System.IO.TextWriter)">
15133             <summary>
15134             Formats the date using <see cref="M:System.DateTime.ToString(System.String,System.IFormatProvider)"/>.
15135             </summary>
15136             <param name="dateToFormat">The date to convert to a string.</param>
15137             <param name="writer">The writer to write to.</param>
15138             <remarks>
15139             <para>
15140             Uses the date format string supplied to the constructor to call
15141             the <see cref="M:System.DateTime.ToString(System.String,System.IFormatProvider)"/> method to format the date.
15142             </para>
15143             </remarks>
15144         </member>
15145         <member name="F:log4net.DateFormatter.SimpleDateFormatter.m_formatString">
15146             <summary>
15147             The format string used to format the <see cref="T:System.DateTime"/>.
15148             </summary>
15149             <remarks>
15150             <para>
15151             The format string must be compatible with the options
15152             that can be supplied to <see cref="M:System.DateTime.ToString(System.String,System.IFormatProvider)"/>.
15153             </para>
15154             </remarks>
15155         </member>
15156         <member name="T:log4net.Filter.DenyAllFilter">
15157             <summary>
15158             This filter drops all <see cref="T:log4net.Core.LoggingEvent"/>. 
15159             </summary>
15160             <remarks>
15161             <para>
15162             You can add this filter to the end of a filter chain to
15163             switch from the default "accept all unless instructed otherwise"
15164             filtering behavior to a "deny all unless instructed otherwise"
15165             behavior.
15166             </para>
15167             </remarks>
15168             <author>Nicko Cadell</author>
15169             <author>Gert Driesen</author>
15170         </member>
15171         <member name="T:log4net.Filter.FilterSkeleton">
15172             <summary>
15173             Subclass this type to implement customized logging event filtering
15174             </summary>
15175             <remarks>
15176             <para>
15177             Users should extend this class to implement customized logging
15178             event filtering. Note that <see cref="T:log4net.Repository.Hierarchy.Logger"/> and 
15179             <see cref="T:log4net.Appender.AppenderSkeleton"/>, the parent class of all standard
15180             appenders, have built-in filtering rules. It is suggested that you
15181             first use and understand the built-in rules before rushing to write
15182             your own custom filters.
15183             </para>
15184             <para>
15185             This abstract class assumes and also imposes that filters be
15186             organized in a linear chain. The <see cref="M:log4net.Filter.FilterSkeleton.Decide(log4net.Core.LoggingEvent)"/>
15187             method of each filter is called sequentially, in the order of their 
15188             addition to the chain.
15189             </para>
15190             <para>
15191             The <see cref="M:log4net.Filter.FilterSkeleton.Decide(log4net.Core.LoggingEvent)"/> method must return one
15192             of the integer constants <see cref="F:log4net.Filter.FilterDecision.Deny"/>, 
15193             <see cref="F:log4net.Filter.FilterDecision.Neutral"/> or <see cref="F:log4net.Filter.FilterDecision.Accept"/>.
15194             </para>
15195             <para>
15196             If the value <see cref="F:log4net.Filter.FilterDecision.Deny"/> is returned, then the log event is dropped 
15197             immediately without consulting with the remaining filters.
15198             </para>
15199             <para>
15200             If the value <see cref="F:log4net.Filter.FilterDecision.Neutral"/> is returned, then the next filter
15201             in the chain is consulted. If there are no more filters in the
15202             chain, then the log event is logged. Thus, in the presence of no
15203             filters, the default behavior is to log all logging events.
15204             </para>
15205             <para>
15206             If the value <see cref="F:log4net.Filter.FilterDecision.Accept"/> is returned, then the log
15207             event is logged without consulting the remaining filters.
15208             </para>
15209             <para>
15210             The philosophy of log4net filters is largely inspired from the
15211             Linux ipchains.
15212             </para>
15213             </remarks>
15214             <author>Nicko Cadell</author>
15215             <author>Gert Driesen</author>
15216         </member>
15217         <member name="T:log4net.Filter.IFilter">
15218             <summary>
15219             Implement this interface to provide customized logging event filtering
15220             </summary>
15221             <remarks>
15222             <para>
15223             Users should implement this interface to implement customized logging
15224             event filtering. Note that <see cref="T:log4net.Repository.Hierarchy.Logger"/> and 
15225             <see cref="T:log4net.Appender.AppenderSkeleton"/>, the parent class of all standard
15226             appenders, have built-in filtering rules. It is suggested that you
15227             first use and understand the built-in rules before rushing to write
15228             your own custom filters.
15229             </para>
15230             <para>
15231             This abstract class assumes and also imposes that filters be
15232             organized in a linear chain. The <see cref="M:log4net.Filter.IFilter.Decide(log4net.Core.LoggingEvent)"/>
15233             method of each filter is called sequentially, in the order of their 
15234             addition to the chain.
15235             </para>
15236             <para>
15237             The <see cref="M:log4net.Filter.IFilter.Decide(log4net.Core.LoggingEvent)"/> method must return one
15238             of the integer constants <see cref="F:log4net.Filter.FilterDecision.Deny"/>, 
15239             <see cref="F:log4net.Filter.FilterDecision.Neutral"/> or <see cref="F:log4net.Filter.FilterDecision.Accept"/>.
15240             </para>
15241             <para>
15242             If the value <see cref="F:log4net.Filter.FilterDecision.Deny"/> is returned, then the log event is dropped 
15243             immediately without consulting with the remaining filters.
15244             </para>
15245             <para>
15246             If the value <see cref="F:log4net.Filter.FilterDecision.Neutral"/> is returned, then the next filter
15247             in the chain is consulted. If there are no more filters in the
15248             chain, then the log event is logged. Thus, in the presence of no
15249             filters, the default behavior is to log all logging events.
15250             </para>
15251             <para>
15252             If the value <see cref="F:log4net.Filter.FilterDecision.Accept"/> is returned, then the log
15253             event is logged without consulting the remaining filters.
15254             </para>
15255             <para>
15256             The philosophy of log4net filters is largely inspired from the
15257             Linux ipchains.
15258             </para>
15259             </remarks>
15260             <author>Nicko Cadell</author>
15261             <author>Gert Driesen</author>
15262         </member>
15263         <member name="M:log4net.Filter.IFilter.Decide(log4net.Core.LoggingEvent)">
15264             <summary>
15265             Decide if the logging event should be logged through an appender.
15266             </summary>
15267             <param name="loggingEvent">The LoggingEvent to decide upon</param>
15268             <returns>The decision of the filter</returns>
15269             <remarks>
15270             <para>
15271             If the decision is <see cref="F:log4net.Filter.FilterDecision.Deny"/>, then the event will be
15272             dropped. If the decision is <see cref="F:log4net.Filter.FilterDecision.Neutral"/>, then the next
15273             filter, if any, will be invoked. If the decision is <see cref="F:log4net.Filter.FilterDecision.Accept"/> then
15274             the event will be logged without consulting with other filters in
15275             the chain.
15276             </para>
15277             </remarks>
15278         </member>
15279         <member name="P:log4net.Filter.IFilter.Next">
15280             <summary>
15281             Property to get and set the next filter
15282             </summary>
15283             <value>
15284             The next filter in the chain
15285             </value>
15286             <remarks>
15287             <para>
15288             Filters are typically composed into chains. This property allows the next filter in 
15289             the chain to be accessed.
15290             </para>
15291             </remarks>
15292         </member>
15293         <member name="F:log4net.Filter.FilterSkeleton.m_next">
15294             <summary>
15295             Points to the next filter in the filter chain.
15296             </summary>
15297             <remarks>
15298             <para>
15299             See <see cref="P:log4net.Filter.FilterSkeleton.Next"/> for more information.
15300             </para>
15301             </remarks>
15302         </member>
15303         <member name="M:log4net.Filter.FilterSkeleton.ActivateOptions">
15304             <summary>
15305             Initialize the filter with the options set
15306             </summary>
15307             <remarks>
15308             <para>
15309             This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
15310             activation scheme. The <see cref="M:log4net.Filter.FilterSkeleton.ActivateOptions"/> method must 
15311             be called on this object after the configuration properties have
15312             been set. Until <see cref="M:log4net.Filter.FilterSkeleton.ActivateOptions"/> is called this
15313             object is in an undefined state and must not be used. 
15314             </para>
15315             <para>
15316             If any of the configuration properties are modified then 
15317             <see cref="M:log4net.Filter.FilterSkeleton.ActivateOptions"/> must be called again.
15318             </para>
15319             <para>
15320             Typically filter's options become active immediately on set, 
15321             however this method must still be called. 
15322             </para>
15323             </remarks>
15324         </member>
15325         <member name="M:log4net.Filter.FilterSkeleton.Decide(log4net.Core.LoggingEvent)">
15326             <summary>
15327             Decide if the <see cref="T:log4net.Core.LoggingEvent"/> should be logged through an appender.
15328             </summary>
15329             <param name="loggingEvent">The <see cref="T:log4net.Core.LoggingEvent"/> to decide upon</param>
15330             <returns>The decision of the filter</returns>
15331             <remarks>
15332             <para>
15333             If the decision is <see cref="F:log4net.Filter.FilterDecision.Deny"/>, then the event will be
15334             dropped. If the decision is <see cref="F:log4net.Filter.FilterDecision.Neutral"/>, then the next
15335             filter, if any, will be invoked. If the decision is <see cref="F:log4net.Filter.FilterDecision.Accept"/> then
15336             the event will be logged without consulting with other filters in
15337             the chain.
15338             </para>
15339             <para>
15340             This method is marked <c>abstract</c> and must be implemented
15341             in a subclass.
15342             </para>
15343             </remarks>
15344         </member>
15345         <member name="P:log4net.Filter.FilterSkeleton.Next">
15346             <summary>
15347             Property to get and set the next filter
15348             </summary>
15349             <value>
15350             The next filter in the chain
15351             </value>
15352             <remarks>
15353             <para>
15354             Filters are typically composed into chains. This property allows the next filter in 
15355             the chain to be accessed.
15356             </para>
15357             </remarks>
15358         </member>
15359         <member name="M:log4net.Filter.DenyAllFilter.#ctor">
15360             <summary>
15361             Default constructor
15362             </summary>
15363         </member>
15364         <member name="M:log4net.Filter.DenyAllFilter.Decide(log4net.Core.LoggingEvent)">
15365             <summary>
15366             Always returns the integer constant <see cref="F:log4net.Filter.FilterDecision.Deny"/>
15367             </summary>
15368             <param name="loggingEvent">the LoggingEvent to filter</param>
15369             <returns>Always returns <see cref="F:log4net.Filter.FilterDecision.Deny"/></returns>
15370             <remarks>
15371             <para>
15372             Ignores the event being logged and just returns
15373             <see cref="F:log4net.Filter.FilterDecision.Deny"/>. This can be used to change the default filter
15374             chain behavior from <see cref="F:log4net.Filter.FilterDecision.Accept"/> to <see cref="F:log4net.Filter.FilterDecision.Deny"/>. This filter
15375             should only be used as the last filter in the chain
15376             as any further filters will be ignored!
15377             </para>
15378             </remarks>
15379         </member>
15380         <member name="T:log4net.Filter.FilterDecision">
15381             <summary>
15382             The return result from <see cref="M:log4net.Filter.IFilter.Decide(log4net.Core.LoggingEvent)"/>
15383             </summary>
15384             <remarks>
15385             <para>
15386             The return result from <see cref="M:log4net.Filter.IFilter.Decide(log4net.Core.LoggingEvent)"/>
15387             </para>
15388             </remarks>
15389         </member>
15390         <member name="F:log4net.Filter.FilterDecision.Deny">
15391             <summary>
15392             The log event must be dropped immediately without 
15393             consulting with the remaining filters, if any, in the chain.
15394             </summary>
15395         </member>
15396         <member name="F:log4net.Filter.FilterDecision.Neutral">
15397             <summary>
15398             This filter is neutral with respect to the log event. 
15399             The remaining filters, if any, should be consulted for a final decision.
15400             </summary>
15401         </member>
15402         <member name="F:log4net.Filter.FilterDecision.Accept">
15403             <summary>
15404             The log event must be logged immediately without 
15405             consulting with the remaining filters, if any, in the chain.
15406             </summary>
15407         </member>
15408         <member name="T:log4net.Filter.LevelMatchFilter">
15409             <summary>
15410             This is a very simple filter based on <see cref="T:log4net.Core.Level"/> matching.
15411             </summary>
15412             <remarks>
15413             <para>
15414             The filter admits two options <see cref="P:log4net.Filter.LevelMatchFilter.LevelToMatch"/> and
15415             <see cref="P:log4net.Filter.LevelMatchFilter.AcceptOnMatch"/>. If there is an exact match between the value
15416             of the <see cref="P:log4net.Filter.LevelMatchFilter.LevelToMatch"/> option and the <see cref="T:log4net.Core.Level"/> of the 
15417             <see cref="T:log4net.Core.LoggingEvent"/>, then the <see cref="M:log4net.Filter.LevelMatchFilter.Decide(log4net.Core.LoggingEvent)"/> method returns <see cref="F:log4net.Filter.FilterDecision.Accept"/> in 
15418             case the <see cref="P:log4net.Filter.LevelMatchFilter.AcceptOnMatch"/> option value is set
15419             to <c>true</c>, if it is <c>false</c> then 
15420             <see cref="F:log4net.Filter.FilterDecision.Deny"/> is returned. If the <see cref="T:log4net.Core.Level"/> does not match then
15421             the result will be <see cref="F:log4net.Filter.FilterDecision.Neutral"/>.
15422             </para>
15423             </remarks>
15424             <author>Nicko Cadell</author>
15425             <author>Gert Driesen</author>
15426         </member>
15427         <member name="F:log4net.Filter.LevelMatchFilter.m_acceptOnMatch">
15428             <summary>
15429             flag to indicate if the filter should <see cref="F:log4net.Filter.FilterDecision.Accept"/> on a match
15430             </summary>
15431         </member>
15432         <member name="F:log4net.Filter.LevelMatchFilter.m_levelToMatch">
15433             <summary>
15434             the <see cref="T:log4net.Core.Level"/> to match against
15435             </summary>
15436         </member>
15437         <member name="M:log4net.Filter.LevelMatchFilter.#ctor">
15438             <summary>
15439             Default constructor
15440             </summary>
15441         </member>
15442         <member name="M:log4net.Filter.LevelMatchFilter.Decide(log4net.Core.LoggingEvent)">
15443             <summary>
15444             Tests if the <see cref="T:log4net.Core.Level"/> of the logging event matches that of the filter
15445             </summary>
15446             <param name="loggingEvent">the event to filter</param>
15447             <returns>see remarks</returns>
15448             <remarks>
15449             <para>
15450             If the <see cref="T:log4net.Core.Level"/> of the event matches the level of the
15451             filter then the result of the function depends on the
15452             value of <see cref="P:log4net.Filter.LevelMatchFilter.AcceptOnMatch"/>. If it is true then
15453             the function will return <see cref="F:log4net.Filter.FilterDecision.Accept"/>, it it is false then it
15454             will return <see cref="F:log4net.Filter.FilterDecision.Deny"/>. If the <see cref="T:log4net.Core.Level"/> does not match then
15455             the result will be <see cref="F:log4net.Filter.FilterDecision.Neutral"/>.
15456             </para>
15457             </remarks>
15458         </member>
15459         <member name="P:log4net.Filter.LevelMatchFilter.AcceptOnMatch">
15460             <summary>
15461             <see cref="F:log4net.Filter.FilterDecision.Accept"/> when matching <see cref="P:log4net.Filter.LevelMatchFilter.LevelToMatch"/>
15462             </summary>
15463             <remarks>
15464             <para>
15465             The <see cref="P:log4net.Filter.LevelMatchFilter.AcceptOnMatch"/> property is a flag that determines
15466             the behavior when a matching <see cref="T:log4net.Core.Level"/> is found. If the
15467             flag is set to true then the filter will <see cref="F:log4net.Filter.FilterDecision.Accept"/> the 
15468             logging event, otherwise it will <see cref="F:log4net.Filter.FilterDecision.Deny"/> the event.
15469             </para>
15470             <para>
15471             The default is <c>true</c> i.e. to <see cref="F:log4net.Filter.FilterDecision.Accept"/> the event.
15472             </para>
15473             </remarks>
15474         </member>
15475         <member name="P:log4net.Filter.LevelMatchFilter.LevelToMatch">
15476             <summary>
15477             The <see cref="T:log4net.Core.Level"/> that the filter will match
15478             </summary>
15479             <remarks>
15480             <para>
15481             The level that this filter will attempt to match against the 
15482             <see cref="T:log4net.Core.LoggingEvent"/> level. If a match is found then
15483             the result depends on the value of <see cref="P:log4net.Filter.LevelMatchFilter.AcceptOnMatch"/>.
15484             </para>
15485             </remarks>
15486         </member>
15487         <member name="T:log4net.Filter.LevelRangeFilter">
15488             <summary>
15489             This is a simple filter based on <see cref="T:log4net.Core.Level"/> matching.
15490             </summary>
15491             <remarks>
15492             <para>
15493             The filter admits three options <see cref="P:log4net.Filter.LevelRangeFilter.LevelMin"/> and <see cref="P:log4net.Filter.LevelRangeFilter.LevelMax"/>
15494             that determine the range of priorities that are matched, and
15495             <see cref="P:log4net.Filter.LevelRangeFilter.AcceptOnMatch"/>. If there is a match between the range
15496             of priorities and the <see cref="T:log4net.Core.Level"/> of the <see cref="T:log4net.Core.LoggingEvent"/>, then the 
15497             <see cref="M:log4net.Filter.LevelRangeFilter.Decide(log4net.Core.LoggingEvent)"/> method returns <see cref="F:log4net.Filter.FilterDecision.Accept"/> in case the <see cref="P:log4net.Filter.LevelRangeFilter.AcceptOnMatch"/> 
15498             option value is set to <c>true</c>, if it is <c>false</c>
15499             then <see cref="F:log4net.Filter.FilterDecision.Deny"/> is returned. If there is no match, <see cref="F:log4net.Filter.FilterDecision.Deny"/> is returned.
15500             </para>
15501             </remarks>
15502             <author>Nicko Cadell</author>
15503             <author>Gert Driesen</author>
15504         </member>
15505         <member name="F:log4net.Filter.LevelRangeFilter.m_acceptOnMatch">
15506             <summary>
15507             Flag to indicate the behavior when matching a <see cref="T:log4net.Core.Level"/>
15508             </summary>
15509         </member>
15510         <member name="F:log4net.Filter.LevelRangeFilter.m_levelMin">
15511             <summary>
15512             the minimum <see cref="T:log4net.Core.Level"/> value to match
15513             </summary>
15514         </member>
15515         <member name="F:log4net.Filter.LevelRangeFilter.m_levelMax">
15516             <summary>
15517             the maximum <see cref="T:log4net.Core.Level"/> value to match
15518             </summary>
15519         </member>
15520         <member name="M:log4net.Filter.LevelRangeFilter.#ctor">
15521             <summary>
15522             Default constructor
15523             </summary>
15524         </member>
15525         <member name="M:log4net.Filter.LevelRangeFilter.Decide(log4net.Core.LoggingEvent)">
15526             <summary>
15527             Check if the event should be logged.
15528             </summary>
15529             <param name="loggingEvent">the logging event to check</param>
15530             <returns>see remarks</returns>
15531             <remarks>
15532             <para>
15533             If the <see cref="T:log4net.Core.Level"/> of the logging event is outside the range
15534             matched by this filter then <see cref="F:log4net.Filter.FilterDecision.Deny"/>
15535             is returned. If the <see cref="T:log4net.Core.Level"/> is matched then the value of
15536             <see cref="P:log4net.Filter.LevelRangeFilter.AcceptOnMatch"/> is checked. If it is true then
15537             <see cref="F:log4net.Filter.FilterDecision.Accept"/> is returned, otherwise
15538             <see cref="F:log4net.Filter.FilterDecision.Neutral"/> is returned.
15539             </para>
15540             </remarks>
15541         </member>
15542         <member name="P:log4net.Filter.LevelRangeFilter.AcceptOnMatch">
15543             <summary>
15544             <see cref="F:log4net.Filter.FilterDecision.Accept"/> when matching <see cref="P:log4net.Filter.LevelRangeFilter.LevelMin"/> and <see cref="P:log4net.Filter.LevelRangeFilter.LevelMax"/>
15545             </summary>
15546             <remarks>
15547             <para>
15548             The <see cref="P:log4net.Filter.LevelRangeFilter.AcceptOnMatch"/> property is a flag that determines
15549             the behavior when a matching <see cref="T:log4net.Core.Level"/> is found. If the
15550             flag is set to true then the filter will <see cref="F:log4net.Filter.FilterDecision.Accept"/> the 
15551             logging event, otherwise it will <see cref="F:log4net.Filter.FilterDecision.Neutral"/> the event.
15552             </para>
15553             <para>
15554             The default is <c>true</c> i.e. to <see cref="F:log4net.Filter.FilterDecision.Accept"/> the event.
15555             </para>
15556             </remarks>
15557         </member>
15558         <member name="P:log4net.Filter.LevelRangeFilter.LevelMin">
15559             <summary>
15560             Set the minimum matched <see cref="T:log4net.Core.Level"/>
15561             </summary>
15562             <remarks>
15563             <para>
15564             The minimum level that this filter will attempt to match against the 
15565             <see cref="T:log4net.Core.LoggingEvent"/> level. If a match is found then
15566             the result depends on the value of <see cref="P:log4net.Filter.LevelRangeFilter.AcceptOnMatch"/>.
15567             </para>
15568             </remarks>
15569         </member>
15570         <member name="P:log4net.Filter.LevelRangeFilter.LevelMax">
15571             <summary>
15572             Sets the maximum matched <see cref="T:log4net.Core.Level"/>
15573             </summary>
15574             <remarks>
15575             <para>
15576             The maximum level that this filter will attempt to match against the 
15577             <see cref="T:log4net.Core.LoggingEvent"/> level. If a match is found then
15578             the result depends on the value of <see cref="P:log4net.Filter.LevelRangeFilter.AcceptOnMatch"/>.
15579             </para>
15580             </remarks>
15581         </member>
15582         <member name="T:log4net.Filter.LoggerMatchFilter">
15583             <summary>
15584             Simple filter to match a string in the event's logger name.
15585             </summary>
15586             <remarks>
15587             <para>
15588             The works very similar to the <see cref="T:log4net.Filter.LevelMatchFilter"/>. It admits two 
15589             options <see cref="P:log4net.Filter.LoggerMatchFilter.LoggerToMatch"/> and <see cref="P:log4net.Filter.LoggerMatchFilter.AcceptOnMatch"/>. If the 
15590             <see cref="P:log4net.Core.LoggingEvent.LoggerName"/> of the <see cref="T:log4net.Core.LoggingEvent"/> starts 
15591             with the value of the <see cref="P:log4net.Filter.LoggerMatchFilter.LoggerToMatch"/> option, then the 
15592             <see cref="M:log4net.Filter.LoggerMatchFilter.Decide(log4net.Core.LoggingEvent)"/> method returns <see cref="F:log4net.Filter.FilterDecision.Accept"/> in 
15593             case the <see cref="P:log4net.Filter.LoggerMatchFilter.AcceptOnMatch"/> option value is set to <c>true</c>, 
15594             if it is <c>false</c> then <see cref="F:log4net.Filter.FilterDecision.Deny"/> is returned.
15595             </para>
15596             </remarks>
15597             <author>Daniel Cazzulino</author>
15598         </member>
15599         <member name="F:log4net.Filter.LoggerMatchFilter.m_acceptOnMatch">
15600             <summary>
15601             Flag to indicate the behavior when we have a match
15602             </summary>
15603         </member>
15604         <member name="F:log4net.Filter.LoggerMatchFilter.m_loggerToMatch">
15605             <summary>
15606             The logger name string to substring match against the event
15607             </summary>
15608         </member>
15609         <member name="M:log4net.Filter.LoggerMatchFilter.#ctor">
15610             <summary>
15611             Default constructor
15612             </summary>
15613         </member>
15614         <member name="M:log4net.Filter.LoggerMatchFilter.Decide(log4net.Core.LoggingEvent)">
15615             <summary>
15616             Check if this filter should allow the event to be logged
15617             </summary>
15618             <param name="loggingEvent">the event being logged</param>
15619             <returns>see remarks</returns>
15620             <remarks>
15621             <para>
15622             The rendered message is matched against the <see cref="P:log4net.Filter.LoggerMatchFilter.LoggerToMatch"/>.
15623             If the <see cref="P:log4net.Filter.LoggerMatchFilter.LoggerToMatch"/> equals the beginning of 
15624             the incoming <see cref="P:log4net.Core.LoggingEvent.LoggerName"/> (<see cref="M:System.String.StartsWith(System.String)"/>)
15625             then a match will have occurred. If no match occurs
15626             this function will return <see cref="F:log4net.Filter.FilterDecision.Neutral"/>
15627             allowing other filters to check the event. If a match occurs then
15628             the value of <see cref="P:log4net.Filter.LoggerMatchFilter.AcceptOnMatch"/> is checked. If it is
15629             true then <see cref="F:log4net.Filter.FilterDecision.Accept"/> is returned otherwise
15630             <see cref="F:log4net.Filter.FilterDecision.Deny"/> is returned.
15631             </para>
15632             </remarks>
15633         </member>
15634         <member name="P:log4net.Filter.LoggerMatchFilter.AcceptOnMatch">
15635             <summary>
15636             <see cref="F:log4net.Filter.FilterDecision.Accept"/> when matching <see cref="P:log4net.Filter.LoggerMatchFilter.LoggerToMatch"/>
15637             </summary>
15638             <remarks>
15639             <para>
15640             The <see cref="P:log4net.Filter.LoggerMatchFilter.AcceptOnMatch"/> property is a flag that determines
15641             the behavior when a matching <see cref="T:log4net.Core.Level"/> is found. If the
15642             flag is set to true then the filter will <see cref="F:log4net.Filter.FilterDecision.Accept"/> the 
15643             logging event, otherwise it will <see cref="F:log4net.Filter.FilterDecision.Deny"/> the event.
15644             </para>
15645             <para>
15646             The default is <c>true</c> i.e. to <see cref="F:log4net.Filter.FilterDecision.Accept"/> the event.
15647             </para>
15648             </remarks>
15649         </member>
15650         <member name="P:log4net.Filter.LoggerMatchFilter.LoggerToMatch">
15651             <summary>
15652             The <see cref="P:log4net.Core.LoggingEvent.LoggerName"/> that the filter will match
15653             </summary>
15654             <remarks>
15655             <para>
15656             This filter will attempt to match this value against logger name in
15657             the following way. The match will be done against the beginning of the
15658             logger name (using <see cref="M:System.String.StartsWith(System.String)"/>). The match is
15659             case sensitive. If a match is found then
15660             the result depends on the value of <see cref="P:log4net.Filter.LoggerMatchFilter.AcceptOnMatch"/>.
15661             </para>
15662             </remarks>
15663         </member>
15664         <member name="T:log4net.Filter.MdcFilter">
15665             <summary>
15666             Simple filter to match a keyed string in the <see cref="T:log4net.MDC"/>
15667             </summary>
15668             <remarks>
15669             <para>
15670             Simple filter to match a keyed string in the <see cref="T:log4net.MDC"/>
15671             </para>
15672             <para>
15673             As the MDC has been replaced with layered properties the
15674             <see cref="T:log4net.Filter.PropertyFilter"/> should be used instead.
15675             </para>
15676             </remarks>
15677             <author>Nicko Cadell</author>
15678             <author>Gert Driesen</author>
15679         </member>
15680         <member name="T:log4net.Filter.PropertyFilter">
15681             <summary>
15682             Simple filter to match a string an event property
15683             </summary>
15684             <remarks>
15685             <para>
15686             Simple filter to match a string in the value for a
15687             specific event property
15688             </para>
15689             </remarks>
15690             <author>Nicko Cadell</author>
15691         </member>
15692         <member name="T:log4net.Filter.StringMatchFilter">
15693             <summary>
15694             Simple filter to match a string in the rendered message
15695             </summary>
15696             <remarks>
15697             <para>
15698             Simple filter to match a string in the rendered message
15699             </para>
15700             </remarks>
15701             <author>Nicko Cadell</author>
15702             <author>Gert Driesen</author>
15703         </member>
15704         <member name="F:log4net.Filter.StringMatchFilter.m_acceptOnMatch">
15705             <summary>
15706             Flag to indicate the behavior when we have a match
15707             </summary>
15708         </member>
15709         <member name="F:log4net.Filter.StringMatchFilter.m_stringToMatch">
15710             <summary>
15711             The string to substring match against the message
15712             </summary>
15713         </member>
15714         <member name="F:log4net.Filter.StringMatchFilter.m_stringRegexToMatch">
15715             <summary>
15716             A string regex to match
15717             </summary>
15718         </member>
15719         <member name="F:log4net.Filter.StringMatchFilter.m_regexToMatch">
15720             <summary>
15721             A regex object to match (generated from m_stringRegexToMatch)
15722             </summary>
15723         </member>
15724         <member name="M:log4net.Filter.StringMatchFilter.#ctor">
15725             <summary>
15726             Default constructor
15727             </summary>
15728         </member>
15729         <member name="M:log4net.Filter.StringMatchFilter.ActivateOptions">
15730             <summary>
15731             Initialize and precompile the Regex if required
15732             </summary>
15733             <remarks>
15734             <para>
15735             This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
15736             activation scheme. The <see cref="M:log4net.Filter.StringMatchFilter.ActivateOptions"/> method must 
15737             be called on this object after the configuration properties have
15738             been set. Until <see cref="M:log4net.Filter.StringMatchFilter.ActivateOptions"/> is called this
15739             object is in an undefined state and must not be used. 
15740             </para>
15741             <para>
15742             If any of the configuration properties are modified then 
15743             <see cref="M:log4net.Filter.StringMatchFilter.ActivateOptions"/> must be called again.
15744             </para>
15745             </remarks>
15746         </member>
15747         <member name="M:log4net.Filter.StringMatchFilter.Decide(log4net.Core.LoggingEvent)">
15748             <summary>
15749             Check if this filter should allow the event to be logged
15750             </summary>
15751             <param name="loggingEvent">the event being logged</param>
15752             <returns>see remarks</returns>
15753             <remarks>
15754             <para>
15755             The rendered message is matched against the <see cref="P:log4net.Filter.StringMatchFilter.StringToMatch"/>.
15756             If the <see cref="P:log4net.Filter.StringMatchFilter.StringToMatch"/> occurs as a substring within
15757             the message then a match will have occurred. If no match occurs
15758             this function will return <see cref="F:log4net.Filter.FilterDecision.Neutral"/>
15759             allowing other filters to check the event. If a match occurs then
15760             the value of <see cref="P:log4net.Filter.StringMatchFilter.AcceptOnMatch"/> is checked. If it is
15761             true then <see cref="F:log4net.Filter.FilterDecision.Accept"/> is returned otherwise
15762             <see cref="F:log4net.Filter.FilterDecision.Deny"/> is returned.
15763             </para>
15764             </remarks>
15765         </member>
15766         <member name="P:log4net.Filter.StringMatchFilter.AcceptOnMatch">
15767             <summary>
15768             <see cref="F:log4net.Filter.FilterDecision.Accept"/> when matching <see cref="P:log4net.Filter.StringMatchFilter.StringToMatch"/> or <see cref="P:log4net.Filter.StringMatchFilter.RegexToMatch"/>
15769             </summary>
15770             <remarks>
15771             <para>
15772             The <see cref="P:log4net.Filter.StringMatchFilter.AcceptOnMatch"/> property is a flag that determines
15773             the behavior when a matching <see cref="T:log4net.Core.Level"/> is found. If the
15774             flag is set to true then the filter will <see cref="F:log4net.Filter.FilterDecision.Accept"/> the 
15775             logging event, otherwise it will <see cref="F:log4net.Filter.FilterDecision.Neutral"/> the event.
15776             </para>
15777             <para>
15778             The default is <c>true</c> i.e. to <see cref="F:log4net.Filter.FilterDecision.Accept"/> the event.
15779             </para>
15780             </remarks>
15781         </member>
15782         <member name="P:log4net.Filter.StringMatchFilter.StringToMatch">
15783             <summary>
15784             Sets the static string to match
15785             </summary>
15786             <remarks>
15787             <para>
15788             The string that will be substring matched against
15789             the rendered message. If the message contains this
15790             string then the filter will match. If a match is found then
15791             the result depends on the value of <see cref="P:log4net.Filter.StringMatchFilter.AcceptOnMatch"/>.
15792             </para>
15793             <para>
15794             One of <see cref="P:log4net.Filter.StringMatchFilter.StringToMatch"/> or <see cref="P:log4net.Filter.StringMatchFilter.RegexToMatch"/>
15795             must be specified.
15796             </para>
15797             </remarks>
15798         </member>
15799         <member name="P:log4net.Filter.StringMatchFilter.RegexToMatch">
15800             <summary>
15801             Sets the regular expression to match
15802             </summary>
15803             <remarks>
15804             <para>
15805             The regular expression pattern that will be matched against
15806             the rendered message. If the message matches this
15807             pattern then the filter will match. If a match is found then
15808             the result depends on the value of <see cref="P:log4net.Filter.StringMatchFilter.AcceptOnMatch"/>.
15809             </para>
15810             <para>
15811             One of <see cref="P:log4net.Filter.StringMatchFilter.StringToMatch"/> or <see cref="P:log4net.Filter.StringMatchFilter.RegexToMatch"/>
15812             must be specified.
15813             </para>
15814             </remarks>
15815         </member>
15816         <member name="F:log4net.Filter.PropertyFilter.m_key">
15817             <summary>
15818             The key to use to lookup the string from the event properties
15819             </summary>
15820         </member>
15821         <member name="M:log4net.Filter.PropertyFilter.#ctor">
15822             <summary>
15823             Default constructor
15824             </summary>
15825         </member>
15826         <member name="M:log4net.Filter.PropertyFilter.Decide(log4net.Core.LoggingEvent)">
15827             <summary>
15828             Check if this filter should allow the event to be logged
15829             </summary>
15830             <param name="loggingEvent">the event being logged</param>
15831             <returns>see remarks</returns>
15832             <remarks>
15833             <para>
15834             The event property for the <see cref="P:log4net.Filter.PropertyFilter.Key"/> is matched against 
15835             the <see cref="P:log4net.Filter.StringMatchFilter.StringToMatch"/>.
15836             If the <see cref="P:log4net.Filter.StringMatchFilter.StringToMatch"/> occurs as a substring within
15837             the property value then a match will have occurred. If no match occurs
15838             this function will return <see cref="F:log4net.Filter.FilterDecision.Neutral"/>
15839             allowing other filters to check the event. If a match occurs then
15840             the value of <see cref="P:log4net.Filter.StringMatchFilter.AcceptOnMatch"/> is checked. If it is
15841             true then <see cref="F:log4net.Filter.FilterDecision.Accept"/> is returned otherwise
15842             <see cref="F:log4net.Filter.FilterDecision.Deny"/> is returned.
15843             </para>
15844             </remarks>
15845         </member>
15846         <member name="P:log4net.Filter.PropertyFilter.Key">
15847             <summary>
15848             The key to lookup in the event properties and then match against.
15849             </summary>
15850             <remarks>
15851             <para>
15852             The key name to use to lookup in the properties map of the
15853             <see cref="T:log4net.Core.LoggingEvent"/>. The match will be performed against 
15854             the value of this property if it exists.
15855             </para>
15856             </remarks>
15857         </member>
15858         <member name="T:log4net.Filter.NdcFilter">
15859             <summary>
15860             Simple filter to match a string in the <see cref="T:log4net.NDC"/>
15861             </summary>
15862             <remarks>
15863             <para>
15864             Simple filter to match a string in the <see cref="T:log4net.NDC"/>
15865             </para>
15866             <para>
15867             As the MDC has been replaced with named stacks stored in the
15868             properties collections the <see cref="T:log4net.Filter.PropertyFilter"/> should 
15869             be used instead.
15870             </para>
15871             </remarks>
15872             <author>Nicko Cadell</author>
15873             <author>Gert Driesen</author>
15874         </member>
15875         <member name="M:log4net.Filter.NdcFilter.#ctor">
15876             <summary>
15877             Default constructor
15878             </summary>
15879             <remarks>
15880             <para>
15881             Sets the <see cref="P:log4net.Filter.PropertyFilter.Key"/> to <c>"NDC"</c>.
15882             </para>
15883             </remarks>
15884         </member>
15885         <member name="T:log4net.Layout.Pattern.AppDomainPatternConverter">
15886             <summary>
15887             Write the event appdomain name to the output
15888             </summary>
15889             <remarks>
15890             <para>
15891             Writes the <see cref="P:log4net.Core.LoggingEvent.Domain"/> to the output writer.
15892             </para>
15893             </remarks>
15894             <author>Daniel Cazzulino</author>
15895             <author>Nicko Cadell</author>
15896         </member>
15897         <member name="T:log4net.Layout.Pattern.PatternLayoutConverter">
15898             <summary>
15899             Abstract class that provides the formatting functionality that 
15900             derived classes need.
15901             </summary>
15902             <remarks>
15903             Conversion specifiers in a conversion patterns are parsed to
15904             individual PatternConverters. Each of which is responsible for
15905             converting a logging event in a converter specific manner.
15906             </remarks>
15907             <author>Nicko Cadell</author>
15908         </member>
15909         <member name="T:log4net.Util.PatternConverter">
15910             <summary>
15911             Abstract class that provides the formatting functionality that 
15912             derived classes need.
15913             </summary>
15914             <remarks>
15915             <para>
15916             Conversion specifiers in a conversion patterns are parsed to
15917             individual PatternConverters. Each of which is responsible for
15918             converting a logging event in a converter specific manner.
15919             </para>
15920             </remarks>
15921             <author>Nicko Cadell</author>
15922             <author>Gert Driesen</author>
15923         </member>
15924         <member name="F:log4net.Util.PatternConverter.c_renderBufferSize">
15925             <summary>
15926             Initial buffer size
15927             </summary>
15928         </member>
15929         <member name="F:log4net.Util.PatternConverter.c_renderBufferMaxCapacity">
15930             <summary>
15931             Maximum buffer size before it is recycled
15932             </summary>
15933         </member>
15934         <member name="M:log4net.Util.PatternConverter.#ctor">
15935             <summary>
15936             Protected constructor
15937             </summary>
15938             <remarks>
15939             <para>
15940             Initializes a new instance of the <see cref="T:log4net.Util.PatternConverter"/> class.
15941             </para>
15942             </remarks>
15943         </member>
15944         <member name="M:log4net.Util.PatternConverter.Convert(System.IO.TextWriter,System.Object)">
15945             <summary>
15946             Evaluate this pattern converter and write the output to a writer.
15947             </summary>
15948             <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
15949             <param name="state">The state object on which the pattern converter should be executed.</param>
15950             <remarks>
15951             <para>
15952             Derived pattern converters must override this method in order to
15953             convert conversion specifiers in the appropriate way.
15954             </para>
15955             </remarks>
15956         </member>
15957         <member name="M:log4net.Util.PatternConverter.SetNext(log4net.Util.PatternConverter)">
15958             <summary>
15959             Set the next pattern converter in the chains
15960             </summary>
15961             <param name="patternConverter">the pattern converter that should follow this converter in the chain</param>
15962             <returns>the next converter</returns>
15963             <remarks>
15964             <para>
15965             The PatternConverter can merge with its neighbor during this method (or a sub class).
15966             Therefore the return value may or may not be the value of the argument passed in.
15967             </para>
15968             </remarks>
15969         </member>
15970         <member name="M:log4net.Util.PatternConverter.Format(System.IO.TextWriter,System.Object)">
15971             <summary>
15972             Write the pattern converter to the writer with appropriate formatting
15973             </summary>
15974             <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
15975             <param name="state">The state object on which the pattern converter should be executed.</param>
15976             <remarks>
15977             <para>
15978             This method calls <see cref="M:log4net.Util.PatternConverter.Convert(System.IO.TextWriter,System.Object)"/> to allow the subclass to perform
15979             appropriate conversion of the pattern converter. If formatting options have
15980             been specified via the <see cref="P:log4net.Util.PatternConverter.FormattingInfo"/> then this method will
15981             apply those formattings before writing the output.
15982             </para>
15983             </remarks>
15984         </member>
15985         <member name="M:log4net.Util.PatternConverter.SpacePad(System.IO.TextWriter,System.Int32)">
15986             <summary>
15987             Fast space padding method.
15988             </summary>
15989             <param name="writer"><see cref="T:System.IO.TextWriter"/> to which the spaces will be appended.</param>
15990             <param name="length">The number of spaces to be padded.</param>
15991             <remarks>
15992             <para>
15993             Fast space padding method.
15994             </para>
15995             </remarks>
15996         </member>
15997         <member name="F:log4net.Util.PatternConverter.m_option">
15998             <summary>
15999             The option string to the converter
16000             </summary>
16001         </member>
16002         <member name="M:log4net.Util.PatternConverter.WriteDictionary(System.IO.TextWriter,log4net.Repository.ILoggerRepository,System.Collections.IDictionary)">
16003             <summary>
16004             Write an dictionary to a <see cref="T:System.IO.TextWriter"/>
16005             </summary>
16006             <param name="writer">the writer to write to</param>
16007             <param name="repository">a <see cref="T:log4net.Repository.ILoggerRepository"/> to use for object conversion</param>
16008             <param name="value">the value to write to the writer</param>
16009             <remarks>
16010             <para>
16011             Writes the <see cref="T:System.Collections.IDictionary"/> to a writer in the form:
16012             </para>
16013             <code>
16014             {key1=value1, key2=value2, key3=value3}
16015             </code>
16016             <para>
16017             If the <see cref="T:log4net.Repository.ILoggerRepository"/> specified
16018             is not null then it is used to render the key and value to text, otherwise
16019             the object's ToString method is called.
16020             </para>
16021             </remarks>
16022         </member>
16023         <member name="M:log4net.Util.PatternConverter.WriteObject(System.IO.TextWriter,log4net.Repository.ILoggerRepository,System.Object)">
16024             <summary>
16025             Write an object to a <see cref="T:System.IO.TextWriter"/>
16026             </summary>
16027             <param name="writer">the writer to write to</param>
16028             <param name="repository">a <see cref="T:log4net.Repository.ILoggerRepository"/> to use for object conversion</param>
16029             <param name="value">the value to write to the writer</param>
16030             <remarks>
16031             <para>
16032             Writes the Object to a writer. If the <see cref="T:log4net.Repository.ILoggerRepository"/> specified
16033             is not null then it is used to render the object to text, otherwise
16034             the object's ToString method is called.
16035             </para>
16036             </remarks>
16037         </member>
16038         <member name="P:log4net.Util.PatternConverter.Next">
16039             <summary>
16040             Get the next pattern converter in the chain
16041             </summary>
16042             <value>
16043             the next pattern converter in the chain
16044             </value>
16045             <remarks>
16046             <para>
16047             Get the next pattern converter in the chain
16048             </para>
16049             </remarks>
16050         </member>
16051         <member name="P:log4net.Util.PatternConverter.FormattingInfo">
16052             <summary>
16053             Gets or sets the formatting info for this converter
16054             </summary>
16055             <value>
16056             The formatting info for this converter
16057             </value>
16058             <remarks>
16059             <para>
16060             Gets or sets the formatting info for this converter
16061             </para>
16062             </remarks>
16063         </member>
16064         <member name="P:log4net.Util.PatternConverter.Option">
16065             <summary>
16066             Gets or sets the option value for this converter
16067             </summary>
16068             <summary>
16069             The option for this converter
16070             </summary>
16071             <remarks>
16072             <para>
16073             Gets or sets the option value for this converter
16074             </para>
16075             </remarks>
16076         </member>
16077         <member name="M:log4net.Layout.Pattern.PatternLayoutConverter.#ctor">
16078             <summary>
16079             Initializes a new instance of the <see cref="T:log4net.Layout.Pattern.PatternLayoutConverter"/> class.
16080             </summary>
16081         </member>
16082         <member name="M:log4net.Layout.Pattern.PatternLayoutConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16083             <summary>
16084             Derived pattern converters must override this method in order to
16085             convert conversion specifiers in the correct way.
16086             </summary>
16087             <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
16088             <param name="loggingEvent">The <see cref="T:log4net.Core.LoggingEvent"/> on which the pattern converter should be executed.</param>
16089         </member>
16090         <member name="M:log4net.Layout.Pattern.PatternLayoutConverter.Convert(System.IO.TextWriter,System.Object)">
16091             <summary>
16092             Derived pattern converters must override this method in order to
16093             convert conversion specifiers in the correct way.
16094             </summary>
16095             <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
16096             <param name="state">The state object on which the pattern converter should be executed.</param>
16097         </member>
16098         <member name="F:log4net.Layout.Pattern.PatternLayoutConverter.m_ignoresException">
16099             <summary>
16100             Flag indicating if this converter handles exceptions
16101             </summary>
16102             <remarks>
16103             <c>false</c> if this converter handles exceptions
16104             </remarks>
16105         </member>
16106         <member name="P:log4net.Layout.Pattern.PatternLayoutConverter.IgnoresException">
16107             <summary>
16108             Flag indicating if this converter handles the logging event exception
16109             </summary>
16110             <value><c>false</c> if this converter handles the logging event exception</value>
16111             <remarks>
16112             <para>
16113             If this converter handles the exception object contained within
16114             <see cref="T:log4net.Core.LoggingEvent"/>, then this property should be set to
16115             <c>false</c>. Otherwise, if the layout ignores the exception
16116             object, then the property should be set to <c>true</c>.
16117             </para>
16118             <para>
16119             Set this value to override a this default setting. The default
16120             value is <c>true</c>, this converter does not handle the exception.
16121             </para>
16122             </remarks>
16123         </member>
16124         <member name="M:log4net.Layout.Pattern.AppDomainPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16125             <summary>
16126             Write the event appdomain name to the output
16127             </summary>
16128             <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
16129             <param name="loggingEvent">the event being logged</param>
16130             <remarks>
16131             <para>
16132             Writes the <see cref="P:log4net.Core.LoggingEvent.Domain"/> to the output <paramref name="writer"/>.
16133             </para>
16134             </remarks>
16135         </member>
16136         <member name="T:log4net.Layout.Pattern.DatePatternConverter">
16137             <summary>
16138             Date pattern converter, uses a <see cref="T:log4net.DateFormatter.IDateFormatter"/> to format 
16139             the date of a <see cref="T:log4net.Core.LoggingEvent"/>.
16140             </summary>
16141             <remarks>
16142             <para>
16143             Render the <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> to the writer as a string.
16144             </para>
16145             <para>
16146             The value of the <see cref="P:log4net.Util.PatternConverter.Option"/> determines 
16147             the formatting of the date. The following values are allowed:
16148             <list type="definition">
16149                 <listheader>
16150                         <term>Option value</term>
16151                         <description>Output</description>
16152                 </listheader>
16153                 <item>
16154                         <term>ISO8601</term>
16155                         <description>
16156                         Uses the <see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/> formatter. 
16157                         Formats using the <c>"yyyy-MM-dd HH:mm:ss,fff"</c> pattern.
16158                         </description>
16159                 </item>
16160                 <item>
16161                         <term>DATE</term>
16162                         <description>
16163                         Uses the <see cref="T:log4net.DateFormatter.DateTimeDateFormatter"/> formatter. 
16164                         Formats using the <c>"dd MMM yyyy HH:mm:ss,fff"</c> for example, <c>"06 Nov 1994 15:49:37,459"</c>.
16165                         </description>
16166                 </item>
16167                 <item>
16168                         <term>ABSOLUTE</term>
16169                         <description>
16170                         Uses the <see cref="T:log4net.DateFormatter.AbsoluteTimeDateFormatter"/> formatter. 
16171                         Formats using the <c>"HH:mm:ss,yyyy"</c> for example, <c>"15:49:37,459"</c>.
16172                         </description>
16173                 </item>
16174                 <item>
16175                         <term>other</term>
16176                         <description>
16177                         Any other pattern string uses the <see cref="T:log4net.DateFormatter.SimpleDateFormatter"/> formatter. 
16178                         This formatter passes the pattern string to the <see cref="T:System.DateTime"/> 
16179                         <see cref="M:System.DateTime.ToString(System.String)"/> method.
16180                         For details on valid patterns see 
16181                         <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemglobalizationdatetimeformatinfoclasstopic.asp">DateTimeFormatInfo Class</a>.
16182                         </description>
16183                 </item>
16184             </list>
16185             </para>
16186             <para>
16187             The <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> is in the local time zone and is rendered in that zone.
16188             To output the time in Universal time see <see cref="T:log4net.Layout.Pattern.UtcDatePatternConverter"/>.
16189             </para>
16190             </remarks>
16191             <author>Nicko Cadell</author>
16192         </member>
16193         <member name="F:log4net.Layout.Pattern.DatePatternConverter.m_dateFormatter">
16194             <summary>
16195             The <see cref="T:log4net.DateFormatter.IDateFormatter"/> used to render the date to a string
16196             </summary>
16197             <remarks>
16198             <para>
16199             The <see cref="T:log4net.DateFormatter.IDateFormatter"/> used to render the date to a string
16200             </para>
16201             </remarks>
16202         </member>
16203         <member name="M:log4net.Layout.Pattern.DatePatternConverter.ActivateOptions">
16204             <summary>
16205             Initialize the converter pattern based on the <see cref="P:log4net.Util.PatternConverter.Option"/> property.
16206             </summary>
16207             <remarks>
16208             <para>
16209             This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
16210             activation scheme. The <see cref="M:log4net.Layout.Pattern.DatePatternConverter.ActivateOptions"/> method must 
16211             be called on this object after the configuration properties have
16212             been set. Until <see cref="M:log4net.Layout.Pattern.DatePatternConverter.ActivateOptions"/> is called this
16213             object is in an undefined state and must not be used. 
16214             </para>
16215             <para>
16216             If any of the configuration properties are modified then 
16217             <see cref="M:log4net.Layout.Pattern.DatePatternConverter.ActivateOptions"/> must be called again.
16218             </para>
16219             </remarks>
16220         </member>
16221         <member name="M:log4net.Layout.Pattern.DatePatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16222             <summary>
16223             Convert the pattern into the rendered message
16224             </summary>
16225             <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
16226             <param name="loggingEvent">the event being logged</param>
16227             <remarks>
16228             <para>
16229             Pass the <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> to the <see cref="T:log4net.DateFormatter.IDateFormatter"/>
16230             for it to render it to the writer.
16231             </para>
16232             <para>
16233             The <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> passed is in the local time zone.
16234             </para>
16235             </remarks>
16236         </member>
16237         <member name="T:log4net.Layout.Pattern.ExceptionPatternConverter">
16238             <summary>
16239             Write the exception text to the output
16240             </summary>
16241             <remarks>
16242             <para>
16243             If an exception object is stored in the logging event
16244             it will be rendered into the pattern output with a
16245             trailing newline.
16246             </para>
16247             <para>
16248             If there is no exception then nothing will be output
16249             and no trailing newline will be appended.
16250             It is typical to put a newline before the exception
16251             and to have the exception as the last data in the pattern.
16252             </para>
16253             </remarks>
16254             <author>Nicko Cadell</author>
16255         </member>
16256         <member name="M:log4net.Layout.Pattern.ExceptionPatternConverter.#ctor">
16257             <summary>
16258             Default constructor
16259             </summary>
16260         </member>
16261         <member name="M:log4net.Layout.Pattern.ExceptionPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16262             <summary>
16263             Write the exception text to the output
16264             </summary>
16265             <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
16266             <param name="loggingEvent">the event being logged</param>
16267             <remarks>
16268             <para>
16269             If an exception object is stored in the logging event
16270             it will be rendered into the pattern output with a
16271             trailing newline.
16272             </para>
16273             <para>
16274             If there is no exception then nothing will be output
16275             and no trailing newline will be appended.
16276             It is typical to put a newline before the exception
16277             and to have the exception as the last data in the pattern.
16278             </para>
16279             </remarks>
16280         </member>
16281         <member name="T:log4net.Layout.Pattern.FileLocationPatternConverter">
16282             <summary>
16283             Writes the caller location file name to the output
16284             </summary>
16285             <remarks>
16286             <para>
16287             Writes the value of the <see cref="P:log4net.Core.LocationInfo.FileName"/> for
16288             the event to the output writer.
16289             </para>
16290             </remarks>
16291             <author>Nicko Cadell</author>
16292         </member>
16293         <member name="M:log4net.Layout.Pattern.FileLocationPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16294             <summary>
16295             Write the caller location file name to the output
16296             </summary>
16297             <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
16298             <param name="loggingEvent">the event being logged</param>
16299             <remarks>
16300             <para>
16301             Writes the value of the <see cref="P:log4net.Core.LocationInfo.FileName"/> for
16302             the <paramref name="loggingEvent"/> to the output <paramref name="writer"/>.
16303             </para>
16304             </remarks>
16305         </member>
16306         <member name="T:log4net.Layout.Pattern.FullLocationPatternConverter">
16307             <summary>
16308             Write the caller location info to the output
16309             </summary>
16310             <remarks>
16311             <para>
16312             Writes the <see cref="P:log4net.Core.LocationInfo.FullInfo"/> to the output writer.
16313             </para>
16314             </remarks>
16315             <author>Nicko Cadell</author>
16316         </member>
16317         <member name="M:log4net.Layout.Pattern.FullLocationPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16318             <summary>
16319             Write the caller location info to the output
16320             </summary>
16321             <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
16322             <param name="loggingEvent">the event being logged</param>
16323             <remarks>
16324             <para>
16325             Writes the <see cref="P:log4net.Core.LocationInfo.FullInfo"/> to the output writer.
16326             </para>
16327             </remarks>
16328         </member>
16329         <member name="T:log4net.Layout.Pattern.IdentityPatternConverter">
16330             <summary>
16331             Writes the event identity to the output
16332             </summary>
16333             <remarks>
16334             <para>
16335             Writes the value of the <see cref="P:log4net.Core.LoggingEvent.Identity"/> to
16336             the output writer.
16337             </para>
16338             </remarks>
16339             <author>Daniel Cazzulino</author>
16340             <author>Nicko Cadell</author>
16341         </member>
16342         <member name="M:log4net.Layout.Pattern.IdentityPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16343             <summary>
16344             Writes the event identity to the output
16345             </summary>
16346             <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
16347             <param name="loggingEvent">the event being logged</param>
16348             <remarks>
16349             <para>
16350             Writes the value of the <paramref name="loggingEvent"/> 
16351             <see cref="P:log4net.Core.LoggingEvent.Identity"/> to
16352             the output <paramref name="writer"/>.
16353             </para>
16354             </remarks>
16355         </member>
16356         <member name="T:log4net.Layout.Pattern.LevelPatternConverter">
16357             <summary>
16358             Write the event level to the output
16359             </summary>
16360             <remarks>
16361             <para>
16362             Writes the display name of the event <see cref="P:log4net.Core.LoggingEvent.Level"/>
16363             to the writer.
16364             </para>
16365             </remarks>
16366             <author>Nicko Cadell</author>
16367         </member>
16368         <member name="M:log4net.Layout.Pattern.LevelPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16369             <summary>
16370             Write the event level to the output
16371             </summary>
16372             <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
16373             <param name="loggingEvent">the event being logged</param>
16374             <remarks>
16375             <para>
16376             Writes the <see cref="P:log4net.Core.Level.DisplayName"/> of the <paramref name="loggingEvent"/> <see cref="P:log4net.Core.LoggingEvent.Level"/>
16377             to the <paramref name="writer"/>.
16378             </para>
16379             </remarks>
16380         </member>
16381         <member name="T:log4net.Layout.Pattern.LineLocationPatternConverter">
16382             <summary>
16383             Write the caller location line number to the output
16384             </summary>
16385             <remarks>
16386             <para>
16387             Writes the value of the <see cref="P:log4net.Core.LocationInfo.LineNumber"/> for
16388             the event to the output writer.
16389             </para>
16390             </remarks>
16391             <author>Nicko Cadell</author>
16392         </member>
16393         <member name="M:log4net.Layout.Pattern.LineLocationPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16394             <summary>
16395             Write the caller location line number to the output
16396             </summary>
16397             <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
16398             <param name="loggingEvent">the event being logged</param>
16399             <remarks>
16400             <para>
16401             Writes the value of the <see cref="P:log4net.Core.LocationInfo.LineNumber"/> for
16402             the <paramref name="loggingEvent"/> to the output <paramref name="writer"/>.
16403             </para>
16404             </remarks>
16405         </member>
16406         <member name="T:log4net.Layout.Pattern.LoggerPatternConverter">
16407             <summary>
16408             Converter for logger name
16409             </summary>
16410             <remarks>
16411             <para>
16412             Outputs the <see cref="P:log4net.Core.LoggingEvent.LoggerName"/> of the event.
16413             </para>
16414             </remarks>
16415             <author>Nicko Cadell</author>
16416         </member>
16417         <member name="T:log4net.Layout.Pattern.NamedPatternConverter">
16418             <summary>
16419             Converter to output and truncate <c>'.'</c> separated strings
16420             </summary>
16421             <remarks>
16422             <para>
16423             This abstract class supports truncating a <c>'.'</c> separated string
16424             to show a specified number of elements from the right hand side.
16425             This is used to truncate class names that are fully qualified.
16426             </para>
16427             <para>
16428             Subclasses should override the <see cref="M:log4net.Layout.Pattern.NamedPatternConverter.GetFullyQualifiedName(log4net.Core.LoggingEvent)"/> method to
16429             return the fully qualified string.
16430             </para>
16431             </remarks>
16432             <author>Nicko Cadell</author>
16433         </member>
16434         <member name="M:log4net.Layout.Pattern.NamedPatternConverter.ActivateOptions">
16435             <summary>
16436             Initialize the converter 
16437             </summary>
16438             <remarks>
16439             <para>
16440             This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
16441             activation scheme. The <see cref="M:log4net.Layout.Pattern.NamedPatternConverter.ActivateOptions"/> method must 
16442             be called on this object after the configuration properties have
16443             been set. Until <see cref="M:log4net.Layout.Pattern.NamedPatternConverter.ActivateOptions"/> is called this
16444             object is in an undefined state and must not be used. 
16445             </para>
16446             <para>
16447             If any of the configuration properties are modified then 
16448             <see cref="M:log4net.Layout.Pattern.NamedPatternConverter.ActivateOptions"/> must be called again.
16449             </para>
16450             </remarks>
16451         </member>
16452         <member name="M:log4net.Layout.Pattern.NamedPatternConverter.GetFullyQualifiedName(log4net.Core.LoggingEvent)">
16453             <summary>
16454             Get the fully qualified string data
16455             </summary>
16456             <param name="loggingEvent">the event being logged</param>
16457             <returns>the fully qualified name</returns>
16458             <remarks>
16459             <para>
16460             Overridden by subclasses to get the fully qualified name before the
16461             precision is applied to it.
16462             </para>
16463             <para>
16464             Return the fully qualified <c>'.'</c> (dot/period) separated string.
16465             </para>
16466             </remarks>
16467         </member>
16468         <member name="M:log4net.Layout.Pattern.NamedPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16469             <summary>
16470             Convert the pattern to the rendered message
16471             </summary>
16472             <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
16473             <param name="loggingEvent">the event being logged</param>
16474             <remarks>
16475             Render the <see cref="M:log4net.Layout.Pattern.NamedPatternConverter.GetFullyQualifiedName(log4net.Core.LoggingEvent)"/> to the precision
16476             specified by the <see cref="P:log4net.Util.PatternConverter.Option"/> property.
16477             </remarks>
16478         </member>
16479         <member name="M:log4net.Layout.Pattern.LoggerPatternConverter.GetFullyQualifiedName(log4net.Core.LoggingEvent)">
16480             <summary>
16481             Gets the fully qualified name of the logger
16482             </summary>
16483             <param name="loggingEvent">the event being logged</param>
16484             <returns>The fully qualified logger name</returns>
16485             <remarks>
16486             <para>
16487             Returns the <see cref="P:log4net.Core.LoggingEvent.LoggerName"/> of the <paramref name="loggingEvent"/>.
16488             </para>
16489             </remarks>
16490         </member>
16491         <member name="T:log4net.Layout.Pattern.MessagePatternConverter">
16492             <summary>
16493             Writes the event message to the output
16494             </summary>
16495             <remarks>
16496             <para>
16497             Uses the <see cref="M:log4net.Core.LoggingEvent.WriteRenderedMessage(System.IO.TextWriter)"/> method
16498             to write out the event message.
16499             </para>
16500             </remarks>
16501             <author>Nicko Cadell</author>
16502         </member>
16503         <member name="M:log4net.Layout.Pattern.MessagePatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16504             <summary>
16505             Writes the event message to the output
16506             </summary>
16507             <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
16508             <param name="loggingEvent">the event being logged</param>
16509             <remarks>
16510             <para>
16511             Uses the <see cref="M:log4net.Core.LoggingEvent.WriteRenderedMessage(System.IO.TextWriter)"/> method
16512             to write out the event message.
16513             </para>
16514             </remarks>
16515         </member>
16516         <member name="T:log4net.Layout.Pattern.MethodLocationPatternConverter">
16517             <summary>
16518             Write the method name to the output
16519             </summary>
16520             <remarks>
16521             <para>
16522             Writes the caller location <see cref="P:log4net.Core.LocationInfo.MethodName"/> to
16523             the output.
16524             </para>
16525             </remarks>
16526             <author>Nicko Cadell</author>
16527         </member>
16528         <member name="M:log4net.Layout.Pattern.MethodLocationPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16529             <summary>
16530             Write the method name to the output
16531             </summary>
16532             <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
16533             <param name="loggingEvent">the event being logged</param>
16534             <remarks>
16535             <para>
16536             Writes the caller location <see cref="P:log4net.Core.LocationInfo.MethodName"/> to
16537             the output.
16538             </para>
16539             </remarks>
16540         </member>
16541         <member name="T:log4net.Layout.Pattern.NdcPatternConverter">
16542             <summary>
16543             Converter to include event NDC
16544             </summary>
16545             <remarks>
16546             <para>
16547             Outputs the value of the event property named <c>NDC</c>.
16548             </para>
16549             <para>
16550             The <see cref="T:log4net.Layout.Pattern.PropertyPatternConverter"/> should be used instead.
16551             </para>
16552             </remarks>
16553             <author>Nicko Cadell</author>
16554         </member>
16555         <member name="M:log4net.Layout.Pattern.NdcPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16556             <summary>
16557             Write the event NDC to the output
16558             </summary>
16559             <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
16560             <param name="loggingEvent">the event being logged</param>
16561             <remarks>
16562             <para>
16563             As the thread context stacks are now stored in named event properties
16564             this converter simply looks up the value of the <c>NDC</c> property.
16565             </para>
16566             <para>
16567             The <see cref="T:log4net.Layout.Pattern.PropertyPatternConverter"/> should be used instead.
16568             </para>
16569             </remarks>
16570         </member>
16571         <member name="T:log4net.Layout.Pattern.PropertyPatternConverter">
16572             <summary>
16573             Property pattern converter
16574             </summary>
16575             <remarks>
16576             <para>
16577             Writes out the value of a named property. The property name
16578             should be set in the <see cref="P:log4net.Util.PatternConverter.Option"/>
16579             property.
16580             </para>
16581             <para>
16582             If the <see cref="P:log4net.Util.PatternConverter.Option"/> is set to <c>null</c>
16583             then all the properties are written as key value pairs.
16584             </para>
16585             </remarks>
16586             <author>Nicko Cadell</author>
16587         </member>
16588         <member name="M:log4net.Layout.Pattern.PropertyPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16589             <summary>
16590             Write the property value to the output
16591             </summary>
16592             <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
16593             <param name="loggingEvent">the event being logged</param>
16594             <remarks>
16595             <para>
16596             Writes out the value of a named property. The property name
16597             should be set in the <see cref="P:log4net.Util.PatternConverter.Option"/>
16598             property.
16599             </para>
16600             <para>
16601             If the <see cref="P:log4net.Util.PatternConverter.Option"/> is set to <c>null</c>
16602             then all the properties are written as key value pairs.
16603             </para>
16604             </remarks>
16605         </member>
16606         <member name="T:log4net.Layout.Pattern.RelativeTimePatternConverter">
16607             <summary>
16608             Converter to output the relative time of the event
16609             </summary>
16610             <remarks>
16611             <para>
16612             Converter to output the time of the event relative to the start of the program.
16613             </para>
16614             </remarks>
16615             <author>Nicko Cadell</author>
16616         </member>
16617         <member name="M:log4net.Layout.Pattern.RelativeTimePatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16618             <summary>
16619             Write the relative time to the output
16620             </summary>
16621             <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
16622             <param name="loggingEvent">the event being logged</param>
16623             <remarks>
16624             <para>
16625             Writes out the relative time of the event in milliseconds.
16626             That is the number of milliseconds between the event <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/>
16627             and the <see cref="P:log4net.Core.LoggingEvent.StartTime"/>.
16628             </para>
16629             </remarks>
16630         </member>
16631         <member name="M:log4net.Layout.Pattern.RelativeTimePatternConverter.TimeDifferenceInMillis(System.DateTime,System.DateTime)">
16632             <summary>
16633             Helper method to get the time difference between two DateTime objects
16634             </summary>
16635             <param name="start">start time (in the current local time zone)</param>
16636             <param name="end">end time (in the current local time zone)</param>
16637             <returns>the time difference in milliseconds</returns>
16638         </member>
16639         <member name="T:log4net.Layout.Pattern.ThreadPatternConverter">
16640             <summary>
16641             Converter to include event thread name
16642             </summary>
16643             <remarks>
16644             <para>
16645             Writes the <see cref="P:log4net.Core.LoggingEvent.ThreadName"/> to the output.
16646             </para>
16647             </remarks>
16648             <author>Nicko Cadell</author>
16649         </member>
16650         <member name="M:log4net.Layout.Pattern.ThreadPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16651             <summary>
16652             Write the ThreadName to the output
16653             </summary>
16654             <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
16655             <param name="loggingEvent">the event being logged</param>
16656             <remarks>
16657             <para>
16658             Writes the <see cref="P:log4net.Core.LoggingEvent.ThreadName"/> to the <paramref name="writer"/>.
16659             </para>
16660             </remarks>
16661         </member>
16662         <member name="T:log4net.Layout.Pattern.TypeNamePatternConverter">
16663             <summary>
16664             Pattern converter for the class name
16665             </summary>
16666             <remarks>
16667             <para>
16668             Outputs the <see cref="P:log4net.Core.LocationInfo.ClassName"/> of the event.
16669             </para>
16670             </remarks>
16671             <author>Nicko Cadell</author>
16672         </member>
16673         <member name="M:log4net.Layout.Pattern.TypeNamePatternConverter.GetFullyQualifiedName(log4net.Core.LoggingEvent)">
16674             <summary>
16675             Gets the fully qualified name of the class
16676             </summary>
16677             <param name="loggingEvent">the event being logged</param>
16678             <returns>The fully qualified type name for the caller location</returns>
16679             <remarks>
16680             <para>
16681             Returns the <see cref="P:log4net.Core.LocationInfo.ClassName"/> of the <paramref name="loggingEvent"/>.
16682             </para>
16683             </remarks>
16684         </member>
16685         <member name="T:log4net.Layout.Pattern.UserNamePatternConverter">
16686             <summary>
16687             Converter to include event user name
16688             </summary>
16689             <author>Douglas de la Torre</author>
16690             <author>Nicko Cadell</author>
16691         </member>
16692         <member name="M:log4net.Layout.Pattern.UserNamePatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16693             <summary>
16694             Convert the pattern to the rendered message
16695             </summary>
16696             <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
16697             <param name="loggingEvent">the event being logged</param>
16698         </member>
16699         <member name="T:log4net.Layout.Pattern.UtcDatePatternConverter">
16700             <summary>
16701             Write the TimeStamp to the output
16702             </summary>
16703             <remarks>
16704             <para>
16705             Date pattern converter, uses a <see cref="T:log4net.DateFormatter.IDateFormatter"/> to format 
16706             the date of a <see cref="T:log4net.Core.LoggingEvent"/>.
16707             </para>
16708             <para>
16709             Uses a <see cref="T:log4net.DateFormatter.IDateFormatter"/> to format the <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> 
16710             in Universal time.
16711             </para>
16712             <para>
16713             See the <see cref="T:log4net.Layout.Pattern.DatePatternConverter"/> for details on the date pattern syntax.
16714             </para>
16715             </remarks>
16716             <seealso cref="T:log4net.Layout.Pattern.DatePatternConverter"/>
16717             <author>Nicko Cadell</author>
16718         </member>
16719         <member name="M:log4net.Layout.Pattern.UtcDatePatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16720             <summary>
16721             Write the TimeStamp to the output
16722             </summary>
16723             <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
16724             <param name="loggingEvent">the event being logged</param>
16725             <remarks>
16726             <para>
16727             Pass the <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> to the <see cref="T:log4net.DateFormatter.IDateFormatter"/>
16728             for it to render it to the writer.
16729             </para>
16730             <para>
16731             The <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> passed is in the local time zone, this is converted
16732             to Universal time before it is rendered.
16733             </para>
16734             </remarks>
16735             <seealso cref="T:log4net.Layout.Pattern.DatePatternConverter"/>
16736         </member>
16737         <member name="T:log4net.Layout.ExceptionLayout">
16738             <summary>
16739             A Layout that renders only the Exception text from the logging event
16740             </summary>
16741             <remarks>
16742             <para>
16743             A Layout that renders only the Exception text from the logging event.
16744             </para>
16745             <para>
16746             This Layout should only be used with appenders that utilize multiple
16747             layouts (e.g. <see cref="T:log4net.Appender.AdoNetAppender"/>).
16748             </para>
16749             </remarks>
16750             <author>Nicko Cadell</author>
16751             <author>Gert Driesen</author>
16752         </member>
16753         <member name="T:log4net.Layout.LayoutSkeleton">
16754             <summary>
16755             Extend this abstract class to create your own log layout format.
16756             </summary>
16757             <remarks>
16758             <para>
16759             This is the base implementation of the <see cref="T:log4net.Layout.ILayout"/>
16760             interface. Most layout objects should extend this class.
16761             </para>
16762             </remarks>
16763             <remarks>
16764             <note type="inheritinfo">
16765             <para>
16766             Subclasses must implement the <see cref="M:log4net.Layout.LayoutSkeleton.Format(System.IO.TextWriter,log4net.Core.LoggingEvent)"/>
16767             method.
16768             </para>
16769             <para>
16770             Subclasses should set the <see cref="P:log4net.Layout.LayoutSkeleton.IgnoresException"/> in their default
16771             constructor.
16772             </para>
16773             </note>
16774             </remarks>
16775             <author>Nicko Cadell</author>
16776             <author>Gert Driesen</author>
16777         </member>
16778         <member name="T:log4net.Layout.ILayout">
16779             <summary>
16780             Interface implemented by layout objects
16781             </summary>
16782             <remarks>
16783             <para>
16784             An <see cref="T:log4net.Layout.ILayout"/> object is used to format a <see cref="T:log4net.Core.LoggingEvent"/>
16785             as text. The <see cref="M:log4net.Layout.ILayout.Format(System.IO.TextWriter,log4net.Core.LoggingEvent)"/> method is called by an
16786             appender to transform the <see cref="T:log4net.Core.LoggingEvent"/> into a string.
16787             </para>
16788             <para>
16789             The layout can also supply <see cref="P:log4net.Layout.ILayout.Header"/> and <see cref="P:log4net.Layout.ILayout.Footer"/>
16790             text that is appender before any events and after all the events respectively.
16791             </para>
16792             </remarks>
16793             <author>Nicko Cadell</author>
16794             <author>Gert Driesen</author>
16795         </member>
16796         <member name="M:log4net.Layout.ILayout.Format(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16797             <summary>
16798             Implement this method to create your own layout format.
16799             </summary>
16800             <param name="writer">The TextWriter to write the formatted event to</param>
16801             <param name="loggingEvent">The event to format</param>
16802             <remarks>
16803             <para>
16804             This method is called by an appender to format
16805             the <paramref name="loggingEvent"/> as text and output to a writer.
16806             </para>
16807             <para>
16808             If the caller does not have a <see cref="T:System.IO.TextWriter"/> and prefers the
16809             event to be formatted as a <see cref="T:System.String"/> then the following
16810             code can be used to format the event into a <see cref="T:System.IO.StringWriter"/>.
16811             </para>
16812             <code lang="C#">
16813             StringWriter writer = new StringWriter();
16814             Layout.Format(writer, loggingEvent);
16815             string formattedEvent = writer.ToString();
16816             </code>
16817             </remarks>
16818         </member>
16819         <member name="P:log4net.Layout.ILayout.ContentType">
16820             <summary>
16821             The content type output by this layout. 
16822             </summary>
16823             <value>The content type</value>
16824             <remarks>
16825             <para>
16826             The content type output by this layout.
16827             </para>
16828             <para>
16829             This is a MIME type e.g. <c>"text/plain"</c>.
16830             </para>
16831             </remarks>
16832         </member>
16833         <member name="P:log4net.Layout.ILayout.Header">
16834             <summary>
16835             The header for the layout format.
16836             </summary>
16837             <value>the layout header</value>
16838             <remarks>
16839             <para>
16840             The Header text will be appended before any logging events
16841             are formatted and appended.
16842             </para>
16843             </remarks>
16844         </member>
16845         <member name="P:log4net.Layout.ILayout.Footer">
16846             <summary>
16847             The footer for the layout format.
16848             </summary>
16849             <value>the layout footer</value>
16850             <remarks>
16851             <para>
16852             The Footer text will be appended after all the logging events
16853             have been formatted and appended.
16854             </para>
16855             </remarks>
16856         </member>
16857         <member name="P:log4net.Layout.ILayout.IgnoresException">
16858             <summary>
16859             Flag indicating if this layout handle exceptions
16860             </summary>
16861             <value><c>false</c> if this layout handles exceptions</value>
16862             <remarks>
16863             <para>
16864             If this layout handles the exception object contained within
16865             <see cref="T:log4net.Core.LoggingEvent"/>, then the layout should return
16866             <c>false</c>. Otherwise, if the layout ignores the exception
16867             object, then the layout should return <c>true</c>.
16868             </para>
16869             </remarks>
16870         </member>
16871         <member name="F:log4net.Layout.LayoutSkeleton.m_header">
16872             <summary>
16873             The header text
16874             </summary>
16875             <remarks>
16876             <para>
16877             See <see cref="P:log4net.Layout.LayoutSkeleton.Header"/> for more information.
16878             </para>
16879             </remarks>
16880         </member>
16881         <member name="F:log4net.Layout.LayoutSkeleton.m_footer">
16882             <summary>
16883             The footer text
16884             </summary>
16885             <remarks>
16886             <para>
16887             See <see cref="P:log4net.Layout.LayoutSkeleton.Footer"/> for more information.
16888             </para>
16889             </remarks>
16890         </member>
16891         <member name="F:log4net.Layout.LayoutSkeleton.m_ignoresException">
16892             <summary>
16893             Flag indicating if this layout handles exceptions
16894             </summary>
16895             <remarks>
16896             <para>
16897             <c>false</c> if this layout handles exceptions
16898             </para>
16899             </remarks>
16900         </member>
16901         <member name="M:log4net.Layout.LayoutSkeleton.#ctor">
16902             <summary>
16903             Empty default constructor
16904             </summary>
16905             <remarks>
16906             <para>
16907             Empty default constructor
16908             </para>
16909             </remarks>
16910         </member>
16911         <member name="M:log4net.Layout.LayoutSkeleton.ActivateOptions">
16912             <summary>
16913             Activate component options
16914             </summary>
16915             <remarks>
16916             <para>
16917             This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
16918             activation scheme. The <see cref="M:log4net.Layout.LayoutSkeleton.ActivateOptions"/> method must 
16919             be called on this object after the configuration properties have
16920             been set. Until <see cref="M:log4net.Layout.LayoutSkeleton.ActivateOptions"/> is called this
16921             object is in an undefined state and must not be used. 
16922             </para>
16923             <para>
16924             If any of the configuration properties are modified then 
16925             <see cref="M:log4net.Layout.LayoutSkeleton.ActivateOptions"/> must be called again.
16926             </para>
16927             <para>
16928             This method must be implemented by the subclass.
16929             </para>
16930             </remarks>
16931         </member>
16932         <member name="M:log4net.Layout.LayoutSkeleton.Format(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16933             <summary>
16934             Implement this method to create your own layout format.
16935             </summary>
16936             <param name="writer">The TextWriter to write the formatted event to</param>
16937             <param name="loggingEvent">The event to format</param>
16938             <remarks>
16939             <para>
16940             This method is called by an appender to format
16941             the <paramref name="loggingEvent"/> as text.
16942             </para>
16943             </remarks>
16944         </member>
16945         <member name="P:log4net.Layout.LayoutSkeleton.ContentType">
16946             <summary>
16947             The content type output by this layout. 
16948             </summary>
16949             <value>The content type is <c>"text/plain"</c></value>
16950             <remarks>
16951             <para>
16952             The content type output by this layout.
16953             </para>
16954             <para>
16955             This base class uses the value <c>"text/plain"</c>.
16956             To change this value a subclass must override this
16957             property.
16958             </para>
16959             </remarks>
16960         </member>
16961         <member name="P:log4net.Layout.LayoutSkeleton.Header">
16962             <summary>
16963             The header for the layout format.
16964             </summary>
16965             <value>the layout header</value>
16966             <remarks>
16967             <para>
16968             The Header text will be appended before any logging events
16969             are formatted and appended.
16970             </para>
16971             </remarks>
16972         </member>
16973         <member name="P:log4net.Layout.LayoutSkeleton.Footer">
16974             <summary>
16975             The footer for the layout format.
16976             </summary>
16977             <value>the layout footer</value>
16978             <remarks>
16979             <para>
16980             The Footer text will be appended after all the logging events
16981             have been formatted and appended.
16982             </para>
16983             </remarks>
16984         </member>
16985         <member name="P:log4net.Layout.LayoutSkeleton.IgnoresException">
16986             <summary>
16987             Flag indicating if this layout handles exceptions
16988             </summary>
16989             <value><c>false</c> if this layout handles exceptions</value>
16990             <remarks>
16991             <para>
16992             If this layout handles the exception object contained within
16993             <see cref="T:log4net.Core.LoggingEvent"/>, then the layout should return
16994             <c>false</c>. Otherwise, if the layout ignores the exception
16995             object, then the layout should return <c>true</c>.
16996             </para>
16997             <para>
16998             Set this value to override a this default setting. The default
16999             value is <c>true</c>, this layout does not handle the exception.
17000             </para>
17001             </remarks>
17002         </member>
17003         <member name="M:log4net.Layout.ExceptionLayout.#ctor">
17004             <summary>
17005             Default constructor
17006             </summary>
17007             <remarks>
17008             <para>
17009             Constructs a ExceptionLayout
17010             </para>
17011             </remarks>
17012         </member>
17013         <member name="M:log4net.Layout.ExceptionLayout.ActivateOptions">
17014             <summary>
17015             Activate component options
17016             </summary>
17017             <remarks>
17018             <para>
17019             Part of the <see cref="T:log4net.Core.IOptionHandler"/> component activation
17020             framework.
17021             </para>
17022             <para>
17023             This method does nothing as options become effective immediately.
17024             </para>
17025             </remarks>
17026         </member>
17027         <member name="M:log4net.Layout.ExceptionLayout.Format(System.IO.TextWriter,log4net.Core.LoggingEvent)">
17028             <summary>
17029             Gets the exception text from the logging event
17030             </summary>
17031             <param name="writer">The TextWriter to write the formatted event to</param>
17032             <param name="loggingEvent">the event being logged</param>
17033             <remarks>
17034             <para>
17035             Write the exception string to the <see cref="T:System.IO.TextWriter"/>.
17036             The exception string is retrieved from <see cref="M:log4net.Core.LoggingEvent.GetExceptionString"/>.
17037             </para>
17038             </remarks>
17039         </member>
17040         <member name="T:log4net.Layout.IRawLayout">
17041             <summary>
17042             Interface for raw layout objects
17043             </summary>
17044             <remarks>
17045             <para>
17046             Interface used to format a <see cref="T:log4net.Core.LoggingEvent"/>
17047             to an object.
17048             </para>
17049             <para>
17050             This interface should not be confused with the
17051             <see cref="T:log4net.Layout.ILayout"/> interface. This interface is used in
17052             only certain specialized situations where a raw object is
17053             required rather than a formatted string. The <see cref="T:log4net.Layout.ILayout"/>
17054             is not generally useful than this interface.
17055             </para>
17056             </remarks>
17057             <author>Nicko Cadell</author>
17058             <author>Gert Driesen</author>
17059         </member>
17060         <member name="M:log4net.Layout.IRawLayout.Format(log4net.Core.LoggingEvent)">
17061             <summary>
17062             Implement this method to create your own layout format.
17063             </summary>
17064             <param name="loggingEvent">The event to format</param>
17065             <returns>returns the formatted event</returns>
17066             <remarks>
17067             <para>
17068             Implement this method to create your own layout format.
17069             </para>
17070             </remarks>
17071         </member>
17072         <member name="T:log4net.Layout.Layout2RawLayoutAdapter">
17073             <summary>
17074             Adapts any <see cref="T:log4net.Layout.ILayout"/> to a <see cref="T:log4net.Layout.IRawLayout"/>
17075             </summary>
17076             <remarks>
17077             <para>
17078             Where an <see cref="T:log4net.Layout.IRawLayout"/> is required this adapter
17079             allows a <see cref="T:log4net.Layout.ILayout"/> to be specified.
17080             </para>
17081             </remarks>
17082             <author>Nicko Cadell</author>
17083             <author>Gert Driesen</author>
17084         </member>
17085         <member name="F:log4net.Layout.Layout2RawLayoutAdapter.m_layout">
17086             <summary>
17087             The layout to adapt
17088             </summary>
17089         </member>
17090         <member name="M:log4net.Layout.Layout2RawLayoutAdapter.#ctor(log4net.Layout.ILayout)">
17091             <summary>
17092             Construct a new adapter
17093             </summary>
17094             <param name="layout">the layout to adapt</param>
17095             <remarks>
17096             <para>
17097             Create the adapter for the specified <paramref name="layout"/>.
17098             </para>
17099             </remarks>
17100         </member>
17101         <member name="M:log4net.Layout.Layout2RawLayoutAdapter.Format(log4net.Core.LoggingEvent)">
17102             <summary>
17103             Format the logging event as an object.
17104             </summary>
17105             <param name="loggingEvent">The event to format</param>
17106             <returns>returns the formatted event</returns>
17107             <remarks>
17108             <para>
17109             Format the logging event as an object.
17110             </para>
17111             <para>
17112             Uses the <see cref="T:log4net.Layout.ILayout"/> object supplied to 
17113             the constructor to perform the formatting.
17114             </para>
17115             </remarks>
17116         </member>
17117         <member name="T:log4net.Layout.PatternLayout">
17118             <summary>
17119             A flexible layout configurable with pattern string.
17120             </summary>
17121             <remarks>
17122             <para>
17123             The goal of this class is to <see cref="M:log4net.Layout.PatternLayout.Format(System.IO.TextWriter,log4net.Core.LoggingEvent)"/> a 
17124             <see cref="T:log4net.Core.LoggingEvent"/> as a string. The results
17125             depend on the <i>conversion pattern</i>.
17126             </para>
17127             <para>
17128             The conversion pattern is closely related to the conversion
17129             pattern of the printf function in C. A conversion pattern is
17130             composed of literal text and format control expressions called
17131             <i>conversion specifiers</i>.
17132             </para>
17133             <para>
17134             <i>You are free to insert any literal text within the conversion
17135             pattern.</i>
17136             </para>
17137             <para>
17138             Each conversion specifier starts with a percent sign (%) and is
17139             followed by optional <i>format modifiers</i> and a <i>conversion
17140             pattern name</i>. The conversion pattern name specifies the type of
17141             data, e.g. logger, level, date, thread name. The format
17142             modifiers control such things as field width, padding, left and
17143             right justification. The following is a simple example.
17144             </para>
17145             <para>
17146             Let the conversion pattern be <b>"%-5level [%thread]: %message%newline"</b> and assume
17147             that the log4net environment was set to use a PatternLayout. Then the
17148             statements
17149             </para>
17150             <code lang="C#">
17151             ILog log = LogManager.GetLogger(typeof(TestApp));
17152             log.Debug("Message 1");
17153             log.Warn("Message 2");   
17154             </code>
17155             <para>would yield the output</para>
17156             <code>
17157             DEBUG [main]: Message 1
17158             WARN  [main]: Message 2  
17159             </code>
17160             <para>
17161             Note that there is no explicit separator between text and
17162             conversion specifiers. The pattern parser knows when it has reached
17163             the end of a conversion specifier when it reads a conversion
17164             character. In the example above the conversion specifier
17165             <b>%-5level</b> means the level of the logging event should be left
17166             justified to a width of five characters.
17167             </para>
17168             <para>
17169             The recognized conversion pattern names are:
17170             </para>
17171             <list type="table">
17172                 <listheader>
17173                     <term>Conversion Pattern Name</term>
17174                     <description>Effect</description>
17175                 </listheader>
17176                 <item>
17177                     <term>a</term>
17178                     <description>Equivalent to <b>appdomain</b></description>
17179                 </item>
17180                 <item>
17181                     <term>appdomain</term>
17182                     <description>
17183                                 Used to output the friendly name of the AppDomain where the 
17184                                 logging event was generated. 
17185                     </description>
17186                 </item>
17187                 <item>
17188                     <term>c</term>
17189                     <description>Equivalent to <b>logger</b></description>
17190                 </item>
17191                 <item>
17192                     <term>C</term>
17193                     <description>Equivalent to <b>type</b></description>
17194                 </item>
17195                 <item>
17196                     <term>class</term>
17197                     <description>Equivalent to <b>type</b></description>
17198                 </item>
17199                 <item>
17200                     <term>d</term>
17201                     <description>Equivalent to <b>date</b></description>
17202                 </item>
17203                 <item>
17204                         <term>date</term> 
17205                         <description>
17206                                 <para>
17207                                 Used to output the date of the logging event in the local time zone. 
17208                                 To output the date in universal time use the <c>%utcdate</c> pattern.
17209                                 The date conversion 
17210                                 specifier may be followed by a <i>date format specifier</i> enclosed 
17211                                 between braces. For example, <b>%date{HH:mm:ss,fff}</b> or
17212                                 <b>%date{dd MMM yyyy HH:mm:ss,fff}</b>.  If no date format specifier is 
17213                                 given then ISO8601 format is
17214                                 assumed (<see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/>).
17215                                 </para>
17216                                 <para>
17217                                 The date format specifier admits the same syntax as the
17218                                 time pattern string of the <see cref="M:System.DateTime.ToString(System.String)"/>.
17219                                 </para>
17220                                 <para>
17221                                 For better results it is recommended to use the log4net date
17222                                 formatters. These can be specified using one of the strings
17223                                 "ABSOLUTE", "DATE" and "ISO8601" for specifying 
17224                                 <see cref="T:log4net.DateFormatter.AbsoluteTimeDateFormatter"/>, 
17225                                 <see cref="T:log4net.DateFormatter.DateTimeDateFormatter"/> and respectively 
17226                                 <see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/>. For example, 
17227                                 <b>%date{ISO8601}</b> or <b>%date{ABSOLUTE}</b>.
17228                                 </para>
17229                                 <para>
17230                                 These dedicated date formatters perform significantly
17231                                 better than <see cref="M:System.DateTime.ToString(System.String)"/>.
17232                                 </para>
17233                         </description>
17234                 </item>
17235                 <item>
17236                         <term>exception</term>
17237                         <description>
17238                                 <para>
17239                                 Used to output the exception passed in with the log message.
17240                                 </para>
17241                                 <para>
17242                                 If an exception object is stored in the logging event
17243                                 it will be rendered into the pattern output with a
17244                                 trailing newline.
17245                                 If there is no exception then nothing will be output
17246                                 and no trailing newline will be appended.
17247                                 It is typical to put a newline before the exception
17248                                 and to have the exception as the last data in the pattern.
17249                                 </para>
17250                         </description>
17251                 </item>
17252                 <item>
17253                     <term>F</term>
17254                     <description>Equivalent to <b>file</b></description>
17255                 </item>
17256                 <item>
17257                         <term>file</term>
17258                         <description>
17259                                 <para>
17260                                 Used to output the file name where the logging request was
17261                                 issued.
17262                                 </para>
17263                                 <para>
17264                                 <b>WARNING</b> Generating caller location information is
17265                                 extremely slow. Its use should be avoided unless execution speed
17266                                 is not an issue.
17267                                 </para>
17268                                 <para>
17269                                 See the note below on the availability of caller location information.
17270                                 </para>
17271                         </description>
17272                 </item>
17273                 <item>
17274                         <term>identity</term>
17275                         <description>
17276                                 <para>
17277                                 Used to output the user name for the currently active user
17278                                 (Principal.Identity.Name).
17279                                 </para>
17280                                 <para>
17281                                 <b>WARNING</b> Generating caller information is
17282                                 extremely slow. Its use should be avoided unless execution speed
17283                                 is not an issue.
17284                                 </para>
17285                         </description>
17286                 </item>
17287                 <item>
17288                     <term>l</term>
17289                     <description>Equivalent to <b>location</b></description>
17290                 </item>
17291                 <item>
17292                     <term>L</term>
17293                     <description>Equivalent to <b>line</b></description>
17294                 </item>
17295                 <item>
17296                         <term>location</term>
17297                         <description>
17298                                 <para>
17299                                 Used to output location information of the caller which generated
17300                                 the logging event.
17301                                 </para>
17302                                 <para>
17303                                 The location information depends on the CLI implementation but
17304                                 usually consists of the fully qualified name of the calling
17305                                 method followed by the callers source the file name and line
17306                                 number between parentheses.
17307                                 </para>
17308                                 <para>
17309                                 The location information can be very useful. However, its
17310                                 generation is <b>extremely</b> slow. Its use should be avoided
17311                                 unless execution speed is not an issue.
17312                                 </para>
17313                                 <para>
17314                                 See the note below on the availability of caller location information.
17315                                 </para>
17316                         </description>
17317                 </item>
17318                 <item>
17319                         <term>level</term>
17320                         <description>
17321                                 <para>
17322                                 Used to output the level of the logging event.
17323                                 </para>
17324                         </description>
17325                 </item>
17326                 <item>
17327                         <term>line</term>
17328                         <description>
17329                                 <para>
17330                                 Used to output the line number from where the logging request
17331                                 was issued.
17332                                 </para>
17333                                 <para>
17334                                 <b>WARNING</b> Generating caller location information is
17335                                 extremely slow. Its use should be avoided unless execution speed
17336                                 is not an issue.
17337                                 </para>
17338                                 <para>
17339                                 See the note below on the availability of caller location information.
17340                                 </para>
17341                         </description>
17342                 </item>
17343                 <item>
17344                     <term>logger</term>
17345                     <description>
17346                         <para>
17347                                 Used to output the logger of the logging event. The
17348                                 logger conversion specifier can be optionally followed by
17349                                 <i>precision specifier</i>, that is a decimal constant in
17350                                 brackets.
17351                         </para>
17352                                 <para>
17353                                 If a precision specifier is given, then only the corresponding
17354                                 number of right most components of the logger name will be
17355                                 printed. By default the logger name is printed in full.
17356                                 </para>
17357                                 <para>
17358                                 For example, for the logger name "a.b.c" the pattern
17359                                 <b>%logger{2}</b> will output "b.c".
17360                                 </para>
17361                     </description>
17362                 </item>
17363                 <item>
17364                     <term>m</term>
17365                     <description>Equivalent to <b>message</b></description>
17366                 </item>
17367                 <item>
17368                     <term>M</term>
17369                     <description>Equivalent to <b>method</b></description>
17370                 </item>
17371                 <item>
17372                         <term>message</term>
17373                         <description>
17374                                 <para>
17375                                 Used to output the application supplied message associated with 
17376                                 the logging event.
17377                                 </para>
17378                         </description>
17379                 </item>
17380                 <item>
17381                         <term>mdc</term>
17382                         <description>
17383                                 <para>
17384                                 The MDC (old name for the ThreadContext.Properties) is now part of the
17385                                 combined event properties. This pattern is supported for compatibility
17386                                 but is equivalent to <b>property</b>.
17387                                 </para>
17388                         </description>
17389                 </item>
17390                 <item>
17391                         <term>method</term>
17392                         <description>
17393                                 <para>
17394                                 Used to output the method name where the logging request was
17395                                 issued.
17396                                 </para>
17397                                 <para>
17398                                 <b>WARNING</b> Generating caller location information is
17399                                 extremely slow. Its use should be avoided unless execution speed
17400                                 is not an issue.
17401                                 </para>
17402                                 <para>
17403                                 See the note below on the availability of caller location information.
17404                                 </para>
17405                         </description>
17406                 </item>
17407                 <item>
17408                     <term>n</term>
17409                     <description>Equivalent to <b>newline</b></description>
17410                 </item>
17411                 <item>
17412                         <term>newline</term>
17413                         <description>
17414                                 <para>
17415                                 Outputs the platform dependent line separator character or
17416                                 characters.
17417                                 </para>
17418                                 <para>
17419                                 This conversion pattern offers the same performance as using 
17420                                 non-portable line separator strings such as     "\n", or "\r\n". 
17421                                 Thus, it is the preferred way of specifying a line separator.
17422                                 </para> 
17423                         </description>
17424                 </item>
17425                 <item>
17426                         <term>ndc</term>
17427                         <description>
17428                                 <para>
17429                                 Used to output the NDC (nested diagnostic context) associated
17430                                 with the thread that generated the logging event.
17431                                 </para>
17432                         </description>
17433                 </item>
17434                 <item>
17435                     <term>p</term>
17436                     <description>Equivalent to <b>level</b></description>
17437                 </item>
17438                 <item>
17439                     <term>P</term>
17440                     <description>Equivalent to <b>property</b></description>
17441                 </item>
17442                 <item>
17443                     <term>properties</term>
17444                     <description>Equivalent to <b>property</b></description>
17445                 </item>
17446                 <item>
17447                         <term>property</term>
17448                         <description>
17449                                 <para>
17450                                 Used to output the an event specific property. The key to 
17451                                 lookup must be specified within braces and directly following the
17452                                 pattern specifier, e.g. <b>%property{user}</b> would include the value
17453                                 from the property that is keyed by the string 'user'. Each property value
17454                                 that is to be included in the log must be specified separately.
17455                                 Properties are added to events by loggers or appenders. By default 
17456                                 the <c>log4net:HostName</c> property is set to the name of machine on 
17457                                 which the event was originally logged.
17458                                 </para>
17459                                 <para>
17460                                 If no key is specified, e.g. <b>%property</b> then all the keys and their
17461                                 values are printed in a comma separated list.
17462                                 </para>
17463                                 <para>
17464                                 The properties of an event are combined from a number of different
17465                                 contexts. These are listed below in the order in which they are searched.
17466                                 </para>
17467                                 <list type="definition">
17468                                         <item>
17469                                                 <term>the event properties</term>
17470                                                 <description>
17471                                                 The event has <see cref="P:log4net.Core.LoggingEvent.Properties"/> that can be set. These 
17472                                                 properties are specific to this event only.
17473                                                 </description>
17474                                         </item>
17475                                         <item>
17476                                                 <term>the thread properties</term>
17477                                                 <description>
17478                                                 The <see cref="P:log4net.ThreadContext.Properties"/> that are set on the current
17479                                                 thread. These properties are shared by all events logged on this thread.
17480                                                 </description>
17481                                         </item>
17482                                         <item>
17483                                                 <term>the global properties</term>
17484                                                 <description>
17485                                                 The <see cref="P:log4net.GlobalContext.Properties"/> that are set globally. These 
17486                                                 properties are shared by all the threads in the AppDomain.
17487                                                 </description>
17488                                         </item>
17489                                 </list>
17490                                 
17491                         </description>
17492                 </item>
17493                 <item>
17494                     <term>r</term>
17495                     <description>Equivalent to <b>timestamp</b></description>
17496                 </item>
17497                 <item>
17498                     <term>t</term>
17499                     <description>Equivalent to <b>thread</b></description>
17500                 </item>
17501                 <item>
17502                         <term>timestamp</term>
17503                         <description>
17504                                 <para>
17505                                 Used to output the number of milliseconds elapsed since the start
17506                                 of the application until the creation of the logging event.
17507                                 </para>
17508                         </description>
17509                 </item>
17510                 <item>
17511                         <term>thread</term>
17512                         <description>
17513                                 <para>
17514                                 Used to output the name of the thread that generated the
17515                                 logging event. Uses the thread number if no name is available.
17516                                 </para>
17517                         </description>
17518                 </item>
17519                 <item>
17520                         <term>type</term> 
17521                         <description>
17522                                 <para>
17523                                 Used to output the fully qualified type name of the caller
17524                                 issuing the logging request. This conversion specifier
17525                                 can be optionally followed by <i>precision specifier</i>, that
17526                                 is a decimal constant in brackets.
17527                                 </para>
17528                                 <para>
17529                                 If a precision specifier is given, then only the corresponding
17530                                 number of right most components of the class name will be
17531                                 printed. By default the class name is output in fully qualified form.
17532                                 </para>
17533                                 <para>
17534                                 For example, for the class name "log4net.Layout.PatternLayout", the
17535                                 pattern <b>%type{1}</b> will output "PatternLayout".
17536                                 </para>
17537                                 <para>
17538                                 <b>WARNING</b> Generating the caller class information is
17539                                 slow. Thus, its use should be avoided unless execution speed is
17540                                 not an issue.
17541                                 </para>
17542                                 <para>
17543                                 See the note below on the availability of caller location information.
17544                                 </para>
17545                         </description>
17546                 </item>
17547                 <item>
17548                     <term>u</term>
17549                     <description>Equivalent to <b>identity</b></description>
17550                 </item>
17551                 <item>
17552                         <term>username</term>
17553                         <description>
17554                                 <para>
17555                                 Used to output the WindowsIdentity for the currently
17556                                 active user.
17557                                 </para>
17558                                 <para>
17559                                 <b>WARNING</b> Generating caller WindowsIdentity information is
17560                                 extremely slow. Its use should be avoided unless execution speed
17561                                 is not an issue.
17562                                 </para>
17563                         </description>
17564                 </item>
17565                 <item>
17566                         <term>utcdate</term> 
17567                         <description>
17568                                 <para>
17569                                 Used to output the date of the logging event in universal time. 
17570                                 The date conversion 
17571                                 specifier may be followed by a <i>date format specifier</i> enclosed 
17572                                 between braces. For example, <b>%utcdate{HH:mm:ss,fff}</b> or
17573                                 <b>%utcdate{dd MMM yyyy HH:mm:ss,fff}</b>.  If no date format specifier is 
17574                                 given then ISO8601 format is
17575                                 assumed (<see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/>).
17576                                 </para>
17577                                 <para>
17578                                 The date format specifier admits the same syntax as the
17579                                 time pattern string of the <see cref="M:System.DateTime.ToString(System.String)"/>.
17580                                 </para>
17581                                 <para>
17582                                 For better results it is recommended to use the log4net date
17583                                 formatters. These can be specified using one of the strings
17584                                 "ABSOLUTE", "DATE" and "ISO8601" for specifying 
17585                                 <see cref="T:log4net.DateFormatter.AbsoluteTimeDateFormatter"/>, 
17586                                 <see cref="T:log4net.DateFormatter.DateTimeDateFormatter"/> and respectively 
17587                                 <see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/>. For example, 
17588                                 <b>%utcdate{ISO8601}</b> or <b>%utcdate{ABSOLUTE}</b>.
17589                                 </para>
17590                                 <para>
17591                                 These dedicated date formatters perform significantly
17592                                 better than <see cref="M:System.DateTime.ToString(System.String)"/>.
17593                                 </para>
17594                         </description>
17595                 </item>
17596                 <item>
17597                     <term>w</term>
17598                     <description>Equivalent to <b>username</b></description>
17599                 </item>
17600                 <item>
17601                     <term>x</term>
17602                     <description>Equivalent to <b>ndc</b></description>
17603                 </item>
17604                 <item>
17605                     <term>X</term>
17606                     <description>Equivalent to <b>mdc</b></description>
17607                 </item>
17608                 <item>
17609                         <term>%</term>
17610                         <description>
17611                                 <para>
17612                                 The sequence %% outputs a single percent sign.
17613                                 </para>
17614                         </description>
17615                 </item>
17616             </list>
17617             <para>
17618             The single letter patterns are deprecated in favor of the 
17619             longer more descriptive pattern names.
17620             </para>
17621             <para>
17622             By default the relevant information is output as is. However,
17623             with the aid of format modifiers it is possible to change the
17624             minimum field width, the maximum field width and justification.
17625             </para>
17626             <para>
17627             The optional format modifier is placed between the percent sign
17628             and the conversion pattern name.
17629             </para>
17630             <para>
17631             The first optional format modifier is the <i>left justification
17632             flag</i> which is just the minus (-) character. Then comes the
17633             optional <i>minimum field width</i> modifier. This is a decimal
17634             constant that represents the minimum number of characters to
17635             output. If the data item requires fewer characters, it is padded on
17636             either the left or the right until the minimum width is
17637             reached. The default is to pad on the left (right justify) but you
17638             can specify right padding with the left justification flag. The
17639             padding character is space. If the data item is larger than the
17640             minimum field width, the field is expanded to accommodate the
17641             data. The value is never truncated.
17642             </para>
17643             <para>
17644             This behavior can be changed using the <i>maximum field
17645             width</i> modifier which is designated by a period followed by a
17646             decimal constant. If the data item is longer than the maximum
17647             field, then the extra characters are removed from the
17648             <i>beginning</i> of the data item and not from the end. For
17649             example, it the maximum field width is eight and the data item is
17650             ten characters long, then the first two characters of the data item
17651             are dropped. This behavior deviates from the printf function in C
17652             where truncation is done from the end.
17653             </para>
17654             <para>
17655             Below are various format modifier examples for the logger
17656             conversion specifier.
17657             </para>
17658             <div class="tablediv">
17659                 <table class="dtTABLE" cellspacing="0">
17660                         <tr>
17661                                 <th>Format modifier</th>
17662                                 <th>left justify</th>
17663                                 <th>minimum width</th>
17664                                 <th>maximum width</th>
17665                                 <th>comment</th>
17666                         </tr>
17667                         <tr>
17668                                 <td align="center">%20logger</td>
17669                                 <td align="center">false</td>
17670                                 <td align="center">20</td>
17671                                 <td align="center">none</td>
17672                                 <td>
17673                                         <para>
17674                                         Left pad with spaces if the logger name is less than 20
17675                                         characters long.
17676                                         </para>
17677                                 </td>
17678                         </tr>
17679                         <tr>
17680                                 <td align="center">%-20logger</td>
17681                                 <td align="center">true</td>
17682                                 <td align="center">20</td>
17683                                 <td align="center">none</td>
17684                                 <td>
17685                                         <para>
17686                                         Right pad with spaces if the logger 
17687                                         name is less than 20 characters long.
17688                                         </para>
17689                                 </td>
17690                         </tr>
17691                         <tr>
17692                                 <td align="center">%.30logger</td>
17693                                 <td align="center">NA</td>
17694                                 <td align="center">none</td>
17695                                 <td align="center">30</td>
17696                                 <td>
17697                                         <para>
17698                                         Truncate from the beginning if the logger 
17699                                         name is longer than 30 characters.
17700                                         </para>
17701                                 </td>
17702                         </tr>
17703                         <tr>
17704                                 <td align="center"><nobr>%20.30logger</nobr></td>
17705                                 <td align="center">false</td>
17706                                 <td align="center">20</td>
17707                                 <td align="center">30</td>
17708                                 <td>
17709                                         <para>
17710                                         Left pad with spaces if the logger name is shorter than 20
17711                                         characters. However, if logger name is longer than 30 characters,
17712                                         then truncate from the beginning.
17713                                         </para>
17714                                 </td>
17715                         </tr>
17716                         <tr>
17717                                 <td align="center">%-20.30logger</td>
17718                                 <td align="center">true</td>
17719                                 <td align="center">20</td>
17720                                 <td align="center">30</td>
17721                                 <td>
17722                                         <para>
17723                                         Right pad with spaces if the logger name is shorter than 20
17724                                         characters. However, if logger name is longer than 30 characters,
17725                                         then truncate from the beginning.
17726                                         </para>
17727                                 </td>
17728                         </tr>
17729                 </table>
17730             </div>
17731             <para>
17732             <b>Note about caller location information.</b><br/>
17733             The following patterns <c>%type %file %line %method %location %class %C %F %L %l %M</c> 
17734             all generate caller location information.
17735             Location information uses the <c>System.Diagnostics.StackTrace</c> class to generate
17736             a call stack. The caller's information is then extracted from this stack.
17737             </para>
17738             <note type="caution">
17739             <para>
17740             The <c>System.Diagnostics.StackTrace</c> class is not supported on the 
17741             .NET Compact Framework 1.0 therefore caller location information is not
17742             available on that framework.
17743             </para>
17744             </note>
17745             <note type="caution">
17746             <para>
17747             The <c>System.Diagnostics.StackTrace</c> class has this to say about Release builds:
17748             </para>
17749             <para>
17750             "StackTrace information will be most informative with Debug build configurations. 
17751             By default, Debug builds include debug symbols, while Release builds do not. The 
17752             debug symbols contain most of the file, method name, line number, and column 
17753             information used in constructing StackFrame and StackTrace objects. StackTrace 
17754             might not report as many method calls as expected, due to code transformations 
17755             that occur during optimization."
17756             </para>
17757             <para>
17758             This means that in a Release build the caller information may be incomplete or may 
17759             not exist at all! Therefore caller location information cannot be relied upon in a Release build.
17760             </para>
17761             </note>
17762             <para>
17763             Additional pattern converters may be registered with a specific <see cref="T:log4net.Layout.PatternLayout"/>
17764             instance using the <see cref="M:log4net.Layout.PatternLayout.AddConverter(System.String,System.Type)"/> method.
17765             </para>
17766             </remarks>
17767             <example>
17768             This is a more detailed pattern.
17769             <code><b>%timestamp [%thread] %level %logger %ndc - %message%newline</b></code>
17770             </example>
17771             <example>
17772             A similar pattern except that the relative time is
17773             right padded if less than 6 digits, thread name is right padded if
17774             less than 15 characters and truncated if longer and the logger
17775             name is left padded if shorter than 30 characters and truncated if
17776             longer.
17777             <code><b>%-6timestamp [%15.15thread] %-5level %30.30logger %ndc - %message%newline</b></code>
17778             </example>
17779             <author>Nicko Cadell</author>
17780             <author>Gert Driesen</author>
17781             <author>Douglas de la Torre</author>
17782             <author>Daniel Cazzulino</author>
17783         </member>
17784         <member name="F:log4net.Layout.PatternLayout.DefaultConversionPattern">
17785             <summary>
17786             Default pattern string for log output. 
17787             </summary>
17788             <remarks>
17789             <para>
17790             Default pattern string for log output. 
17791             Currently set to the string <b>"%message%newline"</b> 
17792             which just prints the application supplied message. 
17793             </para>
17794             </remarks>
17795         </member>
17796         <member name="F:log4net.Layout.PatternLayout.DetailConversionPattern">
17797             <summary>
17798             A detailed conversion pattern
17799             </summary>
17800             <remarks>
17801             <para>
17802             A conversion pattern which includes Time, Thread, Logger, and Nested Context.
17803             Current value is <b>%timestamp [%thread] %level %logger %ndc - %message%newline</b>.
17804             </para>
17805             </remarks>
17806         </member>
17807         <member name="F:log4net.Layout.PatternLayout.s_globalRulesRegistry">
17808             <summary>
17809             Internal map of converter identifiers to converter types.
17810             </summary>
17811             <remarks>
17812             <para>
17813             This static map is overridden by the m_converterRegistry instance map
17814             </para>
17815             </remarks>
17816         </member>
17817         <member name="F:log4net.Layout.PatternLayout.m_pattern">
17818             <summary>
17819             the pattern
17820             </summary>
17821         </member>
17822         <member name="F:log4net.Layout.PatternLayout.m_head">
17823             <summary>
17824             the head of the pattern converter chain
17825             </summary>
17826         </member>
17827         <member name="F:log4net.Layout.PatternLayout.m_instanceRulesRegistry">
17828             <summary>
17829             patterns defined on this PatternLayout only
17830             </summary>
17831         </member>
17832         <member name="M:log4net.Layout.PatternLayout.#cctor">
17833             <summary>
17834             Initialize the global registry
17835             </summary>
17836             <remarks>
17837             <para>
17838             Defines the builtin global rules.
17839             </para>
17840             </remarks>
17841         </member>
17842         <member name="M:log4net.Layout.PatternLayout.#ctor">
17843             <summary>
17844             Constructs a PatternLayout using the DefaultConversionPattern
17845             </summary>
17846             <remarks>
17847             <para>
17848             The default pattern just produces the application supplied message.
17849             </para>
17850             <para>
17851             Note to Inheritors: This constructor calls the virtual method
17852             <see cref="M:log4net.Layout.PatternLayout.CreatePatternParser(System.String)"/>. If you override this method be
17853             aware that it will be called before your is called constructor.
17854             </para>
17855             <para>
17856             As per the <see cref="T:log4net.Core.IOptionHandler"/> contract the <see cref="M:log4net.Layout.PatternLayout.ActivateOptions"/>
17857             method must be called after the properties on this object have been
17858             configured.
17859             </para>
17860             </remarks>
17861         </member>
17862         <member name="M:log4net.Layout.PatternLayout.#ctor(System.String)">
17863             <summary>
17864             Constructs a PatternLayout using the supplied conversion pattern
17865             </summary>
17866             <param name="pattern">the pattern to use</param>
17867             <remarks>
17868             <para>
17869             Note to Inheritors: This constructor calls the virtual method
17870             <see cref="M:log4net.Layout.PatternLayout.CreatePatternParser(System.String)"/>. If you override this method be
17871             aware that it will be called before your is called constructor.
17872             </para>
17873             <para>
17874             When using this constructor the <see cref="M:log4net.Layout.PatternLayout.ActivateOptions"/> method 
17875             need not be called. This may not be the case when using a subclass.
17876             </para>
17877             </remarks>
17878         </member>
17879         <member name="M:log4net.Layout.PatternLayout.CreatePatternParser(System.String)">
17880             <summary>
17881             Create the pattern parser instance
17882             </summary>
17883             <param name="pattern">the pattern to parse</param>
17884             <returns>The <see cref="T:log4net.Util.PatternParser"/> that will format the event</returns>
17885             <remarks>
17886             <para>
17887             Creates the <see cref="T:log4net.Util.PatternParser"/> used to parse the conversion string. Sets the
17888             global and instance rules on the <see cref="T:log4net.Util.PatternParser"/>.
17889             </para>
17890             </remarks>
17891         </member>
17892         <member name="M:log4net.Layout.PatternLayout.ActivateOptions">
17893             <summary>
17894             Initialize layout options
17895             </summary>
17896             <remarks>
17897             <para>
17898             This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
17899             activation scheme. The <see cref="M:log4net.Layout.PatternLayout.ActivateOptions"/> method must 
17900             be called on this object after the configuration properties have
17901             been set. Until <see cref="M:log4net.Layout.PatternLayout.ActivateOptions"/> is called this
17902             object is in an undefined state and must not be used. 
17903             </para>
17904             <para>
17905             If any of the configuration properties are modified then 
17906             <see cref="M:log4net.Layout.PatternLayout.ActivateOptions"/> must be called again.
17907             </para>
17908             </remarks>
17909         </member>
17910         <member name="M:log4net.Layout.PatternLayout.Format(System.IO.TextWriter,log4net.Core.LoggingEvent)">
17911             <summary>
17912             Produces a formatted string as specified by the conversion pattern.
17913             </summary>
17914             <param name="loggingEvent">the event being logged</param>
17915             <param name="writer">The TextWriter to write the formatted event to</param>
17916             <remarks>
17917             <para>
17918             Parse the <see cref="T:log4net.Core.LoggingEvent"/> using the patter format
17919             specified in the <see cref="P:log4net.Layout.PatternLayout.ConversionPattern"/> property.
17920             </para>
17921             </remarks>
17922         </member>
17923         <member name="M:log4net.Layout.PatternLayout.AddConverter(log4net.Layout.PatternLayout.ConverterInfo)">
17924             <summary>
17925             Add a converter to this PatternLayout
17926             </summary>
17927             <param name="converterInfo">the converter info</param>
17928             <remarks>
17929             <para>
17930             This version of the method is used by the configurator.
17931             Programmatic users should use the alternative <see cref="M:log4net.Layout.PatternLayout.AddConverter(System.String,System.Type)"/> method.
17932             </para>
17933             </remarks>
17934         </member>
17935         <member name="M:log4net.Layout.PatternLayout.AddConverter(System.String,System.Type)">
17936             <summary>
17937             Add a converter to this PatternLayout
17938             </summary>
17939             <param name="name">the name of the conversion pattern for this converter</param>
17940             <param name="type">the type of the converter</param>
17941             <remarks>
17942             <para>
17943             Add a named pattern converter to this instance. This
17944             converter will be used in the formatting of the event.
17945             This method must be called before <see cref="M:log4net.Layout.PatternLayout.ActivateOptions"/>.
17946             </para>
17947             <para>
17948             The <paramref name="type"/> specified must extend the 
17949             <see cref="T:log4net.Util.PatternConverter"/> type.
17950             </para>
17951             </remarks>
17952         </member>
17953         <member name="P:log4net.Layout.PatternLayout.ConversionPattern">
17954             <summary>
17955             The pattern formatting string
17956             </summary>
17957             <remarks>
17958             <para>
17959             The <b>ConversionPattern</b> option. This is the string which
17960             controls formatting and consists of a mix of literal content and
17961             conversion specifiers.
17962             </para>
17963             </remarks>
17964         </member>
17965         <member name="T:log4net.Layout.PatternLayout.ConverterInfo">
17966             <summary>
17967             Wrapper class used to map converter names to converter types
17968             </summary>
17969             <remarks>
17970             <para>
17971             Pattern converter info class used during configuration to
17972             pass to the <see cref="M:log4net.Layout.PatternLayout.AddConverter(log4net.Layout.PatternLayout.ConverterInfo)"/>
17973             method.
17974             </para>
17975             </remarks>
17976         </member>
17977         <member name="M:log4net.Layout.PatternLayout.ConverterInfo.#ctor">
17978             <summary>
17979             default constructor
17980             </summary>
17981         </member>
17982         <member name="P:log4net.Layout.PatternLayout.ConverterInfo.Name">
17983             <summary>
17984             Gets or sets the name of the conversion pattern
17985             </summary>
17986             <remarks>
17987             <para>
17988             The name of the pattern in the format string
17989             </para>
17990             </remarks>
17991         </member>
17992         <member name="P:log4net.Layout.PatternLayout.ConverterInfo.Type">
17993             <summary>
17994             Gets or sets the type of the converter
17995             </summary>
17996             <remarks>
17997             <para>
17998             The value specified must extend the 
17999             <see cref="T:log4net.Util.PatternConverter"/> type.
18000             </para>
18001             </remarks>
18002         </member>
18003         <member name="T:log4net.Layout.RawLayoutConverter">
18004             <summary>
18005             Type converter for the <see cref="T:log4net.Layout.IRawLayout"/> interface
18006             </summary>
18007             <remarks>
18008             <para>
18009             Used to convert objects to the <see cref="T:log4net.Layout.IRawLayout"/> interface.
18010             Supports converting from the <see cref="T:log4net.Layout.ILayout"/> interface to
18011             the <see cref="T:log4net.Layout.IRawLayout"/> interface using the <see cref="T:log4net.Layout.Layout2RawLayoutAdapter"/>.
18012             </para>
18013             </remarks>
18014             <author>Nicko Cadell</author>
18015             <author>Gert Driesen</author>
18016         </member>
18017         <member name="T:log4net.Util.TypeConverters.IConvertFrom">
18018             <summary>
18019             Interface supported by type converters
18020             </summary>
18021             <remarks>
18022             <para>
18023             This interface supports conversion from arbitrary types
18024             to a single target type. See <see cref="T:log4net.Util.TypeConverters.TypeConverterAttribute"/>.
18025             </para>
18026             </remarks>
18027             <author>Nicko Cadell</author>
18028             <author>Gert Driesen</author>
18029         </member>
18030         <member name="M:log4net.Util.TypeConverters.IConvertFrom.CanConvertFrom(System.Type)">
18031             <summary>
18032             Can the source type be converted to the type supported by this object
18033             </summary>
18034             <param name="sourceType">the type to convert</param>
18035             <returns>true if the conversion is possible</returns>
18036             <remarks>
18037             <para>
18038             Test if the <paramref name="sourceType"/> can be converted to the
18039             type supported by this converter.
18040             </para>
18041             </remarks>
18042         </member>
18043         <member name="M:log4net.Util.TypeConverters.IConvertFrom.ConvertFrom(System.Object)">
18044             <summary>
18045             Convert the source object to the type supported by this object
18046             </summary>
18047             <param name="source">the object to convert</param>
18048             <returns>the converted object</returns>
18049             <remarks>
18050             <para>
18051             Converts the <paramref name="source"/> to the type supported
18052             by this converter.
18053             </para>
18054             </remarks>
18055         </member>
18056         <member name="M:log4net.Layout.RawLayoutConverter.CanConvertFrom(System.Type)">
18057             <summary>
18058             Can the sourceType be converted to an <see cref="T:log4net.Layout.IRawLayout"/>
18059             </summary>
18060             <param name="sourceType">the source to be to be converted</param>
18061             <returns><c>true</c> if the source type can be converted to <see cref="T:log4net.Layout.IRawLayout"/></returns>
18062             <remarks>
18063             <para>
18064             Test if the <paramref name="sourceType"/> can be converted to a
18065             <see cref="T:log4net.Layout.IRawLayout"/>. Only <see cref="T:log4net.Layout.ILayout"/> is supported
18066             as the <paramref name="sourceType"/>.
18067             </para>
18068             </remarks>
18069         </member>
18070         <member name="M:log4net.Layout.RawLayoutConverter.ConvertFrom(System.Object)">
18071             <summary>
18072             Convert the value to a <see cref="T:log4net.Layout.IRawLayout"/> object
18073             </summary>
18074             <param name="source">the value to convert</param>
18075             <returns>the <see cref="T:log4net.Layout.IRawLayout"/> object</returns>
18076             <remarks>
18077             <para>
18078             Convert the <paramref name="source"/> object to a 
18079             <see cref="T:log4net.Layout.IRawLayout"/> object. If the <paramref name="source"/> object
18080             is a <see cref="T:log4net.Layout.ILayout"/> then the <see cref="T:log4net.Layout.Layout2RawLayoutAdapter"/>
18081             is used to adapt between the two interfaces, otherwise an
18082             exception is thrown.
18083             </para>
18084             </remarks>
18085         </member>
18086         <member name="T:log4net.Layout.RawPropertyLayout">
18087             <summary>
18088             Extract the value of a property from the <see cref="T:log4net.Core.LoggingEvent"/>
18089             </summary>
18090             <remarks>
18091             <para>
18092             Extract the value of a property from the <see cref="T:log4net.Core.LoggingEvent"/>
18093             </para>
18094             </remarks>
18095             <author>Nicko Cadell</author>
18096         </member>
18097         <member name="M:log4net.Layout.RawPropertyLayout.#ctor">
18098             <summary>
18099             Constructs a RawPropertyLayout
18100             </summary>
18101         </member>
18102         <member name="M:log4net.Layout.RawPropertyLayout.Format(log4net.Core.LoggingEvent)">
18103             <summary>
18104             Lookup the property for <see cref="P:log4net.Layout.RawPropertyLayout.Key"/>
18105             </summary>
18106             <param name="loggingEvent">The event to format</param>
18107             <returns>returns property value</returns>
18108             <remarks>
18109             <para>
18110             Looks up and returns the object value of the property
18111             named <see cref="P:log4net.Layout.RawPropertyLayout.Key"/>. If there is no property defined
18112             with than name then <c>null</c> will be returned.
18113             </para>
18114             </remarks>
18115         </member>
18116         <member name="P:log4net.Layout.RawPropertyLayout.Key">
18117             <summary>
18118             The name of the value to lookup in the LoggingEvent Properties collection.
18119             </summary>
18120             <value>
18121             Value to lookup in the LoggingEvent Properties collection
18122             </value>
18123             <remarks>
18124             <para>
18125             String name of the property to lookup in the <see cref="T:log4net.Core.LoggingEvent"/>.
18126             </para>
18127             </remarks>
18128         </member>
18129         <member name="T:log4net.Layout.RawTimeStampLayout">
18130             <summary>
18131             Extract the date from the <see cref="T:log4net.Core.LoggingEvent"/>
18132             </summary>
18133             <remarks>
18134             <para>
18135             Extract the date from the <see cref="T:log4net.Core.LoggingEvent"/>
18136             </para>
18137             </remarks>
18138             <author>Nicko Cadell</author>
18139             <author>Gert Driesen</author>
18140         </member>
18141         <member name="M:log4net.Layout.RawTimeStampLayout.#ctor">
18142             <summary>
18143             Constructs a RawTimeStampLayout
18144             </summary>
18145         </member>
18146         <member name="M:log4net.Layout.RawTimeStampLayout.Format(log4net.Core.LoggingEvent)">
18147             <summary>
18148             Gets the <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> as a <see cref="T:System.DateTime"/>.
18149             </summary>
18150             <param name="loggingEvent">The event to format</param>
18151             <returns>returns the time stamp</returns>
18152             <remarks>
18153             <para>
18154             Gets the <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> as a <see cref="T:System.DateTime"/>.
18155             </para>
18156             <para>
18157             The time stamp is in local time. To format the time stamp
18158             in universal time use <see cref="T:log4net.Layout.RawUtcTimeStampLayout"/>.
18159             </para>
18160             </remarks>
18161         </member>
18162         <member name="T:log4net.Layout.RawUtcTimeStampLayout">
18163             <summary>
18164             Extract the date from the <see cref="T:log4net.Core.LoggingEvent"/>
18165             </summary>
18166             <remarks>
18167             <para>
18168             Extract the date from the <see cref="T:log4net.Core.LoggingEvent"/>
18169             </para>
18170             </remarks>
18171             <author>Nicko Cadell</author>
18172             <author>Gert Driesen</author>
18173         </member>
18174         <member name="M:log4net.Layout.RawUtcTimeStampLayout.#ctor">
18175             <summary>
18176             Constructs a RawUtcTimeStampLayout
18177             </summary>
18178         </member>
18179         <member name="M:log4net.Layout.RawUtcTimeStampLayout.Format(log4net.Core.LoggingEvent)">
18180             <summary>
18181             Gets the <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> as a <see cref="T:System.DateTime"/>.
18182             </summary>
18183             <param name="loggingEvent">The event to format</param>
18184             <returns>returns the time stamp</returns>
18185             <remarks>
18186             <para>
18187             Gets the <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> as a <see cref="T:System.DateTime"/>.
18188             </para>
18189             <para>
18190             The time stamp is in universal time. To format the time stamp
18191             in local time use <see cref="T:log4net.Layout.RawTimeStampLayout"/>.
18192             </para>
18193             </remarks>
18194         </member>
18195         <member name="T:log4net.Layout.SimpleLayout">
18196             <summary>
18197             A very simple layout
18198             </summary>
18199             <remarks>
18200             <para>
18201             SimpleLayout consists of the level of the log statement,
18202             followed by " - " and then the log message itself. For example,
18203             <code>
18204             DEBUG - Hello world
18205             </code>
18206             </para>
18207             </remarks>
18208             <author>Nicko Cadell</author>
18209             <author>Gert Driesen</author>
18210         </member>
18211         <member name="M:log4net.Layout.SimpleLayout.#ctor">
18212             <summary>
18213             Constructs a SimpleLayout
18214             </summary>
18215         </member>
18216         <member name="M:log4net.Layout.SimpleLayout.ActivateOptions">
18217             <summary>
18218             Initialize layout options
18219             </summary>
18220             <remarks>
18221             <para>
18222             This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
18223             activation scheme. The <see cref="M:log4net.Layout.SimpleLayout.ActivateOptions"/> method must 
18224             be called on this object after the configuration properties have
18225             been set. Until <see cref="M:log4net.Layout.SimpleLayout.ActivateOptions"/> is called this
18226             object is in an undefined state and must not be used. 
18227             </para>
18228             <para>
18229             If any of the configuration properties are modified then 
18230             <see cref="M:log4net.Layout.SimpleLayout.ActivateOptions"/> must be called again.
18231             </para>
18232             </remarks>
18233         </member>
18234         <member name="M:log4net.Layout.SimpleLayout.Format(System.IO.TextWriter,log4net.Core.LoggingEvent)">
18235             <summary>
18236             Produces a simple formatted output.
18237             </summary>
18238             <param name="loggingEvent">the event being logged</param>
18239             <param name="writer">The TextWriter to write the formatted event to</param>
18240             <remarks>
18241             <para>
18242             Formats the event as the level of the even,
18243             followed by " - " and then the log message itself. The
18244             output is terminated by a newline.
18245             </para>
18246             </remarks>
18247         </member>
18248         <member name="T:log4net.Layout.XmlLayout">
18249              <summary>
18250              Layout that formats the log events as XML elements.
18251              </summary>
18252              <remarks>
18253              <para>
18254              The output of the <see cref="T:log4net.Layout.XmlLayout"/> consists of a series of 
18255              log4net:event elements. It does not output a complete well-formed XML 
18256              file. The output is designed to be included as an <em>external entity</em>
18257              in a separate file to form a correct XML file.
18258              </para>
18259              <para>
18260              For example, if <c>abc</c> is the name of the file where
18261              the <see cref="T:log4net.Layout.XmlLayout"/> output goes, then a well-formed XML file would 
18262              be:
18263              </para>
18264              <code lang="XML">
18265              &lt;?xml version="1.0" ?&gt;
18266              
18267              &lt;!DOCTYPE log4net:events SYSTEM "log4net-events.dtd" [&lt;!ENTITY data SYSTEM "abc"&gt;]&gt;
18268             
18269              &lt;log4net:events version="1.2" xmlns:log4net="http://logging.apache.org/log4net/schemas/log4net-events-1.2&gt;
18270                  &amp;data;
18271              &lt;/log4net:events&gt;
18272              </code>
18273              <para>
18274              This approach enforces the independence of the <see cref="T:log4net.Layout.XmlLayout"/> 
18275              and the appender where it is embedded.
18276              </para>
18277              <para>
18278              The <c>version</c> attribute helps components to correctly
18279              interpret output generated by <see cref="T:log4net.Layout.XmlLayout"/>. The value of 
18280              this attribute should be "1.2" for release 1.2 and later.
18281              </para>
18282              <para>
18283              Alternatively the <c>Header</c> and <c>Footer</c> properties can be
18284              configured to output the correct XML header, open tag and close tag.
18285              When setting the <c>Header</c> and <c>Footer</c> properties it is essential
18286              that the underlying data store not be appendable otherwise the data
18287              will become invalid XML.
18288              </para>
18289              </remarks>
18290              <author>Nicko Cadell</author>
18291              <author>Gert Driesen</author>
18292         </member>
18293         <member name="T:log4net.Layout.XmlLayoutBase">
18294             <summary>
18295             Layout that formats the log events as XML elements.
18296             </summary>
18297             <remarks>
18298             <para>
18299             This is an abstract class that must be subclassed by an implementation 
18300             to conform to a specific schema.
18301             </para>
18302             <para>
18303             Deriving classes must implement the <see cref="M:log4net.Layout.XmlLayoutBase.FormatXml(System.Xml.XmlWriter,log4net.Core.LoggingEvent)"/> method.
18304             </para>
18305             </remarks>
18306             <author>Nicko Cadell</author>
18307             <author>Gert Driesen</author>
18308         </member>
18309         <member name="M:log4net.Layout.XmlLayoutBase.#ctor">
18310             <summary>
18311             Protected constructor to support subclasses
18312             </summary>
18313             <remarks>
18314             <para>
18315             Initializes a new instance of the <see cref="T:log4net.Layout.XmlLayoutBase"/> class
18316             with no location info.
18317             </para>
18318             </remarks>
18319         </member>
18320         <member name="M:log4net.Layout.XmlLayoutBase.#ctor(System.Boolean)">
18321             <summary>
18322             Protected constructor to support subclasses
18323             </summary>
18324             <remarks>
18325             <para>
18326             The <paramref name="locationInfo" /> parameter determines whether 
18327             location information will be output by the layout. If 
18328             <paramref name="locationInfo" /> is set to <c>true</c>, then the 
18329             file name and line number of the statement at the origin of the log 
18330             statement will be output. 
18331             </para>
18332             <para>
18333             If you are embedding this layout within an SMTPAppender
18334             then make sure to set the <b>LocationInfo</b> option of that 
18335             appender as well.
18336             </para>
18337             </remarks>
18338         </member>
18339         <member name="M:log4net.Layout.XmlLayoutBase.ActivateOptions">
18340             <summary>
18341             Initialize layout options
18342             </summary>
18343             <remarks>
18344             <para>
18345             This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
18346             activation scheme. The <see cref="M:log4net.Layout.XmlLayoutBase.ActivateOptions"/> method must 
18347             be called on this object after the configuration properties have
18348             been set. Until <see cref="M:log4net.Layout.XmlLayoutBase.ActivateOptions"/> is called this
18349             object is in an undefined state and must not be used. 
18350             </para>
18351             <para>
18352             If any of the configuration properties are modified then 
18353             <see cref="M:log4net.Layout.XmlLayoutBase.ActivateOptions"/> must be called again.
18354             </para>
18355             </remarks>
18356         </member>
18357         <member name="M:log4net.Layout.XmlLayoutBase.Format(System.IO.TextWriter,log4net.Core.LoggingEvent)">
18358             <summary>
18359             Produces a formatted string.
18360             </summary>
18361             <param name="loggingEvent">The event being logged.</param>
18362             <param name="writer">The TextWriter to write the formatted event to</param>
18363             <remarks>
18364             <para>
18365             Format the <see cref="T:log4net.Core.LoggingEvent"/> and write it to the <see cref="T:System.IO.TextWriter"/>.
18366             </para>
18367             <para>
18368             This method creates an <see cref="T:System.Xml.XmlTextWriter"/> that writes to the
18369             <paramref name="writer"/>. The <see cref="T:System.Xml.XmlTextWriter"/> is passed 
18370             to the <see cref="M:log4net.Layout.XmlLayoutBase.FormatXml(System.Xml.XmlWriter,log4net.Core.LoggingEvent)"/> method. Subclasses should override the
18371             <see cref="M:log4net.Layout.XmlLayoutBase.FormatXml(System.Xml.XmlWriter,log4net.Core.LoggingEvent)"/> method rather than this method.
18372             </para>
18373             </remarks>
18374         </member>
18375         <member name="M:log4net.Layout.XmlLayoutBase.FormatXml(System.Xml.XmlWriter,log4net.Core.LoggingEvent)">
18376             <summary>
18377             Does the actual writing of the XML.
18378             </summary>
18379             <param name="writer">The writer to use to output the event to.</param>
18380             <param name="loggingEvent">The event to write.</param>
18381             <remarks>
18382             <para>
18383             Subclasses should override this method to format
18384             the <see cref="T:log4net.Core.LoggingEvent"/> as XML.
18385             </para>
18386             </remarks>
18387         </member>
18388         <member name="F:log4net.Layout.XmlLayoutBase.m_locationInfo">
18389             <summary>
18390             Flag to indicate if location information should be included in
18391             the XML events.
18392             </summary>
18393         </member>
18394         <member name="F:log4net.Layout.XmlLayoutBase.m_protectCloseTextWriter">
18395             <summary>
18396             Writer adapter that ignores Close
18397             </summary>
18398         </member>
18399         <member name="F:log4net.Layout.XmlLayoutBase.m_invalidCharReplacement">
18400             <summary>
18401             The string to replace invalid chars with
18402             </summary>
18403         </member>
18404         <member name="P:log4net.Layout.XmlLayoutBase.LocationInfo">
18405             <summary>
18406             Gets a value indicating whether to include location information in 
18407             the XML events.
18408             </summary>
18409             <value>
18410             <c>true</c> if location information should be included in the XML 
18411             events; otherwise, <c>false</c>.
18412             </value>
18413             <remarks>
18414             <para>
18415             If <see cref="P:log4net.Layout.XmlLayoutBase.LocationInfo"/> is set to <c>true</c>, then the file 
18416             name and line number of the statement at the origin of the log 
18417             statement will be output. 
18418             </para>
18419             <para>
18420             If you are embedding this layout within an <c>SMTPAppender</c>
18421             then make sure to set the <b>LocationInfo</b> option of that 
18422             appender as well.
18423             </para>
18424             </remarks>
18425         </member>
18426         <member name="P:log4net.Layout.XmlLayoutBase.InvalidCharReplacement">
18427             <summary>
18428             The string to replace characters that can not be expressed in XML with.
18429             <remarks>
18430             <para>
18431             Not all characters may be expressed in XML. This property contains the
18432             string to replace those that can not with. This defaults to a ?. Set it
18433             to the empty string to simply remove offending characters. For more
18434             details on the allowed character ranges see http://www.w3.org/TR/REC-xml/#charsets
18435             Character replacement will occur in  the log message, the property names 
18436             and the property values.
18437             </para>
18438             </remarks>
18439             </summary>
18440         </member>
18441         <member name="P:log4net.Layout.XmlLayoutBase.ContentType">
18442             <summary>
18443             Gets the content type output by this layout. 
18444             </summary>
18445             <value>
18446             As this is the XML layout, the value is always <c>"text/xml"</c>.
18447             </value>
18448             <remarks>
18449             <para>
18450             As this is the XML layout, the value is always <c>"text/xml"</c>.
18451             </para>
18452             </remarks>
18453         </member>
18454         <member name="M:log4net.Layout.XmlLayout.#ctor">
18455             <summary>
18456             Constructs an XmlLayout
18457             </summary>
18458         </member>
18459         <member name="M:log4net.Layout.XmlLayout.#ctor(System.Boolean)">
18460             <summary>
18461             Constructs an XmlLayout.
18462             </summary>
18463             <remarks>
18464             <para>
18465             The <b>LocationInfo</b> option takes a boolean value. By
18466             default, it is set to false which means there will be no location
18467             information output by this layout. If the the option is set to
18468             true, then the file name and line number of the statement
18469             at the origin of the log statement will be output. 
18470             </para>
18471             <para>
18472             If you are embedding this layout within an SmtpAppender
18473             then make sure to set the <b>LocationInfo</b> option of that 
18474             appender as well.
18475             </para>
18476             </remarks>
18477         </member>
18478         <member name="M:log4net.Layout.XmlLayout.ActivateOptions">
18479             <summary>
18480             Initialize layout options
18481             </summary>
18482             <remarks>
18483             <para>
18484             This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
18485             activation scheme. The <see cref="M:log4net.Layout.XmlLayout.ActivateOptions"/> method must 
18486             be called on this object after the configuration properties have
18487             been set. Until <see cref="M:log4net.Layout.XmlLayout.ActivateOptions"/> is called this
18488             object is in an undefined state and must not be used. 
18489             </para>
18490             <para>
18491             If any of the configuration properties are modified then 
18492             <see cref="M:log4net.Layout.XmlLayout.ActivateOptions"/> must be called again.
18493             </para>
18494             <para>
18495             Builds a cache of the element names
18496             </para>
18497             </remarks>
18498         </member>
18499         <member name="M:log4net.Layout.XmlLayout.FormatXml(System.Xml.XmlWriter,log4net.Core.LoggingEvent)">
18500             <summary>
18501             Does the actual writing of the XML.
18502             </summary>
18503             <param name="writer">The writer to use to output the event to.</param>
18504             <param name="loggingEvent">The event to write.</param>
18505             <remarks>
18506             <para>
18507             Override the base class <see cref="M:log4net.Layout.XmlLayoutBase.FormatXml(System.Xml.XmlWriter,log4net.Core.LoggingEvent)"/> method
18508             to write the <see cref="T:log4net.Core.LoggingEvent"/> to the <see cref="T:System.Xml.XmlWriter"/>.
18509             </para>
18510             </remarks>
18511         </member>
18512         <member name="F:log4net.Layout.XmlLayout.m_prefix">
18513             <summary>
18514             The prefix to use for all generated element names
18515             </summary>
18516         </member>
18517         <member name="P:log4net.Layout.XmlLayout.Prefix">
18518             <summary>
18519             The prefix to use for all element names
18520             </summary>
18521             <remarks>
18522             <para>
18523             The default prefix is <b>log4net</b>. Set this property
18524             to change the prefix. If the prefix is set to an empty string
18525             then no prefix will be written.
18526             </para>
18527             </remarks>
18528         </member>
18529         <member name="P:log4net.Layout.XmlLayout.Base64EncodeMessage">
18530             <summary>
18531             Set whether or not to base64 encode the message.
18532             </summary>
18533             <remarks>
18534             <para>
18535             By default the log message will be written as text to the xml
18536             output. This can cause problems when the message contains binary
18537             data. By setting this to true the contents of the message will be
18538             base64 encoded. If this is set then invalid character replacement
18539             (see <see cref="P:log4net.Layout.XmlLayoutBase.InvalidCharReplacement"/>) will not be performed
18540             on the log message.
18541             </para>
18542             </remarks>
18543         </member>
18544         <member name="P:log4net.Layout.XmlLayout.Base64EncodeProperties">
18545             <summary>
18546             Set whether or not to base64 encode the property values.
18547             </summary>
18548             <remarks>
18549             <para>
18550             By default the properties will be written as text to the xml
18551             output. This can cause problems when one or more properties contain
18552             binary data. By setting this to true the values of the properties
18553             will be base64 encoded. If this is set then invalid character replacement
18554             (see <see cref="P:log4net.Layout.XmlLayoutBase.InvalidCharReplacement"/>) will not be performed
18555             on the property values.
18556             </para>
18557             </remarks>
18558         </member>
18559         <member name="T:log4net.Layout.XmlLayoutSchemaLog4j">
18560             <summary>
18561             Layout that formats the log events as XML elements compatible with the log4j schema
18562             </summary>
18563             <remarks>
18564             <para>
18565             Formats the log events according to the http://logging.apache.org/log4j schema.
18566             </para>
18567             </remarks>
18568             <author>Nicko Cadell</author>
18569         </member>
18570         <member name="F:log4net.Layout.XmlLayoutSchemaLog4j.s_date1970">
18571             <summary>
18572             The 1st of January 1970 in UTC
18573             </summary>
18574         </member>
18575         <member name="M:log4net.Layout.XmlLayoutSchemaLog4j.#ctor">
18576             <summary>
18577             Constructs an XMLLayoutSchemaLog4j
18578             </summary>
18579         </member>
18580         <member name="M:log4net.Layout.XmlLayoutSchemaLog4j.#ctor(System.Boolean)">
18581             <summary>
18582             Constructs an XMLLayoutSchemaLog4j.
18583             </summary>
18584             <remarks>
18585             <para>
18586             The <b>LocationInfo</b> option takes a boolean value. By
18587             default, it is set to false which means there will be no location
18588             information output by this layout. If the the option is set to
18589             true, then the file name and line number of the statement
18590             at the origin of the log statement will be output. 
18591             </para>
18592             <para>
18593             If you are embedding this layout within an SMTPAppender
18594             then make sure to set the <b>LocationInfo</b> option of that 
18595             appender as well.
18596             </para>
18597             </remarks>
18598         </member>
18599         <member name="M:log4net.Layout.XmlLayoutSchemaLog4j.FormatXml(System.Xml.XmlWriter,log4net.Core.LoggingEvent)">
18600             <summary>
18601             Actually do the writing of the xml
18602             </summary>
18603             <param name="writer">the writer to use</param>
18604             <param name="loggingEvent">the event to write</param>
18605             <remarks>
18606             <para>
18607             Generate XML that is compatible with the log4j schema.
18608             </para>
18609             </remarks>
18610         </member>
18611         <member name="P:log4net.Layout.XmlLayoutSchemaLog4j.Version">
18612             <summary>
18613             The version of the log4j schema to use.
18614             </summary>
18615             <remarks>
18616             <para>
18617             Only version 1.2 of the log4j schema is supported.
18618             </para>
18619             </remarks>
18620         </member>
18621         <member name="T:log4net.ObjectRenderer.DefaultRenderer">
18622             <summary>
18623             The default object Renderer.
18624             </summary>
18625             <remarks>
18626             <para>
18627             The default renderer supports rendering objects and collections to strings.
18628             </para>
18629             <para>
18630             See the <see cref="M:log4net.ObjectRenderer.DefaultRenderer.RenderObject(log4net.ObjectRenderer.RendererMap,System.Object,System.IO.TextWriter)"/> method for details of the output.
18631             </para>
18632             </remarks>
18633             <author>Nicko Cadell</author>
18634             <author>Gert Driesen</author>
18635         </member>
18636         <member name="T:log4net.ObjectRenderer.IObjectRenderer">
18637             <summary>
18638             Implement this interface in order to render objects as strings
18639             </summary>
18640             <remarks>
18641             <para>
18642             Certain types require special case conversion to
18643             string form. This conversion is done by an object renderer.
18644             Object renderers implement the <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>
18645             interface.
18646             </para>
18647             </remarks>
18648             <author>Nicko Cadell</author>
18649             <author>Gert Driesen</author>
18650         </member>
18651         <member name="M:log4net.ObjectRenderer.IObjectRenderer.RenderObject(log4net.ObjectRenderer.RendererMap,System.Object,System.IO.TextWriter)">
18652             <summary>
18653             Render the object <paramref name="obj"/> to a string
18654             </summary>
18655             <param name="rendererMap">The map used to lookup renderers</param>
18656             <param name="obj">The object to render</param>
18657             <param name="writer">The writer to render to</param>
18658             <remarks>
18659             <para>
18660             Render the object <paramref name="obj"/> to a 
18661             string.
18662             </para>
18663             <para>
18664             The <paramref name="rendererMap"/> parameter is
18665             provided to lookup and render other objects. This is
18666             very useful where <paramref name="obj"/> contains
18667             nested objects of unknown type. The <see cref="M:log4net.ObjectRenderer.RendererMap.FindAndRender(System.Object,System.IO.TextWriter)"/>
18668             method can be used to render these objects.
18669             </para>
18670             </remarks>
18671         </member>
18672         <member name="M:log4net.ObjectRenderer.DefaultRenderer.#ctor">
18673             <summary>
18674             Default constructor
18675             </summary>
18676             <remarks>
18677             <para>
18678             Default constructor
18679             </para>
18680             </remarks>
18681         </member>
18682         <member name="M:log4net.ObjectRenderer.DefaultRenderer.RenderObject(log4net.ObjectRenderer.RendererMap,System.Object,System.IO.TextWriter)">
18683             <summary>
18684             Render the object <paramref name="obj"/> to a string
18685             </summary>
18686             <param name="rendererMap">The map used to lookup renderers</param>
18687             <param name="obj">The object to render</param>
18688             <param name="writer">The writer to render to</param>
18689             <remarks>
18690             <para>
18691             Render the object <paramref name="obj"/> to a string.
18692             </para>
18693             <para>
18694             The <paramref name="rendererMap"/> parameter is
18695             provided to lookup and render other objects. This is
18696             very useful where <paramref name="obj"/> contains
18697             nested objects of unknown type. The <see cref="M:log4net.ObjectRenderer.RendererMap.FindAndRender(System.Object)"/>
18698             method can be used to render these objects.
18699             </para>
18700             <para>
18701             The default renderer supports rendering objects to strings as follows:
18702             </para>
18703             <list type="table">
18704                 <listheader>
18705                         <term>Value</term>
18706                         <description>Rendered String</description>
18707                 </listheader>
18708                 <item>
18709                         <term><c>null</c></term>
18710                         <description>
18711                         <para>"(null)"</para>
18712                         </description>
18713                 </item>
18714                 <item>
18715                         <term><see cref="T:System.Array"/></term>
18716                         <description>
18717                         <para>
18718                         For a one dimensional array this is the
18719                         array type name, an open brace, followed by a comma
18720                         separated list of the elements (using the appropriate
18721                         renderer), followed by a close brace. 
18722                         </para>
18723                         <para>
18724                         For example: <c>int[] {1, 2, 3}</c>.
18725                         </para>
18726                         <para>
18727                         If the array is not one dimensional the 
18728                         <c>Array.ToString()</c> is returned.
18729                         </para>
18730                         </description>
18731                 </item>
18732                 <item>
18733                         <term><see cref="T:System.Collections.IEnumerable"/>, <see cref="T:System.Collections.ICollection"/> &amp; <see cref="T:System.Collections.IEnumerator"/></term>
18734                         <description>
18735                         <para>
18736                         Rendered as an open brace, followed by a comma
18737                         separated list of the elements (using the appropriate
18738                         renderer), followed by a close brace.
18739                         </para>
18740                         <para>
18741                         For example: <c>{a, b, c}</c>.
18742                         </para>
18743                         <para>
18744                         All collection classes that implement <see cref="T:System.Collections.ICollection"/> its subclasses, 
18745                         or generic equivalents all implement the <see cref="T:System.Collections.IEnumerable"/> interface.
18746                         </para>
18747                         </description>
18748                 </item>         
18749                 <item>
18750                         <term><see cref="T:System.Collections.DictionaryEntry"/></term>
18751                         <description>
18752                         <para>
18753                         Rendered as the key, an equals sign ('='), and the value (using the appropriate
18754                         renderer). 
18755                         </para>
18756                         <para>
18757                         For example: <c>key=value</c>.
18758                         </para>
18759                         </description>
18760                 </item>         
18761                 <item>
18762                         <term>other</term>
18763                         <description>
18764                         <para><c>Object.ToString()</c></para>
18765                         </description>
18766                 </item>
18767             </list>
18768             </remarks>
18769         </member>
18770         <member name="M:log4net.ObjectRenderer.DefaultRenderer.RenderArray(log4net.ObjectRenderer.RendererMap,System.Array,System.IO.TextWriter)">
18771             <summary>
18772             Render the array argument into a string
18773             </summary>
18774             <param name="rendererMap">The map used to lookup renderers</param>
18775             <param name="array">the array to render</param>
18776             <param name="writer">The writer to render to</param>
18777             <remarks>
18778             <para>
18779             For a one dimensional array this is the
18780             array type name, an open brace, followed by a comma
18781             separated list of the elements (using the appropriate
18782             renderer), followed by a close brace. For example:
18783             <c>int[] {1, 2, 3}</c>.
18784             </para>
18785             <para>
18786             If the array is not one dimensional the 
18787             <c>Array.ToString()</c> is returned.
18788             </para>
18789             </remarks>
18790         </member>
18791         <member name="M:log4net.ObjectRenderer.DefaultRenderer.RenderEnumerator(log4net.ObjectRenderer.RendererMap,System.Collections.IEnumerator,System.IO.TextWriter)">
18792             <summary>
18793             Render the enumerator argument into a string
18794             </summary>
18795             <param name="rendererMap">The map used to lookup renderers</param>
18796             <param name="enumerator">the enumerator to render</param>
18797             <param name="writer">The writer to render to</param>
18798             <remarks>
18799             <para>
18800             Rendered as an open brace, followed by a comma
18801             separated list of the elements (using the appropriate
18802             renderer), followed by a close brace. For example:
18803             <c>{a, b, c}</c>.
18804             </para>
18805             </remarks>
18806         </member>
18807         <member name="M:log4net.ObjectRenderer.DefaultRenderer.RenderDictionaryEntry(log4net.ObjectRenderer.RendererMap,System.Collections.DictionaryEntry,System.IO.TextWriter)">
18808             <summary>
18809             Render the DictionaryEntry argument into a string
18810             </summary>
18811             <param name="rendererMap">The map used to lookup renderers</param>
18812             <param name="entry">the DictionaryEntry to render</param>
18813             <param name="writer">The writer to render to</param>
18814             <remarks>
18815             <para>
18816             Render the key, an equals sign ('='), and the value (using the appropriate
18817             renderer). For example: <c>key=value</c>.
18818             </para>
18819             </remarks>
18820         </member>
18821         <member name="T:log4net.ObjectRenderer.RendererMap">
18822             <summary>
18823             Map class objects to an <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>.
18824             </summary>
18825             <remarks>
18826             <para>
18827             Maintains a mapping between types that require special
18828             rendering and the <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/> that
18829             is used to render them.
18830             </para>
18831             <para>
18832             The <see cref="M:log4net.ObjectRenderer.RendererMap.FindAndRender(System.Object)"/> method is used to render an
18833             <c>object</c> using the appropriate renderers defined in this map.
18834             </para>
18835             </remarks>
18836             <author>Nicko Cadell</author>
18837             <author>Gert Driesen</author>
18838         </member>
18839         <member name="M:log4net.ObjectRenderer.RendererMap.#ctor">
18840             <summary>
18841             Default Constructor
18842             </summary>
18843             <remarks>
18844             <para>
18845             Default constructor.
18846             </para>
18847             </remarks>
18848         </member>
18849         <member name="M:log4net.ObjectRenderer.RendererMap.FindAndRender(System.Object)">
18850             <summary>
18851             Render <paramref name="obj"/> using the appropriate renderer.
18852             </summary>
18853             <param name="obj">the object to render to a string</param>
18854             <returns>the object rendered as a string</returns>
18855             <remarks>
18856             <para>
18857             This is a convenience method used to render an object to a string.
18858             The alternative method <see cref="M:log4net.ObjectRenderer.RendererMap.FindAndRender(System.Object,System.IO.TextWriter)"/>
18859             should be used when streaming output to a <see cref="T:System.IO.TextWriter"/>.
18860             </para>
18861             </remarks>
18862         </member>
18863         <member name="M:log4net.ObjectRenderer.RendererMap.FindAndRender(System.Object,System.IO.TextWriter)">
18864             <summary>
18865             Render <paramref name="obj"/> using the appropriate renderer.
18866             </summary>
18867             <param name="obj">the object to render to a string</param>
18868             <param name="writer">The writer to render to</param>
18869             <remarks>
18870             <para>
18871             Find the appropriate renderer for the type of the
18872             <paramref name="obj"/> parameter. This is accomplished by calling the
18873             <see cref="M:log4net.ObjectRenderer.RendererMap.Get(System.Type)"/> method. Once a renderer is found, it is
18874             applied on the object <paramref name="obj"/> and the result is returned
18875             as a <see cref="T:System.String"/>.
18876             </para>
18877             </remarks>
18878         </member>
18879         <member name="M:log4net.ObjectRenderer.RendererMap.Get(System.Object)">
18880             <summary>
18881             Gets the renderer for the specified object type
18882             </summary>
18883             <param name="obj">the object to lookup the renderer for</param>
18884             <returns>the renderer for <paramref name="obj"/></returns>
18885             <remarks>
18886             <param>
18887             Gets the renderer for the specified object type.
18888             </param>
18889             <param>
18890             Syntactic sugar method that calls <see cref="M:log4net.ObjectRenderer.RendererMap.Get(System.Type)"/> 
18891             with the type of the object parameter.
18892             </param>
18893             </remarks>
18894         </member>
18895         <member name="M:log4net.ObjectRenderer.RendererMap.Get(System.Type)">
18896             <summary>
18897             Gets the renderer for the specified type
18898             </summary>
18899             <param name="type">the type to lookup the renderer for</param>
18900             <returns>the renderer for the specified type</returns>
18901             <remarks>
18902             <para>
18903             Returns the renderer for the specified type.
18904             If no specific renderer has been defined the
18905             <see cref="P:log4net.ObjectRenderer.RendererMap.DefaultRenderer"/> will be returned.
18906             </para>
18907             </remarks>
18908         </member>
18909         <member name="M:log4net.ObjectRenderer.RendererMap.SearchTypeAndInterfaces(System.Type)">
18910             <summary>
18911             Internal function to recursively search interfaces
18912             </summary>
18913             <param name="type">the type to lookup the renderer for</param>
18914             <returns>the renderer for the specified type</returns>
18915         </member>
18916         <member name="M:log4net.ObjectRenderer.RendererMap.Clear">
18917             <summary>
18918             Clear the map of renderers
18919             </summary>
18920             <remarks>
18921             <para>
18922             Clear the custom renderers defined by using
18923             <see cref="M:log4net.ObjectRenderer.RendererMap.Put(System.Type,log4net.ObjectRenderer.IObjectRenderer)"/>. The <see cref="P:log4net.ObjectRenderer.RendererMap.DefaultRenderer"/>
18924             cannot be removed.
18925             </para>
18926             </remarks>
18927         </member>
18928         <member name="M:log4net.ObjectRenderer.RendererMap.Put(System.Type,log4net.ObjectRenderer.IObjectRenderer)">
18929             <summary>
18930             Register an <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/> for <paramref name="typeToRender"/>. 
18931             </summary>
18932             <param name="typeToRender">the type that will be rendered by <paramref name="renderer"/></param>
18933             <param name="renderer">the renderer for <paramref name="typeToRender"/></param>
18934             <remarks>
18935             <para>
18936             Register an object renderer for a specific source type.
18937             This renderer will be returned from a call to <see cref="M:log4net.ObjectRenderer.RendererMap.Get(System.Type)"/>
18938             specifying the same <paramref name="typeToRender"/> as an argument.
18939             </para>
18940             </remarks>
18941         </member>
18942         <member name="P:log4net.ObjectRenderer.RendererMap.DefaultRenderer">
18943             <summary>
18944             Get the default renderer instance
18945             </summary>
18946             <value>the default renderer</value>
18947             <remarks>
18948             <para>
18949             Get the default renderer
18950             </para>
18951             </remarks>
18952         </member>
18953         <member name="T:log4net.Plugin.IPlugin">
18954             <summary>
18955             Interface implemented by logger repository plugins.
18956             </summary>
18957             <remarks>
18958             <para>
18959             Plugins define additional behavior that can be associated
18960             with a <see cref="T:log4net.Repository.ILoggerRepository"/>.
18961             The <see cref="T:log4net.Plugin.PluginMap"/> held by the <see cref="P:log4net.Repository.ILoggerRepository.PluginMap"/>
18962             property is used to store the plugins for a repository.
18963             </para>
18964             <para>
18965             The <c>log4net.Config.PluginAttribute</c> can be used to
18966             attach plugins to repositories created using configuration
18967             attributes.
18968             </para>
18969             </remarks>
18970             <author>Nicko Cadell</author>
18971             <author>Gert Driesen</author>
18972         </member>
18973         <member name="M:log4net.Plugin.IPlugin.Attach(log4net.Repository.ILoggerRepository)">
18974             <summary>
18975             Attaches the plugin to the specified <see cref="T:log4net.Repository.ILoggerRepository"/>.
18976             </summary>
18977             <param name="repository">The <see cref="T:log4net.Repository.ILoggerRepository"/> that this plugin should be attached to.</param>
18978             <remarks>
18979             <para>
18980             A plugin may only be attached to a single repository.
18981             </para>
18982             <para>
18983             This method is called when the plugin is attached to the repository.
18984             </para>
18985             </remarks>
18986         </member>
18987         <member name="M:log4net.Plugin.IPlugin.Shutdown">
18988             <summary>
18989             Is called when the plugin is to shutdown.
18990             </summary>
18991             <remarks>
18992             <para>
18993             This method is called to notify the plugin that 
18994             it should stop operating and should detach from
18995             the repository.
18996             </para>
18997             </remarks>
18998         </member>
18999         <member name="P:log4net.Plugin.IPlugin.Name">
19000             <summary>
19001             Gets the name of the plugin.
19002             </summary>
19003             <value>
19004             The name of the plugin.
19005             </value>
19006             <remarks>
19007             <para>
19008             Plugins are stored in the <see cref="T:log4net.Plugin.PluginMap"/>
19009             keyed by name. Each plugin instance attached to a
19010             repository must be a unique name.
19011             </para>
19012             </remarks>
19013         </member>
19014         <member name="T:log4net.Plugin.PluginCollection">
19015             <summary>
19016             A strongly-typed collection of <see cref="T:log4net.Plugin.IPlugin"/> objects.
19017             </summary>
19018             <author>Nicko Cadell</author>
19019         </member>
19020         <member name="M:log4net.Plugin.PluginCollection.ReadOnly(log4net.Plugin.PluginCollection)">
19021             <summary>
19022             Creates a read-only wrapper for a <c>PluginCollection</c> instance.
19023             </summary>
19024             <param name="list">list to create a readonly wrapper arround</param>
19025             <returns>
19026             A <c>PluginCollection</c> wrapper that is read-only.
19027             </returns>
19028         </member>
19029         <member name="M:log4net.Plugin.PluginCollection.#ctor">
19030             <summary>
19031             Initializes a new instance of the <c>PluginCollection</c> class
19032             that is empty and has the default initial capacity.
19033             </summary>
19034         </member>
19035         <member name="M:log4net.Plugin.PluginCollection.#ctor(System.Int32)">
19036             <summary>
19037             Initializes a new instance of the <c>PluginCollection</c> class
19038             that has the specified initial capacity.
19039             </summary>
19040             <param name="capacity">
19041             The number of elements that the new <c>PluginCollection</c> is initially capable of storing.
19042             </param>
19043         </member>
19044         <member name="M:log4net.Plugin.PluginCollection.#ctor(log4net.Plugin.PluginCollection)">
19045             <summary>
19046             Initializes a new instance of the <c>PluginCollection</c> class
19047             that contains elements copied from the specified <c>PluginCollection</c>.
19048             </summary>
19049             <param name="c">The <c>PluginCollection</c> whose elements are copied to the new collection.</param>
19050         </member>
19051         <member name="M:log4net.Plugin.PluginCollection.#ctor(log4net.Plugin.IPlugin[])">
19052             <summary>
19053             Initializes a new instance of the <c>PluginCollection</c> class
19054             that contains elements copied from the specified <see cref="T:log4net.Plugin.IPlugin"/> array.
19055             </summary>
19056             <param name="a">The <see cref="T:log4net.Plugin.IPlugin"/> array whose elements are copied to the new list.</param>
19057         </member>
19058         <member name="M:log4net.Plugin.PluginCollection.#ctor(System.Collections.ICollection)">
19059             <summary>
19060             Initializes a new instance of the <c>PluginCollection</c> class
19061             that contains elements copied from the specified <see cref="T:log4net.Plugin.IPlugin"/> collection.
19062             </summary>
19063             <param name="col">The <see cref="T:log4net.Plugin.IPlugin"/> collection whose elements are copied to the new list.</param>
19064         </member>
19065         <member name="M:log4net.Plugin.PluginCollection.#ctor(log4net.Plugin.PluginCollection.Tag)">
19066             <summary>
19067             Allow subclasses to avoid our default constructors
19068             </summary>
19069             <param name="tag"></param>
19070             <exclude/>
19071         </member>
19072         <member name="M:log4net.Plugin.PluginCollection.CopyTo(log4net.Plugin.IPlugin[])">
19073             <summary>
19074             Copies the entire <c>PluginCollection</c> to a one-dimensional
19075             <see cref="T:log4net.Plugin.IPlugin"/> array.
19076             </summary>
19077             <param name="array">The one-dimensional <see cref="T:log4net.Plugin.IPlugin"/> array to copy to.</param>
19078         </member>
19079         <member name="M:log4net.Plugin.PluginCollection.CopyTo(log4net.Plugin.IPlugin[],System.Int32)">
19080             <summary>
19081             Copies the entire <c>PluginCollection</c> to a one-dimensional
19082             <see cref="T:log4net.Plugin.IPlugin"/> array, starting at the specified index of the target array.
19083             </summary>
19084             <param name="array">The one-dimensional <see cref="T:log4net.Plugin.IPlugin"/> array to copy to.</param>
19085             <param name="start">The zero-based index in <paramref name="array"/> at which copying begins.</param>
19086         </member>
19087         <member name="M:log4net.Plugin.PluginCollection.Add(log4net.Plugin.IPlugin)">
19088             <summary>
19089             Adds a <see cref="T:log4net.Plugin.IPlugin"/> to the end of the <c>PluginCollection</c>.
19090             </summary>
19091             <param name="item">The <see cref="T:log4net.Plugin.IPlugin"/> to be added to the end of the <c>PluginCollection</c>.</param>
19092             <returns>The index at which the value has been added.</returns>
19093         </member>
19094         <member name="M:log4net.Plugin.PluginCollection.Clear">
19095             <summary>
19096             Removes all elements from the <c>PluginCollection</c>.
19097             </summary>
19098         </member>
19099         <member name="M:log4net.Plugin.PluginCollection.Clone">
19100             <summary>
19101             Creates a shallow copy of the <see cref="T:log4net.Plugin.PluginCollection"/>.
19102             </summary>
19103             <returns>A new <see cref="T:log4net.Plugin.PluginCollection"/> with a shallow copy of the collection data.</returns>
19104         </member>
19105         <member name="M:log4net.Plugin.PluginCollection.Contains(log4net.Plugin.IPlugin)">
19106             <summary>
19107             Determines whether a given <see cref="T:log4net.Plugin.IPlugin"/> is in the <c>PluginCollection</c>.
19108             </summary>
19109             <param name="item">The <see cref="T:log4net.Plugin.IPlugin"/> to check for.</param>
19110             <returns><c>true</c> if <paramref name="item"/> is found in the <c>PluginCollection</c>; otherwise, <c>false</c>.</returns>
19111         </member>
19112         <member name="M:log4net.Plugin.PluginCollection.IndexOf(log4net.Plugin.IPlugin)">
19113             <summary>
19114             Returns the zero-based index of the first occurrence of a <see cref="T:log4net.Plugin.IPlugin"/>
19115             in the <c>PluginCollection</c>.
19116             </summary>
19117             <param name="item">The <see cref="T:log4net.Plugin.IPlugin"/> to locate in the <c>PluginCollection</c>.</param>
19118             <returns>
19119             The zero-based index of the first occurrence of <paramref name="item"/> 
19120             in the entire <c>PluginCollection</c>, if found; otherwise, -1.
19121             </returns>
19122         </member>
19123         <member name="M:log4net.Plugin.PluginCollection.Insert(System.Int32,log4net.Plugin.IPlugin)">
19124             <summary>
19125             Inserts an element into the <c>PluginCollection</c> at the specified index.
19126             </summary>
19127             <param name="index">The zero-based index at which <paramref name="item"/> should be inserted.</param>
19128             <param name="item">The <see cref="T:log4net.Plugin.IPlugin"/> to insert.</param>
19129             <exception cref="T:System.ArgumentOutOfRangeException">
19130             <para><paramref name="index"/> is less than zero</para>
19131             <para>-or-</para>
19132             <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Plugin.PluginCollection.Count"/>.</para>
19133             </exception>
19134         </member>
19135         <member name="M:log4net.Plugin.PluginCollection.Remove(log4net.Plugin.IPlugin)">
19136             <summary>
19137             Removes the first occurrence of a specific <see cref="T:log4net.Plugin.IPlugin"/> from the <c>PluginCollection</c>.
19138             </summary>
19139             <param name="item">The <see cref="T:log4net.Plugin.IPlugin"/> to remove from the <c>PluginCollection</c>.</param>
19140             <exception cref="T:System.ArgumentException">
19141             The specified <see cref="T:log4net.Plugin.IPlugin"/> was not found in the <c>PluginCollection</c>.
19142             </exception>
19143         </member>
19144         <member name="M:log4net.Plugin.PluginCollection.RemoveAt(System.Int32)">
19145             <summary>
19146             Removes the element at the specified index of the <c>PluginCollection</c>.
19147             </summary>
19148             <param name="index">The zero-based index of the element to remove.</param>
19149             <exception cref="T:System.ArgumentOutOfRangeException">
19150             <para><paramref name="index"/> is less than zero.</para>
19151             <para>-or-</para>
19152             <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Plugin.PluginCollection.Count"/>.</para>
19153             </exception>
19154         </member>
19155         <member name="M:log4net.Plugin.PluginCollection.GetEnumerator">
19156             <summary>
19157             Returns an enumerator that can iterate through the <c>PluginCollection</c>.
19158             </summary>
19159             <returns>An <see cref="T:log4net.Plugin.PluginCollection.Enumerator"/> for the entire <c>PluginCollection</c>.</returns>
19160         </member>
19161         <member name="M:log4net.Plugin.PluginCollection.AddRange(log4net.Plugin.PluginCollection)">
19162             <summary>
19163             Adds the elements of another <c>PluginCollection</c> to the current <c>PluginCollection</c>.
19164             </summary>
19165             <param name="x">The <c>PluginCollection</c> whose elements should be added to the end of the current <c>PluginCollection</c>.</param>
19166             <returns>The new <see cref="P:log4net.Plugin.PluginCollection.Count"/> of the <c>PluginCollection</c>.</returns>
19167         </member>
19168         <member name="M:log4net.Plugin.PluginCollection.AddRange(log4net.Plugin.IPlugin[])">
19169             <summary>
19170             Adds the elements of a <see cref="T:log4net.Plugin.IPlugin"/> array to the current <c>PluginCollection</c>.
19171             </summary>
19172             <param name="x">The <see cref="T:log4net.Plugin.IPlugin"/> array whose elements should be added to the end of the <c>PluginCollection</c>.</param>
19173             <returns>The new <see cref="P:log4net.Plugin.PluginCollection.Count"/> of the <c>PluginCollection</c>.</returns>
19174         </member>
19175         <member name="M:log4net.Plugin.PluginCollection.AddRange(System.Collections.ICollection)">
19176             <summary>
19177             Adds the elements of a <see cref="T:log4net.Plugin.IPlugin"/> collection to the current <c>PluginCollection</c>.
19178             </summary>
19179             <param name="col">The <see cref="T:log4net.Plugin.IPlugin"/> collection whose elements should be added to the end of the <c>PluginCollection</c>.</param>
19180             <returns>The new <see cref="P:log4net.Plugin.PluginCollection.Count"/> of the <c>PluginCollection</c>.</returns>
19181         </member>
19182         <member name="M:log4net.Plugin.PluginCollection.TrimToSize">
19183             <summary>
19184             Sets the capacity to the actual number of elements.
19185             </summary>
19186         </member>
19187         <member name="M:log4net.Plugin.PluginCollection.ValidateIndex(System.Int32)">
19188             <exception cref="T:System.ArgumentOutOfRangeException">
19189             <para><paramref name="index"/> is less than zero.</para>
19190             <para>-or-</para>
19191             <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Plugin.PluginCollection.Count"/>.</para>
19192             </exception>
19193         </member>
19194         <member name="M:log4net.Plugin.PluginCollection.ValidateIndex(System.Int32,System.Boolean)">
19195             <exception cref="T:System.ArgumentOutOfRangeException">
19196             <para><paramref name="index"/> is less than zero.</para>
19197             <para>-or-</para>
19198             <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Plugin.PluginCollection.Count"/>.</para>
19199             </exception>
19200         </member>
19201         <member name="P:log4net.Plugin.PluginCollection.Count">
19202             <summary>
19203             Gets the number of elements actually contained in the <c>PluginCollection</c>.
19204             </summary>
19205         </member>
19206         <member name="P:log4net.Plugin.PluginCollection.IsSynchronized">
19207             <summary>
19208             Gets a value indicating whether access to the collection is synchronized (thread-safe).
19209             </summary>
19210             <returns>true if access to the ICollection is synchronized (thread-safe); otherwise, false.</returns>
19211         </member>
19212         <member name="P:log4net.Plugin.PluginCollection.SyncRoot">
19213             <summary>
19214             Gets an object that can be used to synchronize access to the collection.
19215             </summary>
19216             <value>
19217             An object that can be used to synchronize access to the collection.
19218             </value>
19219         </member>
19220         <member name="P:log4net.Plugin.PluginCollection.Item(System.Int32)">
19221             <summary>
19222             Gets or sets the <see cref="T:log4net.Plugin.IPlugin"/> at the specified index.
19223             </summary>
19224             <value>
19225             The <see cref="T:log4net.Plugin.IPlugin"/> at the specified index.
19226             </value>
19227             <param name="index">The zero-based index of the element to get or set.</param>
19228             <exception cref="T:System.ArgumentOutOfRangeException">
19229             <para><paramref name="index"/> is less than zero.</para>
19230             <para>-or-</para>
19231             <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Plugin.PluginCollection.Count"/>.</para>
19232             </exception>
19233         </member>
19234         <member name="P:log4net.Plugin.PluginCollection.IsFixedSize">
19235             <summary>
19236             Gets a value indicating whether the collection has a fixed size.
19237             </summary>
19238             <value><c>true</c> if the collection has a fixed size; otherwise, <c>false</c>. The default is <c>false</c>.</value>
19239         </member>
19240         <member name="P:log4net.Plugin.PluginCollection.IsReadOnly">
19241             <summary>
19242             Gets a value indicating whether the IList is read-only.
19243             </summary>
19244             <value><c>true</c> if the collection is read-only; otherwise, <c>false</c>. The default is <c>false</c>.</value>
19245         </member>
19246         <member name="P:log4net.Plugin.PluginCollection.Capacity">
19247             <summary>
19248             Gets or sets the number of elements the <c>PluginCollection</c> can contain.
19249             </summary>
19250             <value>
19251             The number of elements the <c>PluginCollection</c> can contain.
19252             </value>
19253         </member>
19254         <member name="T:log4net.Plugin.PluginCollection.IPluginCollectionEnumerator">
19255             <summary>
19256             Supports type-safe iteration over a <see cref="T:log4net.Plugin.PluginCollection"/>.
19257             </summary>
19258             <exclude/>
19259         </member>
19260         <member name="M:log4net.Plugin.PluginCollection.IPluginCollectionEnumerator.MoveNext">
19261             <summary>
19262             Advances the enumerator to the next element in the collection.
19263             </summary>
19264             <returns>
19265             <c>true</c> if the enumerator was successfully advanced to the next element; 
19266             <c>false</c> if the enumerator has passed the end of the collection.
19267             </returns>
19268             <exception cref="T:System.InvalidOperationException">
19269             The collection was modified after the enumerator was created.
19270             </exception>
19271         </member>
19272         <member name="M:log4net.Plugin.PluginCollection.IPluginCollectionEnumerator.Reset">
19273             <summary>
19274             Sets the enumerator to its initial position, before the first element in the collection.
19275             </summary>
19276         </member>
19277         <member name="P:log4net.Plugin.PluginCollection.IPluginCollectionEnumerator.Current">
19278             <summary>
19279             Gets the current element in the collection.
19280             </summary>
19281         </member>
19282         <member name="T:log4net.Plugin.PluginCollection.Tag">
19283             <summary>
19284             Type visible only to our subclasses
19285             Used to access protected constructor
19286             </summary>
19287             <exclude/>
19288         </member>
19289         <member name="F:log4net.Plugin.PluginCollection.Tag.Default">
19290             <summary>
19291             A value
19292             </summary>
19293         </member>
19294         <member name="T:log4net.Plugin.PluginCollection.Enumerator">
19295             <summary>
19296             Supports simple iteration over a <see cref="T:log4net.Plugin.PluginCollection"/>.
19297             </summary>
19298             <exclude/>
19299         </member>
19300         <member name="M:log4net.Plugin.PluginCollection.Enumerator.#ctor(log4net.Plugin.PluginCollection)">
19301             <summary>
19302             Initializes a new instance of the <c>Enumerator</c> class.
19303             </summary>
19304             <param name="tc"></param>
19305         </member>
19306         <member name="M:log4net.Plugin.PluginCollection.Enumerator.MoveNext">
19307             <summary>
19308             Advances the enumerator to the next element in the collection.
19309             </summary>
19310             <returns>
19311             <c>true</c> if the enumerator was successfully advanced to the next element; 
19312             <c>false</c> if the enumerator has passed the end of the collection.
19313             </returns>
19314             <exception cref="T:System.InvalidOperationException">
19315             The collection was modified after the enumerator was created.
19316             </exception>
19317         </member>
19318         <member name="M:log4net.Plugin.PluginCollection.Enumerator.Reset">
19319             <summary>
19320             Sets the enumerator to its initial position, before the first element in the collection.
19321             </summary>
19322         </member>
19323         <member name="P:log4net.Plugin.PluginCollection.Enumerator.Current">
19324             <summary>
19325             Gets the current element in the collection.
19326             </summary>
19327             <value>
19328             The current element in the collection.
19329             </value>
19330         </member>
19331         <member name="T:log4net.Plugin.PluginCollection.ReadOnlyPluginCollection">
19332             <exclude/>
19333         </member>
19334         <member name="T:log4net.Plugin.PluginMap">
19335             <summary>
19336             Map of repository plugins.
19337             </summary>
19338             <remarks>
19339             <para>
19340             This class is a name keyed map of the plugins that are
19341             attached to a repository.
19342             </para>
19343             </remarks>
19344             <author>Nicko Cadell</author>
19345             <author>Gert Driesen</author>
19346         </member>
19347         <member name="M:log4net.Plugin.PluginMap.#ctor(log4net.Repository.ILoggerRepository)">
19348             <summary>
19349             Constructor
19350             </summary>
19351             <param name="repository">The repository that the plugins should be attached to.</param>
19352             <remarks>
19353             <para>
19354             Initialize a new instance of the <see cref="T:log4net.Plugin.PluginMap"/> class with a 
19355             repository that the plugins should be attached to.
19356             </para>
19357             </remarks>
19358         </member>
19359         <member name="M:log4net.Plugin.PluginMap.Add(log4net.Plugin.IPlugin)">
19360             <summary>
19361             Adds a <see cref="T:log4net.Plugin.IPlugin"/> to the map.
19362             </summary>
19363             <param name="plugin">The <see cref="T:log4net.Plugin.IPlugin"/> to add to the map.</param>
19364             <remarks>
19365             <para>
19366             The <see cref="T:log4net.Plugin.IPlugin"/> will be attached to the repository when added.
19367             </para>
19368             <para>
19369             If there already exists a plugin with the same name 
19370             attached to the repository then the old plugin will
19371             be <see cref="M:log4net.Plugin.IPlugin.Shutdown"/> and replaced with
19372             the new plugin.
19373             </para>
19374             </remarks>
19375         </member>
19376         <member name="M:log4net.Plugin.PluginMap.Remove(log4net.Plugin.IPlugin)">
19377             <summary>
19378             Removes a <see cref="T:log4net.Plugin.IPlugin"/> from the map.
19379             </summary>
19380             <param name="plugin">The <see cref="T:log4net.Plugin.IPlugin"/> to remove from the map.</param>
19381             <remarks>
19382             <para>
19383             Remove a specific plugin from this map.
19384             </para>
19385             </remarks>
19386         </member>
19387         <member name="P:log4net.Plugin.PluginMap.Item(System.String)">
19388             <summary>
19389             Gets a <see cref="T:log4net.Plugin.IPlugin"/> by name.
19390             </summary>
19391             <param name="name">The name of the <see cref="T:log4net.Plugin.IPlugin"/> to lookup.</param>
19392             <returns>
19393             The <see cref="T:log4net.Plugin.IPlugin"/> from the map with the name specified, or 
19394             <c>null</c> if no plugin is found.
19395             </returns>
19396             <remarks>
19397             <para>
19398             Lookup a plugin by name. If the plugin is not found <c>null</c>
19399             will be returned.
19400             </para>
19401             </remarks>
19402         </member>
19403         <member name="P:log4net.Plugin.PluginMap.AllPlugins">
19404             <summary>
19405             Gets all possible plugins as a list of <see cref="T:log4net.Plugin.IPlugin"/> objects.
19406             </summary>
19407             <value>All possible plugins as a list of <see cref="T:log4net.Plugin.IPlugin"/> objects.</value>
19408             <remarks>
19409             <para>
19410             Get a collection of all the plugins defined in this map.
19411             </para>
19412             </remarks>
19413         </member>
19414         <member name="T:log4net.Plugin.PluginSkeleton">
19415             <summary>
19416             Base implementation of <see cref="T:log4net.Plugin.IPlugin"/>
19417             </summary>
19418             <remarks>
19419             <para>
19420             Default abstract implementation of the <see cref="T:log4net.Plugin.IPlugin"/>
19421             interface. This base class can be used by implementors
19422             of the <see cref="T:log4net.Plugin.IPlugin"/> interface.
19423             </para>
19424             </remarks>
19425             <author>Nicko Cadell</author>
19426             <author>Gert Driesen</author>
19427         </member>
19428         <member name="M:log4net.Plugin.PluginSkeleton.#ctor(System.String)">
19429             <summary>
19430             Constructor
19431             </summary>
19432             <param name="name">the name of the plugin</param>
19433             <remarks>
19434             Initializes a new Plugin with the specified name.
19435             </remarks>
19436         </member>
19437         <member name="M:log4net.Plugin.PluginSkeleton.Attach(log4net.Repository.ILoggerRepository)">
19438             <summary>
19439             Attaches this plugin to a <see cref="T:log4net.Repository.ILoggerRepository"/>.
19440             </summary>
19441             <param name="repository">The <see cref="T:log4net.Repository.ILoggerRepository"/> that this plugin should be attached to.</param>
19442             <remarks>
19443             <para>
19444             A plugin may only be attached to a single repository.
19445             </para>
19446             <para>
19447             This method is called when the plugin is attached to the repository.
19448             </para>
19449             </remarks>
19450         </member>
19451         <member name="M:log4net.Plugin.PluginSkeleton.Shutdown">
19452             <summary>
19453             Is called when the plugin is to shutdown.
19454             </summary>
19455             <remarks>
19456             <para>
19457             This method is called to notify the plugin that 
19458             it should stop operating and should detach from
19459             the repository.
19460             </para>
19461             </remarks>
19462         </member>
19463         <member name="F:log4net.Plugin.PluginSkeleton.m_name">
19464             <summary>
19465             The name of this plugin.
19466             </summary>
19467         </member>
19468         <member name="F:log4net.Plugin.PluginSkeleton.m_repository">
19469             <summary>
19470             The repository this plugin is attached to.
19471             </summary>
19472         </member>
19473         <member name="P:log4net.Plugin.PluginSkeleton.Name">
19474             <summary>
19475             Gets or sets the name of the plugin.
19476             </summary>
19477             <value>
19478             The name of the plugin.
19479             </value>
19480             <remarks>
19481             <para>
19482             Plugins are stored in the <see cref="T:log4net.Plugin.PluginMap"/>
19483             keyed by name. Each plugin instance attached to a
19484             repository must be a unique name.
19485             </para>
19486             <para>
19487             The name of the plugin must not change one the 
19488             plugin has been attached to a repository.
19489             </para>
19490             </remarks>
19491         </member>
19492         <member name="P:log4net.Plugin.PluginSkeleton.LoggerRepository">
19493             <summary>
19494             The repository for this plugin
19495             </summary>
19496             <value>
19497             The <see cref="T:log4net.Repository.ILoggerRepository"/> that this plugin is attached to.
19498             </value>
19499             <remarks>
19500             <para>
19501             Gets or sets the <see cref="T:log4net.Repository.ILoggerRepository"/> that this plugin is 
19502             attached to.
19503             </para>
19504             </remarks>
19505         </member>
19506         <member name="T:log4net.Plugin.RemoteLoggingServerPlugin">
19507             <summary>
19508             Plugin that listens for events from the <see cref="T:log4net.Appender.RemotingAppender"/>
19509             </summary>
19510             <remarks>
19511             <para>
19512             This plugin publishes an instance of <see cref="T:log4net.Appender.RemotingAppender.IRemoteLoggingSink"/> 
19513             on a specified <see cref="P:log4net.Plugin.RemoteLoggingServerPlugin.SinkUri"/>. This listens for logging events delivered from
19514             a remote <see cref="T:log4net.Appender.RemotingAppender"/>.
19515             </para>
19516             <para>
19517             When an event is received it is relogged within the attached repository
19518             as if it had been raised locally.
19519             </para>
19520             </remarks>
19521             <author>Nicko Cadell</author>
19522             <author>Gert Driesen</author>
19523         </member>
19524         <member name="M:log4net.Plugin.RemoteLoggingServerPlugin.#ctor">
19525             <summary>
19526             Default constructor
19527             </summary>
19528             <remarks>
19529             <para>
19530             Initializes a new instance of the <see cref="T:log4net.Plugin.RemoteLoggingServerPlugin"/> class.
19531             </para>
19532             <para>
19533             The <see cref="P:log4net.Plugin.RemoteLoggingServerPlugin.SinkUri"/> property must be set.
19534             </para>
19535             </remarks>
19536         </member>
19537         <member name="M:log4net.Plugin.RemoteLoggingServerPlugin.#ctor(System.String)">
19538             <summary>
19539             Construct with sink Uri.
19540             </summary>
19541             <param name="sinkUri">The name to publish the sink under in the remoting infrastructure. 
19542             See <see cref="P:log4net.Plugin.RemoteLoggingServerPlugin.SinkUri"/> for more details.</param>
19543             <remarks>
19544             <para>
19545             Initializes a new instance of the <see cref="T:log4net.Plugin.RemoteLoggingServerPlugin"/> class
19546             with specified name.
19547             </para>
19548             </remarks>
19549         </member>
19550         <member name="M:log4net.Plugin.RemoteLoggingServerPlugin.Attach(log4net.Repository.ILoggerRepository)">
19551             <summary>
19552             Attaches this plugin to a <see cref="T:log4net.Repository.ILoggerRepository"/>.
19553             </summary>
19554             <param name="repository">The <see cref="T:log4net.Repository.ILoggerRepository"/> that this plugin should be attached to.</param>
19555             <remarks>
19556             <para>
19557             A plugin may only be attached to a single repository.
19558             </para>
19559             <para>
19560             This method is called when the plugin is attached to the repository.
19561             </para>
19562             </remarks>
19563         </member>
19564         <member name="M:log4net.Plugin.RemoteLoggingServerPlugin.Shutdown">
19565             <summary>
19566             Is called when the plugin is to shutdown.
19567             </summary>
19568             <remarks>
19569             <para>
19570             When the plugin is shutdown the remote logging
19571             sink is disconnected.
19572             </para>
19573             </remarks>
19574         </member>
19575         <member name="P:log4net.Plugin.RemoteLoggingServerPlugin.SinkUri">
19576             <summary>
19577             Gets or sets the URI of this sink.
19578             </summary>
19579             <value>
19580             The URI of this sink.
19581             </value>
19582             <remarks>
19583             <para>
19584             This is the name under which the object is marshaled.
19585             <see cref="M:System.Runtime.Remoting.RemotingServices.Marshal(System.MarshalByRefObject,System.String,System.Type)"/>
19586             </para>
19587             </remarks>
19588         </member>
19589         <member name="T:log4net.Plugin.RemoteLoggingServerPlugin.RemoteLoggingSinkImpl">
19590             <summary>
19591             Delivers <see cref="T:log4net.Core.LoggingEvent"/> objects to a remote sink.
19592             </summary>
19593             <remarks>
19594             <para>
19595             Internal class used to listen for logging events
19596             and deliver them to the local repository.
19597             </para>
19598             </remarks>
19599         </member>
19600         <member name="M:log4net.Plugin.RemoteLoggingServerPlugin.RemoteLoggingSinkImpl.#ctor(log4net.Repository.ILoggerRepository)">
19601             <summary>
19602             Constructor
19603             </summary>
19604             <param name="repository">The repository to log to.</param>
19605             <remarks>
19606             <para>
19607             Initializes a new instance of the <see cref="T:log4net.Plugin.RemoteLoggingServerPlugin.RemoteLoggingSinkImpl"/> for the
19608             specified <see cref="T:log4net.Repository.ILoggerRepository"/>.
19609             </para>
19610             </remarks>
19611         </member>
19612         <member name="M:log4net.Plugin.RemoteLoggingServerPlugin.RemoteLoggingSinkImpl.LogEvents(log4net.Core.LoggingEvent[])">
19613             <summary>
19614             Logs the events to the repository.
19615             </summary>
19616             <param name="events">The events to log.</param>
19617             <remarks>
19618             <para>
19619             The events passed are logged to the <see cref="T:log4net.Repository.ILoggerRepository"/>
19620             </para>
19621             </remarks>
19622         </member>
19623         <member name="M:log4net.Plugin.RemoteLoggingServerPlugin.RemoteLoggingSinkImpl.InitializeLifetimeService">
19624             <summary>
19625             Obtains a lifetime service object to control the lifetime 
19626             policy for this instance.
19627             </summary>
19628             <returns><c>null</c> to indicate that this instance should live forever.</returns>
19629             <remarks>
19630             <para>
19631             Obtains a lifetime service object to control the lifetime 
19632             policy for this instance. This object should live forever
19633             therefore this implementation returns <c>null</c>.
19634             </para>
19635             </remarks>
19636         </member>
19637         <member name="F:log4net.Plugin.RemoteLoggingServerPlugin.RemoteLoggingSinkImpl.m_repository">
19638             <summary>
19639             The underlying <see cref="T:log4net.Repository.ILoggerRepository"/> that events should
19640             be logged to.
19641             </summary>
19642         </member>
19643         <member name="T:log4net.Repository.Hierarchy.DefaultLoggerFactory">
19644             <summary>
19645             Default implementation of <see cref="T:log4net.Repository.Hierarchy.ILoggerFactory"/>
19646             </summary>
19647             <remarks>
19648             <para>
19649             This default implementation of the <see cref="T:log4net.Repository.Hierarchy.ILoggerFactory"/>
19650             interface is used to create the default subclass
19651             of the <see cref="T:log4net.Repository.Hierarchy.Logger"/> object.
19652             </para>
19653             </remarks>
19654             <author>Nicko Cadell</author>
19655             <author>Gert Driesen</author>
19656         </member>
19657         <member name="T:log4net.Repository.Hierarchy.ILoggerFactory">
19658             <summary>
19659             Interface abstracts creation of <see cref="T:log4net.Repository.Hierarchy.Logger"/> instances
19660             </summary>
19661             <remarks>
19662             <para>
19663             This interface is used by the <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> to 
19664             create new <see cref="T:log4net.Repository.Hierarchy.Logger"/> objects.
19665             </para>
19666             <para>
19667             The <see cref="M:log4net.Repository.Hierarchy.ILoggerFactory.CreateLogger(System.String)"/> method is called
19668             to create a named <see cref="T:log4net.Repository.Hierarchy.Logger"/>.
19669             </para>
19670             <para>
19671             Implement this interface to create new subclasses of <see cref="T:log4net.Repository.Hierarchy.Logger"/>.
19672             </para>
19673             </remarks>
19674             <author>Nicko Cadell</author>
19675             <author>Gert Driesen</author>
19676         </member>
19677         <member name="M:log4net.Repository.Hierarchy.ILoggerFactory.CreateLogger(System.String)">
19678             <summary>
19679             Create a new <see cref="T:log4net.Repository.Hierarchy.Logger"/> instance
19680             </summary>
19681             <param name="name">The name of the <see cref="T:log4net.Repository.Hierarchy.Logger"/>.</param>
19682             <returns>The <see cref="T:log4net.Repository.Hierarchy.Logger"/> instance for the specified name.</returns>
19683             <remarks>
19684             <para>
19685             Create a new <see cref="T:log4net.Repository.Hierarchy.Logger"/> instance with the 
19686             specified name.
19687             </para>
19688             <para>
19689             Called by the <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> to create
19690             new named <see cref="T:log4net.Repository.Hierarchy.Logger"/> instances.
19691             </para>
19692             <para>
19693             If the <paramref name="name"/> is <c>null</c> then the root logger
19694             must be returned.
19695             </para>
19696             </remarks>
19697         </member>
19698         <member name="M:log4net.Repository.Hierarchy.DefaultLoggerFactory.#ctor">
19699             <summary>
19700             Default constructor
19701             </summary>
19702             <remarks>
19703             <para>
19704             Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.DefaultLoggerFactory"/> class. 
19705             </para>
19706             </remarks>
19707         </member>
19708         <member name="M:log4net.Repository.Hierarchy.DefaultLoggerFactory.CreateLogger(System.String)">
19709             <summary>
19710             Create a new <see cref="T:log4net.Repository.Hierarchy.Logger"/> instance
19711             </summary>
19712             <param name="name">The name of the <see cref="T:log4net.Repository.Hierarchy.Logger"/>.</param>
19713             <returns>The <see cref="T:log4net.Repository.Hierarchy.Logger"/> instance for the specified name.</returns>
19714             <remarks>
19715             <para>
19716             Create a new <see cref="T:log4net.Repository.Hierarchy.Logger"/> instance with the 
19717             specified name.
19718             </para>
19719             <para>
19720             Called by the <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> to create
19721             new named <see cref="T:log4net.Repository.Hierarchy.Logger"/> instances.
19722             </para>
19723             <para>
19724             If the <paramref name="name"/> is <c>null</c> then the root logger
19725             must be returned.
19726             </para>
19727             </remarks>
19728         </member>
19729         <member name="T:log4net.Repository.Hierarchy.DefaultLoggerFactory.LoggerImpl">
19730             <summary>
19731             Default internal subclass of <see cref="T:log4net.Repository.Hierarchy.Logger"/>
19732             </summary>
19733             <remarks>
19734             <para>
19735             This subclass has no additional behavior over the
19736             <see cref="T:log4net.Repository.Hierarchy.Logger"/> class but does allow instances
19737             to be created.
19738             </para>
19739             </remarks>
19740         </member>
19741         <member name="T:log4net.Repository.Hierarchy.Logger">
19742             <summary>
19743             Implementation of <see cref="T:log4net.Core.ILogger"/> used by <see cref="P:log4net.Repository.Hierarchy.Logger.Hierarchy"/>
19744             </summary>
19745             <remarks>
19746             <para>
19747             Internal class used to provide implementation of <see cref="T:log4net.Core.ILogger"/>
19748             interface. Applications should use <see cref="T:log4net.LogManager"/> to get
19749             logger instances.
19750             </para>
19751             <para>
19752             This is one of the central classes in the log4net implementation. One of the
19753             distinctive features of log4net are hierarchical loggers and their
19754             evaluation. The <see cref="P:log4net.Repository.Hierarchy.Logger.Hierarchy"/> organizes the <see cref="T:log4net.Repository.Hierarchy.Logger"/>
19755             instances into a rooted tree hierarchy.
19756             </para>
19757             <para>
19758             The <see cref="T:log4net.Repository.Hierarchy.Logger"/> class is abstract. Only concrete subclasses of
19759             <see cref="T:log4net.Repository.Hierarchy.Logger"/> can be created. The <see cref="T:log4net.Repository.Hierarchy.ILoggerFactory"/>
19760             is used to create instances of this type for the <see cref="P:log4net.Repository.Hierarchy.Logger.Hierarchy"/>.
19761             </para>
19762             </remarks>
19763             <author>Nicko Cadell</author>
19764             <author>Gert Driesen</author>
19765             <author>Aspi Havewala</author>
19766             <author>Douglas de la Torre</author>
19767         </member>
19768         <member name="M:log4net.Repository.Hierarchy.Logger.#ctor(System.String)">
19769             <summary>
19770             This constructor created a new <see cref="T:log4net.Repository.Hierarchy.Logger"/> instance and
19771             sets its name.
19772             </summary>
19773             <param name="name">The name of the <see cref="T:log4net.Repository.Hierarchy.Logger"/>.</param>
19774             <remarks>
19775             <para>
19776             This constructor is protected and designed to be used by
19777             a subclass that is not abstract.
19778             </para>
19779             <para>
19780             Loggers are constructed by <see cref="T:log4net.Repository.Hierarchy.ILoggerFactory"/> 
19781             objects. See <see cref="T:log4net.Repository.Hierarchy.DefaultLoggerFactory"/> for the default
19782             logger creator.
19783             </para>
19784             </remarks>
19785         </member>
19786         <member name="M:log4net.Repository.Hierarchy.Logger.AddAppender(log4net.Appender.IAppender)">
19787             <summary>
19788             Add <paramref name="newAppender"/> to the list of appenders of this
19789             Logger instance.
19790             </summary>
19791             <param name="newAppender">An appender to add to this logger</param>
19792             <remarks>
19793             <para>
19794             Add <paramref name="newAppender"/> to the list of appenders of this
19795             Logger instance.
19796             </para>
19797             <para>
19798             If <paramref name="newAppender"/> is already in the list of
19799             appenders, then it won't be added again.
19800             </para>
19801             </remarks>
19802         </member>
19803         <member name="M:log4net.Repository.Hierarchy.Logger.GetAppender(System.String)">
19804             <summary>
19805             Look for the appender named as <c>name</c>
19806             </summary>
19807             <param name="name">The name of the appender to lookup</param>
19808             <returns>The appender with the name specified, or <c>null</c>.</returns>
19809             <remarks>
19810             <para>
19811             Returns the named appender, or null if the appender is not found.
19812             </para>
19813             </remarks>
19814         </member>
19815         <member name="M:log4net.Repository.Hierarchy.Logger.RemoveAllAppenders">
19816             <summary>
19817             Remove all previously added appenders from this Logger instance.
19818             </summary>
19819             <remarks>
19820             <para>
19821             Remove all previously added appenders from this Logger instance.
19822             </para>
19823             <para>
19824             This is useful when re-reading configuration information.
19825             </para>
19826             </remarks>
19827         </member>
19828         <member name="M:log4net.Repository.Hierarchy.Logger.RemoveAppender(log4net.Appender.IAppender)">
19829             <summary>
19830             Remove the appender passed as parameter form the list of appenders.
19831             </summary>
19832             <param name="appender">The appender to remove</param>
19833             <returns>The appender removed from the list</returns>
19834             <remarks>
19835             <para>
19836             Remove the appender passed as parameter form the list of appenders.
19837             The appender removed is not closed.
19838             If you are discarding the appender you must call
19839             <see cref="M:log4net.Appender.IAppender.Close"/> on the appender removed.
19840             </para>
19841             </remarks>
19842         </member>
19843         <member name="M:log4net.Repository.Hierarchy.Logger.RemoveAppender(System.String)">
19844             <summary>
19845             Remove the appender passed as parameter form the list of appenders.
19846             </summary>
19847             <param name="name">The name of the appender to remove</param>
19848             <returns>The appender removed from the list</returns>
19849             <remarks>
19850             <para>
19851             Remove the named appender passed as parameter form the list of appenders.
19852             The appender removed is not closed.
19853             If you are discarding the appender you must call
19854             <see cref="M:log4net.Appender.IAppender.Close"/> on the appender removed.
19855             </para>
19856             </remarks>
19857         </member>
19858         <member name="M:log4net.Repository.Hierarchy.Logger.Log(System.Type,log4net.Core.Level,System.Object,System.Exception)">
19859             <summary>
19860             This generic form is intended to be used by wrappers.
19861             </summary>
19862             <param name="callerStackBoundaryDeclaringType">The declaring type of the method that is
19863             the stack boundary into the logging system for this call.</param>
19864             <param name="level">The level of the message to be logged.</param>
19865             <param name="message">The message object to log.</param>
19866             <param name="exception">The exception to log, including its stack trace.</param>
19867             <remarks>
19868             <para>
19869             Generate a logging event for the specified <paramref name="level"/> using
19870             the <paramref name="message"/> and <paramref name="exception"/>.
19871             </para>
19872             <para>
19873             This method must not throw any exception to the caller.
19874             </para>
19875             </remarks>
19876         </member>
19877         <member name="M:log4net.Repository.Hierarchy.Logger.Log(log4net.Core.LoggingEvent)">
19878             <summary>
19879             This is the most generic printing method that is intended to be used 
19880             by wrappers.
19881             </summary>
19882             <param name="logEvent">The event being logged.</param>
19883             <remarks>
19884             <para>
19885             Logs the specified logging event through this logger.
19886             </para>
19887             <para>
19888             This method must not throw any exception to the caller.
19889             </para>
19890             </remarks>
19891         </member>
19892         <member name="M:log4net.Repository.Hierarchy.Logger.IsEnabledFor(log4net.Core.Level)">
19893             <summary>
19894             Checks if this logger is enabled for a given <see cref="P:log4net.Repository.Hierarchy.Logger.Level"/> passed as parameter.
19895             </summary>
19896             <param name="level">The level to check.</param>
19897             <returns>
19898             <c>true</c> if this logger is enabled for <c>level</c>, otherwise <c>false</c>.
19899             </returns>
19900             <remarks>
19901             <para>
19902             Test if this logger is going to log events of the specified <paramref name="level"/>.
19903             </para>
19904             <para>
19905             This method must not throw any exception to the caller.
19906             </para>
19907             </remarks>
19908         </member>
19909         <member name="M:log4net.Repository.Hierarchy.Logger.CallAppenders(log4net.Core.LoggingEvent)">
19910             <summary>
19911             Deliver the <see cref="T:log4net.Core.LoggingEvent"/> to the attached appenders.
19912             </summary>
19913             <param name="loggingEvent">The event to log.</param>
19914             <remarks>
19915             <para>
19916             Call the appenders in the hierarchy starting at
19917             <c>this</c>. If no appenders could be found, emit a
19918             warning.
19919             </para>
19920             <para>
19921             This method calls all the appenders inherited from the
19922             hierarchy circumventing any evaluation of whether to log or not
19923             to log the particular log request.
19924             </para>
19925             </remarks>
19926         </member>
19927         <member name="M:log4net.Repository.Hierarchy.Logger.CloseNestedAppenders">
19928             <summary>
19929             Closes all attached appenders implementing the <see cref="T:log4net.Core.IAppenderAttachable"/> interface.
19930             </summary>
19931             <remarks>
19932             <para>
19933             Used to ensure that the appenders are correctly shutdown.
19934             </para>
19935             </remarks>
19936         </member>
19937         <member name="M:log4net.Repository.Hierarchy.Logger.Log(log4net.Core.Level,System.Object,System.Exception)">
19938             <summary>
19939             This is the most generic printing method. This generic form is intended to be used by wrappers
19940             </summary>
19941             <param name="level">The level of the message to be logged.</param>
19942             <param name="message">The message object to log.</param>
19943             <param name="exception">The exception to log, including its stack trace.</param>
19944             <remarks>
19945             <para>
19946             Generate a logging event for the specified <paramref name="level"/> using
19947             the <paramref name="message"/>.
19948             </para>
19949             </remarks>
19950         </member>
19951         <member name="M:log4net.Repository.Hierarchy.Logger.ForcedLog(System.Type,log4net.Core.Level,System.Object,System.Exception)">
19952             <summary>
19953             Creates a new logging event and logs the event without further checks.
19954             </summary>
19955             <param name="callerStackBoundaryDeclaringType">The declaring type of the method that is
19956             the stack boundary into the logging system for this call.</param>
19957             <param name="level">The level of the message to be logged.</param>
19958             <param name="message">The message object to log.</param>
19959             <param name="exception">The exception to log, including its stack trace.</param>
19960             <remarks>
19961             <para>
19962             Generates a logging event and delivers it to the attached
19963             appenders.
19964             </para>
19965             </remarks>
19966         </member>
19967         <member name="M:log4net.Repository.Hierarchy.Logger.ForcedLog(log4net.Core.LoggingEvent)">
19968             <summary>
19969             Creates a new logging event and logs the event without further checks.
19970             </summary>
19971             <param name="logEvent">The event being logged.</param>
19972             <remarks>
19973             <para>
19974             Delivers the logging event to the attached appenders.
19975             </para>
19976             </remarks>
19977         </member>
19978         <member name="F:log4net.Repository.Hierarchy.Logger.ThisDeclaringType">
19979             <summary>
19980             The fully qualified type of the Logger class.
19981             </summary>
19982         </member>
19983         <member name="F:log4net.Repository.Hierarchy.Logger.m_name">
19984             <summary>
19985             The name of this logger.
19986             </summary>
19987         </member>
19988         <member name="F:log4net.Repository.Hierarchy.Logger.m_level">
19989             <summary>
19990             The assigned level of this logger. 
19991             </summary>
19992             <remarks>
19993             <para>
19994             The <c>level</c> variable need not be 
19995             assigned a value in which case it is inherited 
19996             form the hierarchy.
19997             </para>
19998             </remarks>
19999         </member>
20000         <member name="F:log4net.Repository.Hierarchy.Logger.m_parent">
20001             <summary>
20002             The parent of this logger.
20003             </summary>
20004             <remarks>
20005             <para>
20006             The parent of this logger. 
20007             All loggers have at least one ancestor which is the root logger.
20008             </para>
20009             </remarks>
20010         </member>
20011         <member name="F:log4net.Repository.Hierarchy.Logger.m_hierarchy">
20012             <summary>
20013             Loggers need to know what Hierarchy they are in.
20014             </summary>
20015             <remarks>
20016             <para>
20017             Loggers need to know what Hierarchy they are in.
20018             The hierarchy that this logger is a member of is stored
20019             here.
20020             </para>
20021             </remarks>
20022         </member>
20023         <member name="F:log4net.Repository.Hierarchy.Logger.m_appenderAttachedImpl">
20024             <summary>
20025             Helper implementation of the <see cref="T:log4net.Core.IAppenderAttachable"/> interface
20026             </summary>
20027         </member>
20028         <member name="F:log4net.Repository.Hierarchy.Logger.m_additive">
20029             <summary>
20030             Flag indicating if child loggers inherit their parents appenders
20031             </summary>
20032             <remarks>
20033             <para>
20034             Additivity is set to true by default, that is children inherit
20035             the appenders of their ancestors by default. If this variable is
20036             set to <c>false</c> then the appenders found in the
20037             ancestors of this logger are not used. However, the children
20038             of this logger will inherit its appenders, unless the children
20039             have their additivity flag set to <c>false</c> too. See
20040             the user manual for more details.
20041             </para>
20042             </remarks>
20043         </member>
20044         <member name="F:log4net.Repository.Hierarchy.Logger.m_appenderLock">
20045             <summary>
20046             Lock to protect AppenderAttachedImpl variable m_appenderAttachedImpl
20047             </summary>
20048         </member>
20049         <member name="P:log4net.Repository.Hierarchy.Logger.Parent">
20050             <summary>
20051             Gets or sets the parent logger in the hierarchy.
20052             </summary>
20053             <value>
20054             The parent logger in the hierarchy.
20055             </value>
20056             <remarks>
20057             <para>
20058             Part of the Composite pattern that makes the hierarchy.
20059             The hierarchy is parent linked rather than child linked.
20060             </para>
20061             </remarks>
20062         </member>
20063         <member name="P:log4net.Repository.Hierarchy.Logger.Additivity">
20064             <summary>
20065             Gets or sets a value indicating if child loggers inherit their parent's appenders.
20066             </summary>
20067             <value>
20068             <c>true</c> if child loggers inherit their parent's appenders.
20069             </value>
20070             <remarks>
20071             <para>
20072             Additivity is set to <c>true</c> by default, that is children inherit
20073             the appenders of their ancestors by default. If this variable is
20074             set to <c>false</c> then the appenders found in the
20075             ancestors of this logger are not used. However, the children
20076             of this logger will inherit its appenders, unless the children
20077             have their additivity flag set to <c>false</c> too. See
20078             the user manual for more details.
20079             </para>
20080             </remarks>
20081         </member>
20082         <member name="P:log4net.Repository.Hierarchy.Logger.EffectiveLevel">
20083             <summary>
20084             Gets the effective level for this logger.
20085             </summary>
20086             <returns>The nearest level in the logger hierarchy.</returns>
20087             <remarks>
20088             <para>
20089             Starting from this logger, searches the logger hierarchy for a
20090             non-null level and returns it. Otherwise, returns the level of the
20091             root logger.
20092             </para>
20093             <para>The Logger class is designed so that this method executes as
20094             quickly as possible.</para>
20095             </remarks>
20096         </member>
20097         <member name="P:log4net.Repository.Hierarchy.Logger.Hierarchy">
20098             <summary>
20099             Gets or sets the <see cref="P:log4net.Repository.Hierarchy.Logger.Hierarchy"/> where this 
20100             <c>Logger</c> instance is attached to.
20101             </summary>
20102             <value>The hierarchy that this logger belongs to.</value>
20103             <remarks>
20104             <para>
20105             This logger must be attached to a single <see cref="P:log4net.Repository.Hierarchy.Logger.Hierarchy"/>.
20106             </para>
20107             </remarks>
20108         </member>
20109         <member name="P:log4net.Repository.Hierarchy.Logger.Level">
20110             <summary>
20111             Gets or sets the assigned <see cref="P:log4net.Repository.Hierarchy.Logger.Level"/>, if any, for this Logger.  
20112             </summary>
20113             <value>
20114             The <see cref="P:log4net.Repository.Hierarchy.Logger.Level"/> of this logger.
20115             </value>
20116             <remarks>
20117             <para>
20118             The assigned <see cref="P:log4net.Repository.Hierarchy.Logger.Level"/> can be <c>null</c>.
20119             </para>
20120             </remarks>
20121         </member>
20122         <member name="P:log4net.Repository.Hierarchy.Logger.Appenders">
20123             <summary>
20124             Get the appenders contained in this logger as an 
20125             <see cref="T:System.Collections.ICollection"/>.
20126             </summary>
20127             <returns>A collection of the appenders in this logger</returns>
20128             <remarks>
20129             <para>
20130             Get the appenders contained in this logger as an 
20131             <see cref="T:System.Collections.ICollection"/>. If no appenders 
20132             can be found, then a <see cref="T:log4net.Util.EmptyCollection"/> is returned.
20133             </para>
20134             </remarks>
20135         </member>
20136         <member name="P:log4net.Repository.Hierarchy.Logger.Name">
20137             <summary>
20138             Gets the logger name.
20139             </summary>
20140             <value>
20141             The name of the logger.
20142             </value>
20143             <remarks>
20144             <para>
20145             The name of this logger
20146             </para>
20147             </remarks>
20148         </member>
20149         <member name="P:log4net.Repository.Hierarchy.Logger.Repository">
20150             <summary>
20151             Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> where this 
20152             <c>Logger</c> instance is attached to.
20153             </summary>
20154             <value>
20155             The <see cref="T:log4net.Repository.ILoggerRepository"/> that this logger belongs to.
20156             </value>
20157             <remarks>
20158             <para>
20159             Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> where this 
20160             <c>Logger</c> instance is attached to.
20161             </para>
20162             </remarks>
20163         </member>
20164         <member name="M:log4net.Repository.Hierarchy.DefaultLoggerFactory.LoggerImpl.#ctor(System.String)">
20165             <summary>
20166             Construct a new Logger
20167             </summary>
20168             <param name="name">the name of the logger</param>
20169             <remarks>
20170             <para>
20171             Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.DefaultLoggerFactory.LoggerImpl"/> class
20172             with the specified name. 
20173             </para>
20174             </remarks>
20175         </member>
20176         <member name="T:log4net.Repository.Hierarchy.LoggerCreationEventHandler">
20177             <summary>
20178             Delegate used to handle logger creation event notifications.
20179             </summary>
20180             <param name="sender">The <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> in which the <see cref="T:log4net.Repository.Hierarchy.Logger"/> has been created.</param>
20181             <param name="e">The <see cref="T:log4net.Repository.Hierarchy.LoggerCreationEventArgs"/> event args that hold the <see cref="T:log4net.Repository.Hierarchy.Logger"/> instance that has been created.</param>
20182             <remarks>
20183             <para>
20184             Delegate used to handle logger creation event notifications.
20185             </para>
20186             </remarks>
20187         </member>
20188         <member name="T:log4net.Repository.Hierarchy.LoggerCreationEventArgs">
20189             <summary>
20190             Provides data for the <see cref="E:log4net.Repository.Hierarchy.Hierarchy.LoggerCreatedEvent"/> event.
20191             </summary>
20192             <remarks>
20193             <para>
20194             A <see cref="E:log4net.Repository.Hierarchy.Hierarchy.LoggerCreatedEvent"/> event is raised every time a
20195             <see cref="P:log4net.Repository.Hierarchy.LoggerCreationEventArgs.Logger"/> is created.
20196             </para>
20197             </remarks>
20198         </member>
20199         <member name="F:log4net.Repository.Hierarchy.LoggerCreationEventArgs.m_log">
20200             <summary>
20201             The <see cref="P:log4net.Repository.Hierarchy.LoggerCreationEventArgs.Logger"/> created
20202             </summary>
20203         </member>
20204         <member name="M:log4net.Repository.Hierarchy.LoggerCreationEventArgs.#ctor(log4net.Repository.Hierarchy.Logger)">
20205             <summary>
20206             Constructor
20207             </summary>
20208             <param name="log">The <see cref="P:log4net.Repository.Hierarchy.LoggerCreationEventArgs.Logger"/> that has been created.</param>
20209             <remarks>
20210             <para>
20211             Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.LoggerCreationEventArgs"/> event argument 
20212             class,with the specified <see cref="P:log4net.Repository.Hierarchy.LoggerCreationEventArgs.Logger"/>.
20213             </para>
20214             </remarks>
20215         </member>
20216         <member name="P:log4net.Repository.Hierarchy.LoggerCreationEventArgs.Logger">
20217             <summary>
20218             Gets the <see cref="P:log4net.Repository.Hierarchy.LoggerCreationEventArgs.Logger"/> that has been created.
20219             </summary>
20220             <value>
20221             The <see cref="P:log4net.Repository.Hierarchy.LoggerCreationEventArgs.Logger"/> that has been created.
20222             </value>
20223             <remarks>
20224             <para>
20225             The <see cref="P:log4net.Repository.Hierarchy.LoggerCreationEventArgs.Logger"/> that has been created.
20226             </para>
20227             </remarks>
20228         </member>
20229         <member name="T:log4net.Repository.Hierarchy.Hierarchy">
20230             <summary>
20231             Hierarchical organization of loggers
20232             </summary>
20233             <remarks>
20234             <para>
20235             <i>The casual user should not have to deal with this class
20236             directly.</i>
20237             </para>
20238             <para>
20239             This class is specialized in retrieving loggers by name and
20240             also maintaining the logger hierarchy. Implements the 
20241             <see cref="T:log4net.Repository.ILoggerRepository"/> interface.
20242             </para>
20243             <para>
20244             The structure of the logger hierarchy is maintained by the
20245             <see cref="M:log4net.Repository.Hierarchy.Hierarchy.GetLogger(System.String)"/> method. The hierarchy is such that children
20246             link to their parent but parents do not have any references to their
20247             children. Moreover, loggers can be instantiated in any order, in
20248             particular descendant before ancestor.
20249             </para>
20250             <para>
20251             In case a descendant is created before a particular ancestor,
20252             then it creates a provision node for the ancestor and adds itself
20253             to the provision node. Other descendants of the same ancestor add
20254             themselves to the previously created provision node.
20255             </para>
20256             </remarks>
20257             <author>Nicko Cadell</author>
20258             <author>Gert Driesen</author>
20259         </member>
20260         <member name="T:log4net.Repository.LoggerRepositorySkeleton">
20261             <summary>
20262             Base implementation of <see cref="T:log4net.Repository.ILoggerRepository"/>
20263             </summary>
20264             <remarks>
20265             <para>
20266             Default abstract implementation of the <see cref="T:log4net.Repository.ILoggerRepository"/> interface.
20267             </para>
20268             <para>
20269             Skeleton implementation of the <see cref="T:log4net.Repository.ILoggerRepository"/> interface.
20270             All <see cref="T:log4net.Repository.ILoggerRepository"/> types can extend this type.
20271             </para>
20272             </remarks>
20273             <author>Nicko Cadell</author>
20274             <author>Gert Driesen</author>
20275         </member>
20276         <member name="T:log4net.Repository.ILoggerRepository">
20277             <summary>
20278             Interface implemented by logger repositories.
20279             </summary>
20280             <remarks>
20281             <para>
20282             This interface is implemented by logger repositories. e.g. 
20283             <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/>.
20284             </para>
20285             <para>
20286             This interface is used by the <see cref="T:log4net.LogManager"/>
20287             to obtain <see cref="T:log4net.ILog"/> interfaces.
20288             </para>
20289             </remarks>
20290             <author>Nicko Cadell</author>
20291             <author>Gert Driesen</author>
20292         </member>
20293         <member name="M:log4net.Repository.ILoggerRepository.Exists(System.String)">
20294             <summary>
20295             Check if the named logger exists in the repository. If so return
20296             its reference, otherwise returns <c>null</c>.
20297             </summary>
20298             <param name="name">The name of the logger to lookup</param>
20299             <returns>The Logger object with the name specified</returns>
20300             <remarks>
20301             <para>
20302             If the names logger exists it is returned, otherwise
20303             <c>null</c> is returned.
20304             </para>
20305             </remarks>
20306         </member>
20307         <member name="M:log4net.Repository.ILoggerRepository.GetCurrentLoggers">
20308             <summary>
20309             Returns all the currently defined loggers as an Array.
20310             </summary>
20311             <returns>All the defined loggers</returns>
20312             <remarks>
20313             <para>
20314             Returns all the currently defined loggers as an Array.
20315             </para>
20316             </remarks>
20317         </member>
20318         <member name="M:log4net.Repository.ILoggerRepository.GetLogger(System.String)">
20319             <summary>
20320             Returns a named logger instance
20321             </summary>
20322             <param name="name">The name of the logger to retrieve</param>
20323             <returns>The logger object with the name specified</returns>
20324             <remarks>
20325             <para>
20326             Returns a named logger instance.
20327             </para>
20328             <para>
20329             If a logger of that name already exists, then it will be
20330             returned.  Otherwise, a new logger will be instantiated and
20331             then linked with its existing ancestors as well as children.
20332             </para>
20333             </remarks>
20334         </member>
20335         <member name="M:log4net.Repository.ILoggerRepository.Shutdown">
20336             <summary>Shutdown the repository</summary>
20337             <remarks>
20338             <para>
20339             Shutting down a repository will <i>safely</i> close and remove
20340             all appenders in all loggers including the root logger.
20341             </para>
20342             <para>
20343             Some appenders need to be closed before the
20344             application exists. Otherwise, pending logging events might be
20345             lost.
20346             </para>
20347             <para>
20348             The <see cref="M:log4net.Repository.ILoggerRepository.Shutdown"/> method is careful to close nested
20349             appenders before closing regular appenders. This is allows
20350             configurations where a regular appender is attached to a logger
20351             and again to a nested appender.
20352             </para>
20353             </remarks>
20354         </member>
20355         <member name="M:log4net.Repository.ILoggerRepository.ResetConfiguration">
20356             <summary>
20357             Reset the repositories configuration to a default state
20358             </summary>
20359             <remarks>
20360             <para>
20361             Reset all values contained in this instance to their
20362             default state.
20363             </para>
20364             <para>
20365             Existing loggers are not removed. They are just reset.
20366             </para>
20367             <para>
20368             This method should be used sparingly and with care as it will
20369             block all logging until it is completed.
20370             </para>
20371             </remarks>
20372         </member>
20373         <member name="M:log4net.Repository.ILoggerRepository.Log(log4net.Core.LoggingEvent)">
20374             <summary>
20375             Log the <see cref="T:log4net.Core.LoggingEvent"/> through this repository.
20376             </summary>
20377             <param name="logEvent">the event to log</param>
20378             <remarks>
20379             <para>
20380             This method should not normally be used to log.
20381             The <see cref="T:log4net.ILog"/> interface should be used 
20382             for routine logging. This interface can be obtained
20383             using the <see cref="M:log4net.LogManager.GetLogger(System.String)"/> method.
20384             </para>
20385             <para>
20386             The <c>logEvent</c> is delivered to the appropriate logger and
20387             that logger is then responsible for logging the event.
20388             </para>
20389             </remarks>
20390         </member>
20391         <member name="M:log4net.Repository.ILoggerRepository.GetAppenders">
20392             <summary>
20393             Returns all the Appenders that are configured as an Array.
20394             </summary>
20395             <returns>All the Appenders</returns>
20396             <remarks>
20397             <para>
20398             Returns all the Appenders that are configured as an Array.
20399             </para>
20400             </remarks>
20401         </member>
20402         <member name="P:log4net.Repository.ILoggerRepository.Name">
20403             <summary>
20404             The name of the repository
20405             </summary>
20406             <value>
20407             The name of the repository
20408             </value>
20409             <remarks>
20410             <para>
20411             The name of the repository.
20412             </para>
20413             </remarks>
20414         </member>
20415         <member name="P:log4net.Repository.ILoggerRepository.RendererMap">
20416             <summary>
20417             RendererMap accesses the object renderer map for this repository.
20418             </summary>
20419             <value>
20420             RendererMap accesses the object renderer map for this repository.
20421             </value>
20422             <remarks>
20423             <para>
20424             RendererMap accesses the object renderer map for this repository.
20425             </para>
20426             <para>
20427             The RendererMap holds a mapping between types and
20428             <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/> objects.
20429             </para>
20430             </remarks>
20431         </member>
20432         <member name="P:log4net.Repository.ILoggerRepository.PluginMap">
20433             <summary>
20434             The plugin map for this repository.
20435             </summary>
20436             <value>
20437             The plugin map for this repository.
20438             </value>
20439             <remarks>
20440             <para>
20441             The plugin map holds the <see cref="T:log4net.Plugin.IPlugin"/> instances
20442             that have been attached to this repository.
20443             </para>
20444             </remarks>
20445         </member>
20446         <member name="P:log4net.Repository.ILoggerRepository.LevelMap">
20447             <summary>
20448             Get the level map for the Repository.
20449             </summary>
20450             <remarks>
20451             <para>
20452             Get the level map for the Repository.
20453             </para>
20454             <para>
20455             The level map defines the mappings between
20456             level names and <see cref="T:log4net.Core.Level"/> objects in
20457             this repository.
20458             </para>
20459             </remarks>
20460         </member>
20461         <member name="P:log4net.Repository.ILoggerRepository.Threshold">
20462             <summary>
20463             The threshold for all events in this repository
20464             </summary>
20465             <value>
20466             The threshold for all events in this repository
20467             </value>
20468             <remarks>
20469             <para>
20470             The threshold for all events in this repository.
20471             </para>
20472             </remarks>
20473         </member>
20474         <member name="P:log4net.Repository.ILoggerRepository.Configured">
20475             <summary>
20476             Flag indicates if this repository has been configured.
20477             </summary>
20478             <value>
20479             Flag indicates if this repository has been configured.
20480             </value>
20481             <remarks>
20482             <para>
20483             Flag indicates if this repository has been configured.
20484             </para>
20485             </remarks>
20486         </member>
20487         <member name="E:log4net.Repository.ILoggerRepository.ShutdownEvent">
20488             <summary>
20489             Event to notify that the repository has been shutdown.
20490             </summary>
20491             <value>
20492             Event to notify that the repository has been shutdown.
20493             </value>
20494             <remarks>
20495             <para>
20496             Event raised when the repository has been shutdown.
20497             </para>
20498             </remarks>
20499         </member>
20500         <member name="E:log4net.Repository.ILoggerRepository.ConfigurationReset">
20501             <summary>
20502             Event to notify that the repository has had its configuration reset.
20503             </summary>
20504             <value>
20505             Event to notify that the repository has had its configuration reset.
20506             </value>
20507             <remarks>
20508             <para>
20509             Event raised when the repository's configuration has been
20510             reset to default.
20511             </para>
20512             </remarks>
20513         </member>
20514         <member name="E:log4net.Repository.ILoggerRepository.ConfigurationChanged">
20515             <summary>
20516             Event to notify that the repository has had its configuration changed.
20517             </summary>
20518             <value>
20519             Event to notify that the repository has had its configuration changed.
20520             </value>
20521             <remarks>
20522             <para>
20523             Event raised when the repository's configuration has been changed.
20524             </para>
20525             </remarks>
20526         </member>
20527         <member name="P:log4net.Repository.ILoggerRepository.Properties">
20528             <summary>
20529             Repository specific properties
20530             </summary>
20531             <value>
20532             Repository specific properties
20533             </value>
20534             <remarks>
20535             <para>
20536             These properties can be specified on a repository specific basis.
20537             </para>
20538             </remarks>
20539         </member>
20540         <member name="M:log4net.Repository.LoggerRepositorySkeleton.#ctor">
20541             <summary>
20542             Default Constructor
20543             </summary>
20544             <remarks>
20545             <para>
20546             Initializes the repository with default (empty) properties.
20547             </para>
20548             </remarks>
20549         </member>
20550         <member name="M:log4net.Repository.LoggerRepositorySkeleton.#ctor(log4net.Util.PropertiesDictionary)">
20551             <summary>
20552             Construct the repository using specific properties
20553             </summary>
20554             <param name="properties">the properties to set for this repository</param>
20555             <remarks>
20556             <para>
20557             Initializes the repository with specified properties.
20558             </para>
20559             </remarks>
20560         </member>
20561         <member name="M:log4net.Repository.LoggerRepositorySkeleton.Exists(System.String)">
20562             <summary>
20563             Test if logger exists
20564             </summary>
20565             <param name="name">The name of the logger to lookup</param>
20566             <returns>The Logger object with the name specified</returns>
20567             <remarks>
20568             <para>
20569             Check if the named logger exists in the repository. If so return
20570             its reference, otherwise returns <c>null</c>.
20571             </para>
20572             </remarks>
20573         </member>
20574         <member name="M:log4net.Repository.LoggerRepositorySkeleton.GetCurrentLoggers">
20575             <summary>
20576             Returns all the currently defined loggers in the repository
20577             </summary>
20578             <returns>All the defined loggers</returns>
20579             <remarks>
20580             <para>
20581             Returns all the currently defined loggers in the repository as an Array.
20582             </para>
20583             </remarks>
20584         </member>
20585         <member name="M:log4net.Repository.LoggerRepositorySkeleton.GetLogger(System.String)">
20586             <summary>
20587             Return a new logger instance
20588             </summary>
20589             <param name="name">The name of the logger to retrieve</param>
20590             <returns>The logger object with the name specified</returns>
20591             <remarks>
20592             <para>
20593             Return a new logger instance.
20594             </para>
20595             <para>
20596             If a logger of that name already exists, then it will be
20597             returned. Otherwise, a new logger will be instantiated and
20598             then linked with its existing ancestors as well as children.
20599             </para>
20600             </remarks>
20601         </member>
20602         <member name="M:log4net.Repository.LoggerRepositorySkeleton.Shutdown">
20603             <summary>
20604             Shutdown the repository
20605             </summary>
20606             <remarks>
20607             <para>
20608             Shutdown the repository. Can be overridden in a subclass.
20609             This base class implementation notifies the <see cref="E:log4net.Repository.LoggerRepositorySkeleton.ShutdownEvent"/>
20610             listeners and all attached plugins of the shutdown event.
20611             </para>
20612             </remarks>
20613         </member>
20614         <member name="M:log4net.Repository.LoggerRepositorySkeleton.ResetConfiguration">
20615             <summary>
20616             Reset the repositories configuration to a default state
20617             </summary>
20618             <remarks>
20619             <para>
20620             Reset all values contained in this instance to their
20621             default state.
20622             </para>
20623             <para>
20624             Existing loggers are not removed. They are just reset.
20625             </para>
20626             <para>
20627             This method should be used sparingly and with care as it will
20628             block all logging until it is completed.
20629             </para>
20630             </remarks>
20631         </member>
20632         <member name="M:log4net.Repository.LoggerRepositorySkeleton.Log(log4net.Core.LoggingEvent)">
20633             <summary>
20634             Log the logEvent through this repository.
20635             </summary>
20636             <param name="logEvent">the event to log</param>
20637             <remarks>
20638             <para>
20639             This method should not normally be used to log.
20640             The <see cref="T:log4net.ILog"/> interface should be used 
20641             for routine logging. This interface can be obtained
20642             using the <see cref="M:log4net.LogManager.GetLogger(System.String)"/> method.
20643             </para>
20644             <para>
20645             The <c>logEvent</c> is delivered to the appropriate logger and
20646             that logger is then responsible for logging the event.
20647             </para>
20648             </remarks>
20649         </member>
20650         <member name="M:log4net.Repository.LoggerRepositorySkeleton.GetAppenders">
20651             <summary>
20652             Returns all the Appenders that are configured as an Array.
20653             </summary>
20654             <returns>All the Appenders</returns>
20655             <remarks>
20656             <para>
20657             Returns all the Appenders that are configured as an Array.
20658             </para>
20659             </remarks>
20660         </member>
20661         <member name="M:log4net.Repository.LoggerRepositorySkeleton.AddRenderer(System.Type,log4net.ObjectRenderer.IObjectRenderer)">
20662             <summary>
20663             Adds an object renderer for a specific class. 
20664             </summary>
20665             <param name="typeToRender">The type that will be rendered by the renderer supplied.</param>
20666             <param name="rendererInstance">The object renderer used to render the object.</param>
20667             <remarks>
20668             <para>
20669             Adds an object renderer for a specific class. 
20670             </para>
20671             </remarks>
20672         </member>
20673         <member name="M:log4net.Repository.LoggerRepositorySkeleton.OnShutdown(System.EventArgs)">
20674             <summary>
20675             Notify the registered listeners that the repository is shutting down
20676             </summary>
20677             <param name="e">Empty EventArgs</param>
20678             <remarks>
20679             <para>
20680             Notify any listeners that this repository is shutting down.
20681             </para>
20682             </remarks>
20683         </member>
20684         <member name="M:log4net.Repository.LoggerRepositorySkeleton.OnConfigurationReset(System.EventArgs)">
20685             <summary>
20686             Notify the registered listeners that the repository has had its configuration reset
20687             </summary>
20688             <param name="e">Empty EventArgs</param>
20689             <remarks>
20690             <para>
20691             Notify any listeners that this repository's configuration has been reset.
20692             </para>
20693             </remarks>
20694         </member>
20695         <member name="M:log4net.Repository.LoggerRepositorySkeleton.OnConfigurationChanged(System.EventArgs)">
20696             <summary>
20697             Notify the registered listeners that the repository has had its configuration changed
20698             </summary>
20699             <param name="e">Empty EventArgs</param>
20700             <remarks>
20701             <para>
20702             Notify any listeners that this repository's configuration has changed.
20703             </para>
20704             </remarks>
20705         </member>
20706         <member name="M:log4net.Repository.LoggerRepositorySkeleton.RaiseConfigurationChanged(System.EventArgs)">
20707             <summary>
20708             Raise a configuration changed event on this repository
20709             </summary>
20710             <param name="e">EventArgs.Empty</param>
20711             <remarks>
20712             <para>
20713             Applications that programmatically change the configuration of the repository should
20714             raise this event notification to notify listeners.
20715             </para>
20716             </remarks>
20717         </member>
20718         <member name="P:log4net.Repository.LoggerRepositorySkeleton.Name">
20719             <summary>
20720             The name of the repository
20721             </summary>
20722             <value>
20723             The string name of the repository
20724             </value>
20725             <remarks>
20726             <para>
20727             The name of this repository. The name is
20728             used to store and lookup the repositories 
20729             stored by the <see cref="T:log4net.Core.IRepositorySelector"/>.
20730             </para>
20731             </remarks>
20732         </member>
20733         <member name="P:log4net.Repository.LoggerRepositorySkeleton.Threshold">
20734             <summary>
20735             The threshold for all events in this repository
20736             </summary>
20737             <value>
20738             The threshold for all events in this repository
20739             </value>
20740             <remarks>
20741             <para>
20742             The threshold for all events in this repository
20743             </para>
20744             </remarks>
20745         </member>
20746         <member name="P:log4net.Repository.LoggerRepositorySkeleton.RendererMap">
20747             <summary>
20748             RendererMap accesses the object renderer map for this repository.
20749             </summary>
20750             <value>
20751             RendererMap accesses the object renderer map for this repository.
20752             </value>
20753             <remarks>
20754             <para>
20755             RendererMap accesses the object renderer map for this repository.
20756             </para>
20757             <para>
20758             The RendererMap holds a mapping between types and
20759             <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/> objects.
20760             </para>
20761             </remarks>
20762         </member>
20763         <member name="P:log4net.Repository.LoggerRepositorySkeleton.PluginMap">
20764             <summary>
20765             The plugin map for this repository.
20766             </summary>
20767             <value>
20768             The plugin map for this repository.
20769             </value>
20770             <remarks>
20771             <para>
20772             The plugin map holds the <see cref="T:log4net.Plugin.IPlugin"/> instances
20773             that have been attached to this repository.
20774             </para>
20775             </remarks>
20776         </member>
20777         <member name="P:log4net.Repository.LoggerRepositorySkeleton.LevelMap">
20778             <summary>
20779             Get the level map for the Repository.
20780             </summary>
20781             <remarks>
20782             <para>
20783             Get the level map for the Repository.
20784             </para>
20785             <para>
20786             The level map defines the mappings between
20787             level names and <see cref="T:log4net.Core.Level"/> objects in
20788             this repository.
20789             </para>
20790             </remarks>
20791         </member>
20792         <member name="P:log4net.Repository.LoggerRepositorySkeleton.Configured">
20793             <summary>
20794             Flag indicates if this repository has been configured.
20795             </summary>
20796             <value>
20797             Flag indicates if this repository has been configured.
20798             </value>
20799             <remarks>
20800             <para>
20801             Flag indicates if this repository has been configured.
20802             </para>
20803             </remarks>
20804         </member>
20805         <member name="E:log4net.Repository.LoggerRepositorySkeleton.ShutdownEvent">
20806             <summary>
20807             Event to notify that the repository has been shutdown.
20808             </summary>
20809             <value>
20810             Event to notify that the repository has been shutdown.
20811             </value>
20812             <remarks>
20813             <para>
20814             Event raised when the repository has been shutdown.
20815             </para>
20816             </remarks>
20817         </member>
20818         <member name="E:log4net.Repository.LoggerRepositorySkeleton.ConfigurationReset">
20819             <summary>
20820             Event to notify that the repository has had its configuration reset.
20821             </summary>
20822             <value>
20823             Event to notify that the repository has had its configuration reset.
20824             </value>
20825             <remarks>
20826             <para>
20827             Event raised when the repository's configuration has been
20828             reset to default.
20829             </para>
20830             </remarks>
20831         </member>
20832         <member name="E:log4net.Repository.LoggerRepositorySkeleton.ConfigurationChanged">
20833             <summary>
20834             Event to notify that the repository has had its configuration changed.
20835             </summary>
20836             <value>
20837             Event to notify that the repository has had its configuration changed.
20838             </value>
20839             <remarks>
20840             <para>
20841             Event raised when the repository's configuration has been changed.
20842             </para>
20843             </remarks>
20844         </member>
20845         <member name="P:log4net.Repository.LoggerRepositorySkeleton.Properties">
20846             <summary>
20847             Repository specific properties
20848             </summary>
20849             <value>
20850             Repository specific properties
20851             </value>
20852             <remarks>
20853             These properties can be specified on a repository specific basis
20854             </remarks>
20855         </member>
20856         <member name="T:log4net.Repository.IBasicRepositoryConfigurator">
20857             <summary>
20858             Basic Configurator interface for repositories
20859             </summary>
20860             <remarks>
20861             <para>
20862             Interface used by basic configurator to configure a <see cref="T:log4net.Repository.ILoggerRepository"/>
20863             with a default <see cref="T:log4net.Appender.IAppender"/>.
20864             </para>
20865             <para>
20866             A <see cref="T:log4net.Repository.ILoggerRepository"/> should implement this interface to support
20867             configuration by the <see cref="T:log4net.Config.BasicConfigurator"/>.
20868             </para>
20869             </remarks>
20870             <author>Nicko Cadell</author>
20871             <author>Gert Driesen</author>
20872         </member>
20873         <member name="M:log4net.Repository.IBasicRepositoryConfigurator.Configure(log4net.Appender.IAppender)">
20874             <summary>
20875             Initialize the repository using the specified appender
20876             </summary>
20877             <param name="appender">the appender to use to log all logging events</param>
20878             <remarks>
20879             <para>
20880             Configure the repository to route all logging events to the
20881             specified appender.
20882             </para>
20883             </remarks>
20884         </member>
20885         <member name="T:log4net.Repository.IXmlRepositoryConfigurator">
20886             <summary>
20887             Configure repository using XML
20888             </summary>
20889             <remarks>
20890             <para>
20891             Interface used by Xml configurator to configure a <see cref="T:log4net.Repository.ILoggerRepository"/>.
20892             </para>
20893             <para>
20894             A <see cref="T:log4net.Repository.ILoggerRepository"/> should implement this interface to support
20895             configuration by the <see cref="T:log4net.Config.XmlConfigurator"/>.
20896             </para>
20897             </remarks>
20898             <author>Nicko Cadell</author>
20899             <author>Gert Driesen</author>
20900         </member>
20901         <member name="M:log4net.Repository.IXmlRepositoryConfigurator.Configure(System.Xml.XmlElement)">
20902             <summary>
20903             Initialize the repository using the specified config
20904             </summary>
20905             <param name="element">the element containing the root of the config</param>
20906             <remarks>
20907             <para>
20908             The schema for the XML configuration data is defined by
20909             the implementation.
20910             </para>
20911             </remarks>
20912         </member>
20913         <member name="M:log4net.Repository.Hierarchy.Hierarchy.#ctor">
20914             <summary>
20915             Default constructor
20916             </summary>
20917             <remarks>
20918             <para>
20919             Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> class.
20920             </para>
20921             </remarks>
20922         </member>
20923         <member name="M:log4net.Repository.Hierarchy.Hierarchy.#ctor(log4net.Util.PropertiesDictionary)">
20924             <summary>
20925             Construct with properties
20926             </summary>
20927             <param name="properties">The properties to pass to this repository.</param>
20928             <remarks>
20929             <para>
20930             Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> class.
20931             </para>
20932             </remarks>
20933         </member>
20934         <member name="M:log4net.Repository.Hierarchy.Hierarchy.#ctor(log4net.Repository.Hierarchy.ILoggerFactory)">
20935             <summary>
20936             Construct with a logger factory
20937             </summary>
20938             <param name="loggerFactory">The factory to use to create new logger instances.</param>
20939             <remarks>
20940             <para>
20941             Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> class with 
20942             the specified <see cref="T:log4net.Repository.Hierarchy.ILoggerFactory"/>.
20943             </para>
20944             </remarks>
20945         </member>
20946         <member name="M:log4net.Repository.Hierarchy.Hierarchy.#ctor(log4net.Util.PropertiesDictionary,log4net.Repository.Hierarchy.ILoggerFactory)">
20947             <summary>
20948             Construct with properties and a logger factory
20949             </summary>
20950             <param name="properties">The properties to pass to this repository.</param>
20951             <param name="loggerFactory">The factory to use to create new logger instances.</param>
20952             <remarks>
20953             <para>
20954             Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> class with 
20955             the specified <see cref="T:log4net.Repository.Hierarchy.ILoggerFactory"/>.
20956             </para>
20957             </remarks>
20958         </member>
20959         <member name="M:log4net.Repository.Hierarchy.Hierarchy.Exists(System.String)">
20960             <summary>
20961             Test if a logger exists
20962             </summary>
20963             <param name="name">The name of the logger to lookup</param>
20964             <returns>The Logger object with the name specified</returns>
20965             <remarks>
20966             <para>
20967             Check if the named logger exists in the hierarchy. If so return
20968             its reference, otherwise returns <c>null</c>.
20969             </para>
20970             </remarks>
20971         </member>
20972         <member name="M:log4net.Repository.Hierarchy.Hierarchy.GetCurrentLoggers">
20973             <summary>
20974             Returns all the currently defined loggers in the hierarchy as an Array
20975             </summary>
20976             <returns>All the defined loggers</returns>
20977             <remarks>
20978             <para>
20979             Returns all the currently defined loggers in the hierarchy as an Array.
20980             The root logger is <b>not</b> included in the returned
20981             enumeration.
20982             </para>
20983             </remarks>
20984         </member>
20985         <member name="M:log4net.Repository.Hierarchy.Hierarchy.GetLogger(System.String)">
20986             <summary>
20987             Return a new logger instance named as the first parameter using
20988             the default factory.
20989             </summary>
20990             <remarks>
20991             <para>
20992             Return a new logger instance named as the first parameter using
20993             the default factory.
20994             </para>
20995             <para>
20996             If a logger of that name already exists, then it will be
20997             returned.  Otherwise, a new logger will be instantiated and
20998             then linked with its existing ancestors as well as children.
20999             </para>
21000             </remarks>
21001             <param name="name">The name of the logger to retrieve</param>
21002             <returns>The logger object with the name specified</returns>
21003         </member>
21004         <member name="M:log4net.Repository.Hierarchy.Hierarchy.Shutdown">
21005             <summary>
21006             Shutting down a hierarchy will <i>safely</i> close and remove
21007             all appenders in all loggers including the root logger.
21008             </summary>
21009             <remarks>
21010             <para>
21011             Shutting down a hierarchy will <i>safely</i> close and remove
21012             all appenders in all loggers including the root logger.
21013             </para>
21014             <para>
21015             Some appenders need to be closed before the
21016             application exists. Otherwise, pending logging events might be
21017             lost.
21018             </para>
21019             <para>
21020             The <c>Shutdown</c> method is careful to close nested
21021             appenders before closing regular appenders. This is allows
21022             configurations where a regular appender is attached to a logger
21023             and again to a nested appender.
21024             </para>
21025             </remarks>
21026         </member>
21027         <member name="M:log4net.Repository.Hierarchy.Hierarchy.ResetConfiguration">
21028             <summary>
21029             Reset all values contained in this hierarchy instance to their default.
21030             </summary>
21031             <remarks>
21032             <para>
21033             Reset all values contained in this hierarchy instance to their
21034             default.  This removes all appenders from all loggers, sets
21035             the level of all non-root loggers to <c>null</c>,
21036             sets their additivity flag to <c>true</c> and sets the level
21037             of the root logger to <see cref="F:log4net.Core.Level.Debug"/>. Moreover,
21038             message disabling is set its default "off" value.
21039             </para>
21040             <para>
21041             Existing loggers are not removed. They are just reset.
21042             </para>
21043             <para>
21044             This method should be used sparingly and with care as it will
21045             block all logging until it is completed.
21046             </para>
21047             </remarks>
21048         </member>
21049         <member name="M:log4net.Repository.Hierarchy.Hierarchy.Log(log4net.Core.LoggingEvent)">
21050             <summary>
21051             Log the logEvent through this hierarchy.
21052             </summary>
21053             <param name="logEvent">the event to log</param>
21054             <remarks>
21055             <para>
21056             This method should not normally be used to log.
21057             The <see cref="T:log4net.ILog"/> interface should be used 
21058             for routine logging. This interface can be obtained
21059             using the <see cref="M:log4net.LogManager.GetLogger(System.String)"/> method.
21060             </para>
21061             <para>
21062             The <c>logEvent</c> is delivered to the appropriate logger and
21063             that logger is then responsible for logging the event.
21064             </para>
21065             </remarks>
21066         </member>
21067         <member name="M:log4net.Repository.Hierarchy.Hierarchy.GetAppenders">
21068             <summary>
21069             Returns all the Appenders that are currently configured
21070             </summary>
21071             <returns>An array containing all the currently configured appenders</returns>
21072             <remarks>
21073             <para>
21074             Returns all the <see cref="T:log4net.Appender.IAppender"/> instances that are currently configured.
21075             All the loggers are searched for appenders. The appenders may also be containers
21076             for appenders and these are also searched for additional loggers.
21077             </para>
21078             <para>
21079             The list returned is unordered but does not contain duplicates.
21080             </para>
21081             </remarks>
21082         </member>
21083         <member name="M:log4net.Repository.Hierarchy.Hierarchy.CollectAppender(System.Collections.ArrayList,log4net.Appender.IAppender)">
21084             <summary>
21085             Collect the appenders from an <see cref="T:log4net.Core.IAppenderAttachable"/>.
21086             The appender may also be a container.
21087             </summary>
21088             <param name="appenderList"></param>
21089             <param name="appender"></param>
21090         </member>
21091         <member name="M:log4net.Repository.Hierarchy.Hierarchy.CollectAppenders(System.Collections.ArrayList,log4net.Core.IAppenderAttachable)">
21092             <summary>
21093             Collect the appenders from an <see cref="T:log4net.Core.IAppenderAttachable"/> container
21094             </summary>
21095             <param name="appenderList"></param>
21096             <param name="container"></param>
21097         </member>
21098         <member name="M:log4net.Repository.Hierarchy.Hierarchy.log4net#Repository#IBasicRepositoryConfigurator#Configure(log4net.Appender.IAppender)">
21099             <summary>
21100             Initialize the log4net system using the specified appender
21101             </summary>
21102             <param name="appender">the appender to use to log all logging events</param>
21103         </member>
21104         <member name="M:log4net.Repository.Hierarchy.Hierarchy.BasicRepositoryConfigure(log4net.Appender.IAppender)">
21105             <summary>
21106             Initialize the log4net system using the specified appender
21107             </summary>
21108             <param name="appender">the appender to use to log all logging events</param>
21109             <remarks>
21110             <para>
21111             This method provides the same functionality as the 
21112             <see cref="M:log4net.Repository.IBasicRepositoryConfigurator.Configure(log4net.Appender.IAppender)"/> method implemented
21113             on this object, but it is protected and therefore can be called by subclasses.
21114             </para>
21115             </remarks>
21116         </member>
21117         <member name="M:log4net.Repository.Hierarchy.Hierarchy.log4net#Repository#IXmlRepositoryConfigurator#Configure(System.Xml.XmlElement)">
21118             <summary>
21119             Initialize the log4net system using the specified config
21120             </summary>
21121             <param name="element">the element containing the root of the config</param>
21122         </member>
21123         <member name="M:log4net.Repository.Hierarchy.Hierarchy.XmlRepositoryConfigure(System.Xml.XmlElement)">
21124             <summary>
21125             Initialize the log4net system using the specified config
21126             </summary>
21127             <param name="element">the element containing the root of the config</param>
21128             <remarks>
21129             <para>
21130             This method provides the same functionality as the 
21131             <see cref="M:log4net.Repository.IBasicRepositoryConfigurator.Configure(log4net.Appender.IAppender)"/> method implemented
21132             on this object, but it is protected and therefore can be called by subclasses.
21133             </para>
21134             </remarks>
21135         </member>
21136         <member name="M:log4net.Repository.Hierarchy.Hierarchy.IsDisabled(log4net.Core.Level)">
21137             <summary>
21138             Test if this hierarchy is disabled for the specified <see cref="T:log4net.Core.Level"/>.
21139             </summary>
21140             <param name="level">The level to check against.</param>
21141             <returns>
21142             <c>true</c> if the repository is disabled for the level argument, <c>false</c> otherwise.
21143             </returns>
21144             <remarks>
21145             <para>
21146             If this hierarchy has not been configured then this method will
21147             always return <c>true</c>.
21148             </para>
21149             <para>
21150             This method will return <c>true</c> if this repository is
21151             disabled for <c>level</c> object passed as parameter and
21152             <c>false</c> otherwise.
21153             </para>
21154             <para>
21155             See also the <see cref="P:log4net.Repository.ILoggerRepository.Threshold"/> property.
21156             </para>
21157             </remarks>
21158         </member>
21159         <member name="M:log4net.Repository.Hierarchy.Hierarchy.Clear">
21160             <summary>
21161             Clear all logger definitions from the internal hashtable
21162             </summary>
21163             <remarks>
21164             <para>
21165             This call will clear all logger definitions from the internal
21166             hashtable. Invoking this method will irrevocably mess up the
21167             logger hierarchy.
21168             </para>
21169             <para>
21170             You should <b>really</b> know what you are doing before
21171             invoking this method.
21172             </para>
21173             </remarks>
21174         </member>
21175         <member name="M:log4net.Repository.Hierarchy.Hierarchy.GetLogger(System.String,log4net.Repository.Hierarchy.ILoggerFactory)">
21176             <summary>
21177             Return a new logger instance named as the first parameter using
21178             <paramref name="factory"/>.
21179             </summary>
21180             <param name="name">The name of the logger to retrieve</param>
21181             <param name="factory">The factory that will make the new logger instance</param>
21182             <returns>The logger object with the name specified</returns>
21183             <remarks>
21184             <para>
21185             If a logger of that name already exists, then it will be
21186             returned. Otherwise, a new logger will be instantiated by the
21187             <paramref name="factory"/> parameter and linked with its existing
21188             ancestors as well as children.
21189             </para>
21190             </remarks>
21191         </member>
21192         <member name="M:log4net.Repository.Hierarchy.Hierarchy.OnLoggerCreationEvent(log4net.Repository.Hierarchy.Logger)">
21193             <summary>
21194             Sends a logger creation event to all registered listeners
21195             </summary>
21196             <param name="logger">The newly created logger</param>
21197             <remarks>
21198             Raises the logger creation event.
21199             </remarks>
21200         </member>
21201         <member name="M:log4net.Repository.Hierarchy.Hierarchy.UpdateParents(log4net.Repository.Hierarchy.Logger)">
21202             <summary>
21203             Updates all the parents of the specified logger
21204             </summary>
21205             <param name="log">The logger to update the parents for</param>
21206             <remarks>
21207             <para>
21208             This method loops through all the <i>potential</i> parents of
21209             <paramref name="log"/>. There 3 possible cases:
21210             </para>
21211             <list type="number">
21212                 <item>
21213                         <term>No entry for the potential parent of <paramref name="log"/> exists</term>
21214                         <description>
21215                         We create a ProvisionNode for this potential 
21216                         parent and insert <paramref name="log"/> in that provision node.
21217                         </description>
21218                 </item>
21219                 <item>
21220                         <term>The entry is of type Logger for the potential parent.</term>
21221                         <description>
21222                         The entry is <paramref name="log"/>'s nearest existing parent. We 
21223                         update <paramref name="log"/>'s parent field with this entry. We also break from 
21224                         he loop because updating our parent's parent is our parent's 
21225                         responsibility.
21226                         </description>
21227                 </item>
21228                 <item>
21229                         <term>The entry is of type ProvisionNode for this potential parent.</term>
21230                         <description>
21231                         We add <paramref name="log"/> to the list of children for this 
21232                         potential parent.
21233                         </description>
21234                 </item>
21235             </list>
21236             </remarks>
21237         </member>
21238         <member name="M:log4net.Repository.Hierarchy.Hierarchy.UpdateChildren(log4net.Repository.Hierarchy.ProvisionNode,log4net.Repository.Hierarchy.Logger)">
21239             <summary>
21240             Replace a <see cref="T:log4net.Repository.Hierarchy.ProvisionNode"/> with a <see cref="T:log4net.Repository.Hierarchy.Logger"/> in the hierarchy.
21241             </summary>
21242             <param name="pn"></param>
21243             <param name="log"></param>
21244             <remarks>
21245             <para>
21246             We update the links for all the children that placed themselves
21247             in the provision node 'pn'. The second argument 'log' is a
21248             reference for the newly created Logger, parent of all the
21249             children in 'pn'.
21250             </para>
21251             <para>
21252             We loop on all the children 'c' in 'pn'.
21253             </para>
21254             <para>
21255             If the child 'c' has been already linked to a child of
21256             'log' then there is no need to update 'c'.
21257             </para>
21258             <para>
21259             Otherwise, we set log's parent field to c's parent and set
21260             c's parent field to log.
21261             </para>
21262             </remarks>
21263         </member>
21264         <member name="M:log4net.Repository.Hierarchy.Hierarchy.AddLevel(log4net.Repository.Hierarchy.Hierarchy.LevelEntry)">
21265             <summary>
21266             Define or redefine a Level using the values in the <see cref="T:log4net.Repository.Hierarchy.Hierarchy.LevelEntry"/> argument
21267             </summary>
21268             <param name="levelEntry">the level values</param>
21269             <remarks>
21270             <para>
21271             Define or redefine a Level using the values in the <see cref="T:log4net.Repository.Hierarchy.Hierarchy.LevelEntry"/> argument
21272             </para>
21273             <para>
21274             Supports setting levels via the configuration file.
21275             </para>
21276             </remarks>
21277         </member>
21278         <member name="M:log4net.Repository.Hierarchy.Hierarchy.AddProperty(log4net.Repository.Hierarchy.Hierarchy.PropertyEntry)">
21279             <summary>
21280             Set a Property using the values in the <see cref="T:log4net.Repository.Hierarchy.Hierarchy.LevelEntry"/> argument
21281             </summary>
21282             <param name="propertyEntry">the property value</param>
21283             <remarks>
21284             <para>
21285             Set a Property using the values in the <see cref="T:log4net.Repository.Hierarchy.Hierarchy.LevelEntry"/> argument.
21286             </para>
21287             <para>
21288             Supports setting property values via the configuration file.
21289             </para>
21290             </remarks>
21291         </member>
21292         <member name="E:log4net.Repository.Hierarchy.Hierarchy.LoggerCreatedEvent">
21293             <summary>
21294             Event used to notify that a logger has been created.
21295             </summary>
21296             <remarks>
21297             <para>
21298             Event raised when a logger is created.
21299             </para>
21300             </remarks>
21301         </member>
21302         <member name="P:log4net.Repository.Hierarchy.Hierarchy.EmittedNoAppenderWarning">
21303             <summary>
21304             Has no appender warning been emitted
21305             </summary>
21306             <remarks>
21307             <para>
21308             Flag to indicate if we have already issued a warning
21309             about not having an appender warning.
21310             </para>
21311             </remarks>
21312         </member>
21313         <member name="P:log4net.Repository.Hierarchy.Hierarchy.Root">
21314             <summary>
21315             Get the root of this hierarchy
21316             </summary>
21317             <remarks>
21318             <para>
21319             Get the root of this hierarchy.
21320             </para>
21321             </remarks>
21322         </member>
21323         <member name="P:log4net.Repository.Hierarchy.Hierarchy.LoggerFactory">
21324             <summary>
21325             Gets or sets the default <see cref="T:log4net.Repository.Hierarchy.ILoggerFactory"/> instance.
21326             </summary>
21327             <value>The default <see cref="T:log4net.Repository.Hierarchy.ILoggerFactory"/></value>
21328             <remarks>
21329             <para>
21330             The logger factory is used to create logger instances.
21331             </para>
21332             </remarks>
21333         </member>
21334         <member name="T:log4net.Repository.Hierarchy.Hierarchy.LevelEntry">
21335             <summary>
21336             A class to hold the value, name and display name for a level
21337             </summary>
21338             <remarks>
21339             <para>
21340             A class to hold the value, name and display name for a level
21341             </para>
21342             </remarks>
21343         </member>
21344         <member name="M:log4net.Repository.Hierarchy.Hierarchy.LevelEntry.ToString">
21345             <summary>
21346             Override <c>Object.ToString</c> to return sensible debug info
21347             </summary>
21348             <returns>string info about this object</returns>
21349         </member>
21350         <member name="P:log4net.Repository.Hierarchy.Hierarchy.LevelEntry.Value">
21351             <summary>
21352             Value of the level
21353             </summary>
21354             <remarks>
21355             <para>
21356             If the value is not set (defaults to -1) the value will be looked
21357             up for the current level with the same name.
21358             </para>
21359             </remarks>
21360         </member>
21361         <member name="P:log4net.Repository.Hierarchy.Hierarchy.LevelEntry.Name">
21362             <summary>
21363             Name of the level
21364             </summary>
21365             <value>
21366             The name of the level
21367             </value>
21368             <remarks>
21369             <para>
21370             The name of the level.
21371             </para>
21372             </remarks>
21373         </member>
21374         <member name="P:log4net.Repository.Hierarchy.Hierarchy.LevelEntry.DisplayName">
21375             <summary>
21376             Display name for the level
21377             </summary>
21378             <value>
21379             The display name of the level
21380             </value>
21381             <remarks>
21382             <para>
21383             The display name of the level.
21384             </para>
21385             </remarks>
21386         </member>
21387         <member name="T:log4net.Repository.Hierarchy.Hierarchy.PropertyEntry">
21388             <summary>
21389             A class to hold the key and data for a property set in the config file
21390             </summary>
21391             <remarks>
21392             <para>
21393             A class to hold the key and data for a property set in the config file
21394             </para>
21395             </remarks>
21396         </member>
21397         <member name="M:log4net.Repository.Hierarchy.Hierarchy.PropertyEntry.ToString">
21398             <summary>
21399             Override <c>Object.ToString</c> to return sensible debug info
21400             </summary>
21401             <returns>string info about this object</returns>
21402         </member>
21403         <member name="P:log4net.Repository.Hierarchy.Hierarchy.PropertyEntry.Key">
21404             <summary>
21405             Property Key
21406             </summary>
21407             <value>
21408             Property Key
21409             </value>
21410             <remarks>
21411             <para>
21412             Property Key.
21413             </para>
21414             </remarks>
21415         </member>
21416         <member name="P:log4net.Repository.Hierarchy.Hierarchy.PropertyEntry.Value">
21417             <summary>
21418             Property Value
21419             </summary>
21420             <value>
21421             Property Value
21422             </value>
21423             <remarks>
21424             <para>
21425             Property Value.
21426             </para>
21427             </remarks>
21428         </member>
21429         <member name="T:log4net.Repository.Hierarchy.LoggerKey">
21430             <summary>
21431             Used internally to accelerate hash table searches.
21432             </summary>
21433             <remarks>
21434             <para>
21435             Internal class used to improve performance of 
21436             string keyed hashtables.
21437             </para>
21438             <para>
21439             The hashcode of the string is cached for reuse.
21440             The string is stored as an interned value.
21441             When comparing two <see cref="T:log4net.Repository.Hierarchy.LoggerKey"/> objects for equality 
21442             the reference equality of the interned strings is compared.
21443             </para>
21444             </remarks>
21445             <author>Nicko Cadell</author>
21446             <author>Gert Driesen</author>
21447         </member>
21448         <member name="M:log4net.Repository.Hierarchy.LoggerKey.#ctor(System.String)">
21449             <summary>
21450             Construct key with string name
21451             </summary>
21452             <remarks>
21453             <para>
21454             Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.LoggerKey"/> class 
21455             with the specified name.
21456             </para>
21457             <para>
21458             Stores the hashcode of the string and interns
21459             the string key to optimize comparisons.
21460             </para>
21461             <note>
21462             The Compact Framework 1.0 the <see cref="M:System.String.Intern(System.String)"/>
21463             method does not work. On the Compact Framework
21464             the string keys are not interned nor are they
21465             compared by reference.
21466             </note>
21467             </remarks>
21468             <param name="name">The name of the logger.</param>
21469         </member>
21470         <member name="M:log4net.Repository.Hierarchy.LoggerKey.GetHashCode">
21471             <summary>
21472             Returns a hash code for the current instance.
21473             </summary>
21474             <returns>A hash code for the current instance.</returns>
21475             <remarks>
21476             <para>
21477             Returns the cached hashcode.
21478             </para>
21479             </remarks>
21480         </member>
21481         <member name="M:log4net.Repository.Hierarchy.LoggerKey.Equals(System.Object)">
21482             <summary>
21483             Determines whether two <see cref="T:log4net.Repository.Hierarchy.LoggerKey"/> instances 
21484             are equal.
21485             </summary>
21486             <param name="obj">The <see cref="T:System.Object"/> to compare with the current <see cref="T:log4net.Repository.Hierarchy.LoggerKey"/>.</param>
21487             <returns>
21488             <c>true</c> if the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:log4net.Repository.Hierarchy.LoggerKey"/>; otherwise, <c>false</c>.
21489             </returns>
21490             <remarks>
21491             <para>
21492             Compares the references of the interned strings.
21493             </para>
21494             </remarks>
21495         </member>
21496         <member name="T:log4net.Repository.Hierarchy.ProvisionNode">
21497             <summary>
21498             Provision nodes are used where no logger instance has been specified
21499             </summary>
21500             <remarks>
21501             <para>
21502             <see cref="T:log4net.Repository.Hierarchy.ProvisionNode"/> instances are used in the 
21503             <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> when there is no specified 
21504             <see cref="T:log4net.Repository.Hierarchy.Logger"/> for that node.
21505             </para>
21506             <para>
21507             A provision node holds a list of child loggers on behalf of
21508             a logger that does not exist.
21509             </para>
21510             </remarks>
21511             <author>Nicko Cadell</author>
21512             <author>Gert Driesen</author>
21513         </member>
21514         <member name="M:log4net.Repository.Hierarchy.ProvisionNode.#ctor(log4net.Repository.Hierarchy.Logger)">
21515             <summary>
21516             Create a new provision node with child node
21517             </summary>
21518             <param name="log">A child logger to add to this node.</param>
21519             <remarks>
21520             <para>
21521             Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.ProvisionNode"/> class 
21522             with the specified child logger.
21523             </para>
21524             </remarks>
21525         </member>
21526         <member name="T:log4net.Repository.Hierarchy.RootLogger">
21527             <summary>
21528             The <see cref="T:log4net.Repository.Hierarchy.RootLogger"/> sits at the root of the logger hierarchy tree. 
21529             </summary>
21530             <remarks>
21531             <para>
21532             The <see cref="T:log4net.Repository.Hierarchy.RootLogger"/> is a regular <see cref="T:log4net.Repository.Hierarchy.Logger"/> except 
21533             that it provides several guarantees.
21534             </para>
21535             <para>
21536             First, it cannot be assigned a <c>null</c>
21537             level. Second, since the root logger cannot have a parent, the
21538             <see cref="P:log4net.Repository.Hierarchy.RootLogger.EffectiveLevel"/> property always returns the value of the
21539             level field without walking the hierarchy.
21540             </para>
21541             </remarks>
21542             <author>Nicko Cadell</author>
21543             <author>Gert Driesen</author>
21544         </member>
21545         <member name="M:log4net.Repository.Hierarchy.RootLogger.#ctor(log4net.Core.Level)">
21546             <summary>
21547             Construct a <see cref="T:log4net.Repository.Hierarchy.RootLogger"/>
21548             </summary>
21549             <param name="level">The level to assign to the root logger.</param>
21550             <remarks>
21551             <para>
21552             Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.RootLogger"/> class with
21553             the specified logging level.
21554             </para>
21555             <para>
21556             The root logger names itself as "root". However, the root
21557             logger cannot be retrieved by name.
21558             </para>
21559             </remarks>
21560         </member>
21561         <member name="P:log4net.Repository.Hierarchy.RootLogger.EffectiveLevel">
21562             <summary>
21563             Gets the assigned level value without walking the logger hierarchy.
21564             </summary>
21565             <value>The assigned level value without walking the logger hierarchy.</value>
21566             <remarks>
21567             <para>
21568             Because the root logger cannot have a parent and its level
21569             must not be <c>null</c> this property just returns the
21570             value of <see cref="P:log4net.Repository.Hierarchy.Logger.Level"/>.
21571             </para>
21572             </remarks>
21573         </member>
21574         <member name="P:log4net.Repository.Hierarchy.RootLogger.Level">
21575             <summary>
21576             Gets or sets the assigned <see cref="P:log4net.Repository.Hierarchy.RootLogger.Level"/> for the root logger.  
21577             </summary>
21578             <value>
21579             The <see cref="P:log4net.Repository.Hierarchy.RootLogger.Level"/> of the root logger.
21580             </value>
21581             <remarks>
21582             <para>
21583             Setting the level of the root logger to a <c>null</c> reference
21584             may have catastrophic results. We prevent this here.
21585             </para>
21586             </remarks>
21587         </member>
21588         <member name="T:log4net.Repository.Hierarchy.XmlHierarchyConfigurator">
21589             <summary>
21590             Initializes the log4net environment using an XML DOM.
21591             </summary>
21592             <remarks>
21593             <para>
21594             Configures a <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> using an XML DOM.
21595             </para>
21596             </remarks>
21597             <author>Nicko Cadell</author>
21598             <author>Gert Driesen</author>
21599         </member>
21600         <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.#ctor(log4net.Repository.Hierarchy.Hierarchy)">
21601             <summary>
21602             Construct the configurator for a hierarchy
21603             </summary>
21604             <param name="hierarchy">The hierarchy to build.</param>
21605             <remarks>
21606             <para>
21607             Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.XmlHierarchyConfigurator"/> class
21608             with the specified <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/>.
21609             </para>
21610             </remarks>
21611         </member>
21612         <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.Configure(System.Xml.XmlElement)">
21613             <summary>
21614             Configure the hierarchy by parsing a DOM tree of XML elements.
21615             </summary>
21616             <param name="element">The root element to parse.</param>
21617             <remarks>
21618             <para>
21619             Configure the hierarchy by parsing a DOM tree of XML elements.
21620             </para>
21621             </remarks>
21622         </member>
21623         <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.FindAppenderByReference(System.Xml.XmlElement)">
21624             <summary>
21625             Parse appenders by IDREF.
21626             </summary>
21627             <param name="appenderRef">The appender ref element.</param>
21628             <returns>The instance of the appender that the ref refers to.</returns>
21629             <remarks>
21630             <para>
21631             Parse an XML element that represents an appender and return 
21632             the appender.
21633             </para>
21634             </remarks>
21635         </member>
21636         <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseAppender(System.Xml.XmlElement)">
21637             <summary>
21638             Parses an appender element.
21639             </summary>
21640             <param name="appenderElement">The appender element.</param>
21641             <returns>The appender instance or <c>null</c> when parsing failed.</returns>
21642             <remarks>
21643             <para>
21644             Parse an XML element that represents an appender and return
21645             the appender instance.
21646             </para>
21647             </remarks>
21648         </member>
21649         <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseLogger(System.Xml.XmlElement)">
21650             <summary>
21651             Parses a logger element.
21652             </summary>
21653             <param name="loggerElement">The logger element.</param>
21654             <remarks>
21655             <para>
21656             Parse an XML element that represents a logger.
21657             </para>
21658             </remarks>
21659         </member>
21660         <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseRoot(System.Xml.XmlElement)">
21661             <summary>
21662             Parses the root logger element.
21663             </summary>
21664             <param name="rootElement">The root element.</param>
21665             <remarks>
21666             <para>
21667             Parse an XML element that represents the root logger.
21668             </para>
21669             </remarks>
21670         </member>
21671         <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseChildrenOfLoggerElement(System.Xml.XmlElement,log4net.Repository.Hierarchy.Logger,System.Boolean)">
21672             <summary>
21673             Parses the children of a logger element.
21674             </summary>
21675             <param name="catElement">The category element.</param>
21676             <param name="log">The logger instance.</param>
21677             <param name="isRoot">Flag to indicate if the logger is the root logger.</param>
21678             <remarks>
21679             <para>
21680             Parse the child elements of a &lt;logger&gt; element.
21681             </para>
21682             </remarks>
21683         </member>
21684         <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseRenderer(System.Xml.XmlElement)">
21685             <summary>
21686             Parses an object renderer.
21687             </summary>
21688             <param name="element">The renderer element.</param>
21689             <remarks>
21690             <para>
21691             Parse an XML element that represents a renderer.
21692             </para>
21693             </remarks>
21694         </member>
21695         <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseLevel(System.Xml.XmlElement,log4net.Repository.Hierarchy.Logger,System.Boolean)">
21696             <summary>
21697             Parses a level element.
21698             </summary>
21699             <param name="element">The level element.</param>
21700             <param name="log">The logger object to set the level on.</param>
21701             <param name="isRoot">Flag to indicate if the logger is the root logger.</param>
21702             <remarks>
21703             <para>
21704             Parse an XML element that represents a level.
21705             </para>
21706             </remarks>
21707         </member>
21708         <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.SetParameter(System.Xml.XmlElement,System.Object)">
21709             <summary>
21710             Sets a parameter on an object.
21711             </summary>
21712             <param name="element">The parameter element.</param>
21713             <param name="target">The object to set the parameter on.</param>
21714             <remarks>
21715             The parameter name must correspond to a writable property
21716             on the object. The value of the parameter is a string,
21717             therefore this function will attempt to set a string
21718             property first. If unable to set a string property it
21719             will inspect the property and its argument type. It will
21720             attempt to call a static method called <c>Parse</c> on the
21721             type of the property. This method will take a single
21722             string argument and return a value that can be used to
21723             set the property.
21724             </remarks>
21725         </member>
21726         <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.HasAttributesOrElements(System.Xml.XmlElement)">
21727             <summary>
21728             Test if an element has no attributes or child elements
21729             </summary>
21730             <param name="element">the element to inspect</param>
21731             <returns><c>true</c> if the element has any attributes or child elements, <c>false</c> otherwise</returns>
21732         </member>
21733         <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.IsTypeConstructible(System.Type)">
21734             <summary>
21735             Test if a <see cref="T:System.Type"/> is constructible with <c>Activator.CreateInstance</c>.
21736             </summary>
21737             <param name="type">the type to inspect</param>
21738             <returns><c>true</c> if the type is creatable using a default constructor, <c>false</c> otherwise</returns>
21739         </member>
21740         <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.FindMethodInfo(System.Type,System.String)">
21741             <summary>
21742             Look for a method on the <paramref name="targetType"/> that matches the <paramref name="name"/> supplied
21743             </summary>
21744             <param name="targetType">the type that has the method</param>
21745             <param name="name">the name of the method</param>
21746             <returns>the method info found</returns>
21747             <remarks>
21748             <para>
21749             The method must be a public instance method on the <paramref name="targetType"/>.
21750             The method must be named <paramref name="name"/> or "Add" followed by <paramref name="name"/>.
21751             The method must take a single parameter.
21752             </para>
21753             </remarks>
21754         </member>
21755         <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ConvertStringTo(System.Type,System.String)">
21756             <summary>
21757             Converts a string value to a target type.
21758             </summary>
21759             <param name="type">The type of object to convert the string to.</param>
21760             <param name="value">The string value to use as the value of the object.</param>
21761             <returns>
21762             <para>
21763             An object of type <paramref name="type"/> with value <paramref name="value"/> or 
21764             <c>null</c> when the conversion could not be performed.
21765             </para>
21766             </returns>
21767         </member>
21768         <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.CreateObjectFromXml(System.Xml.XmlElement,System.Type,System.Type)">
21769             <summary>
21770             Creates an object as specified in XML.
21771             </summary>
21772             <param name="element">The XML element that contains the definition of the object.</param>
21773             <param name="defaultTargetType">The object type to use if not explicitly specified.</param>
21774             <param name="typeConstraint">The type that the returned object must be or must inherit from.</param>
21775             <returns>The object or <c>null</c></returns>
21776             <remarks>
21777             <para>
21778             Parse an XML element and create an object instance based on the configuration
21779             data.
21780             </para>
21781             <para>
21782             The type of the instance may be specified in the XML. If not
21783             specified then the <paramref name="defaultTargetType"/> is used
21784             as the type. However the type is specified it must support the
21785             <paramref name="typeConstraint"/> type.
21786             </para>
21787             </remarks>
21788         </member>
21789         <member name="F:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.m_appenderBag">
21790             <summary>
21791             key: appenderName, value: appender.
21792             </summary>
21793         </member>
21794         <member name="F:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.m_hierarchy">
21795             <summary>
21796             The Hierarchy being configured.
21797             </summary>
21798         </member>
21799         <member name="T:log4net.Repository.LoggerRepositoryShutdownEventHandler">
21800             <summary>
21801             Delegate used to handle logger repository shutdown event notifications
21802             </summary>
21803             <param name="sender">The <see cref="T:log4net.Repository.ILoggerRepository"/> that is shutting down.</param>
21804             <param name="e">Empty event args</param>
21805             <remarks>
21806             <para>
21807             Delegate used to handle logger repository shutdown event notifications.
21808             </para>
21809             </remarks>
21810         </member>
21811         <member name="T:log4net.Repository.LoggerRepositoryConfigurationResetEventHandler">
21812             <summary>
21813             Delegate used to handle logger repository configuration reset event notifications
21814             </summary>
21815             <param name="sender">The <see cref="T:log4net.Repository.ILoggerRepository"/> that has had its configuration reset.</param>
21816             <param name="e">Empty event args</param>
21817             <remarks>
21818             <para>
21819             Delegate used to handle logger repository configuration reset event notifications.
21820             </para>
21821             </remarks>
21822         </member>
21823         <member name="T:log4net.Repository.LoggerRepositoryConfigurationChangedEventHandler">
21824             <summary>
21825             Delegate used to handle event notifications for logger repository configuration changes.
21826             </summary>
21827             <param name="sender">The <see cref="T:log4net.Repository.ILoggerRepository"/> that has had its configuration changed.</param>
21828             <param name="e">Empty event arguments.</param>
21829             <remarks>
21830             <para>
21831             Delegate used to handle event notifications for logger repository configuration changes.
21832             </para>
21833             </remarks>
21834         </member>
21835         <member name="T:log4net.Util.PatternStringConverters.AppDomainPatternConverter">
21836             <summary>
21837             Write the name of the current AppDomain to the output
21838             </summary>
21839             <remarks>
21840             <para>
21841             Write the name of the current AppDomain to the output writer
21842             </para>
21843             </remarks>
21844             <author>Nicko Cadell</author>
21845         </member>
21846         <member name="M:log4net.Util.PatternStringConverters.AppDomainPatternConverter.Convert(System.IO.TextWriter,System.Object)">
21847             <summary>
21848             Write the name of the current AppDomain to the output
21849             </summary>
21850             <param name="writer">the writer to write to</param>
21851             <param name="state">null, state is not set</param>
21852             <remarks>
21853             <para>
21854             Writes name of the current AppDomain to the output <paramref name="writer"/>.
21855             </para>
21856             </remarks>
21857         </member>
21858         <member name="T:log4net.Util.PatternStringConverters.DatePatternConverter">
21859             <summary>
21860             Write the current date to the output
21861             </summary>
21862             <remarks>
21863             <para>
21864             Date pattern converter, uses a <see cref="T:log4net.DateFormatter.IDateFormatter"/> to format 
21865             the current date and time to the writer as a string.
21866             </para>
21867             <para>
21868             The value of the <see cref="P:log4net.Util.PatternConverter.Option"/> determines 
21869             the formatting of the date. The following values are allowed:
21870             <list type="definition">
21871                 <listheader>
21872                         <term>Option value</term>
21873                         <description>Output</description>
21874                 </listheader>
21875                 <item>
21876                         <term>ISO8601</term>
21877                         <description>
21878                         Uses the <see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/> formatter. 
21879                         Formats using the <c>"yyyy-MM-dd HH:mm:ss,fff"</c> pattern.
21880                         </description>
21881                 </item>
21882                 <item>
21883                         <term>DATE</term>
21884                         <description>
21885                         Uses the <see cref="T:log4net.DateFormatter.DateTimeDateFormatter"/> formatter. 
21886                         Formats using the <c>"dd MMM yyyy HH:mm:ss,fff"</c> for example, <c>"06 Nov 1994 15:49:37,459"</c>.
21887                         </description>
21888                 </item>
21889                 <item>
21890                         <term>ABSOLUTE</term>
21891                         <description>
21892                         Uses the <see cref="T:log4net.DateFormatter.AbsoluteTimeDateFormatter"/> formatter. 
21893                         Formats using the <c>"HH:mm:ss,fff"</c> for example, <c>"15:49:37,459"</c>.
21894                         </description>
21895                 </item>
21896                 <item>
21897                         <term>other</term>
21898                         <description>
21899                         Any other pattern string uses the <see cref="T:log4net.DateFormatter.SimpleDateFormatter"/> formatter. 
21900                         This formatter passes the pattern string to the <see cref="T:System.DateTime"/> 
21901                         <see cref="M:System.DateTime.ToString(System.String)"/> method.
21902                         For details on valid patterns see 
21903                         <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemglobalizationdatetimeformatinfoclasstopic.asp">DateTimeFormatInfo Class</a>.
21904                         </description>
21905                 </item>
21906             </list>
21907             </para>
21908             <para>
21909             The date and time is in the local time zone and is rendered in that zone.
21910             To output the time in Universal time see <see cref="T:log4net.Util.PatternStringConverters.UtcDatePatternConverter"/>.
21911             </para>
21912             </remarks>
21913             <author>Nicko Cadell</author>
21914         </member>
21915         <member name="F:log4net.Util.PatternStringConverters.DatePatternConverter.m_dateFormatter">
21916             <summary>
21917             The <see cref="T:log4net.DateFormatter.IDateFormatter"/> used to render the date to a string
21918             </summary>
21919             <remarks>
21920             <para>
21921             The <see cref="T:log4net.DateFormatter.IDateFormatter"/> used to render the date to a string
21922             </para>
21923             </remarks>
21924         </member>
21925         <member name="M:log4net.Util.PatternStringConverters.DatePatternConverter.ActivateOptions">
21926             <summary>
21927             Initialize the converter options
21928             </summary>
21929             <remarks>
21930             <para>
21931             This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
21932             activation scheme. The <see cref="M:log4net.Util.PatternStringConverters.DatePatternConverter.ActivateOptions"/> method must 
21933             be called on this object after the configuration properties have
21934             been set. Until <see cref="M:log4net.Util.PatternStringConverters.DatePatternConverter.ActivateOptions"/> is called this
21935             object is in an undefined state and must not be used. 
21936             </para>
21937             <para>
21938             If any of the configuration properties are modified then 
21939             <see cref="M:log4net.Util.PatternStringConverters.DatePatternConverter.ActivateOptions"/> must be called again.
21940             </para>
21941             </remarks>
21942         </member>
21943         <member name="M:log4net.Util.PatternStringConverters.DatePatternConverter.Convert(System.IO.TextWriter,System.Object)">
21944             <summary>
21945             Write the current date to the output
21946             </summary>
21947             <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
21948             <param name="state">null, state is not set</param>
21949             <remarks>
21950             <para>
21951             Pass the current date and time to the <see cref="T:log4net.DateFormatter.IDateFormatter"/>
21952             for it to render it to the writer.
21953             </para>
21954             <para>
21955             The date and time passed is in the local time zone.
21956             </para>
21957             </remarks>
21958         </member>
21959         <member name="T:log4net.Util.PatternStringConverters.EnvironmentPatternConverter">
21960             <summary>
21961             Write an environment variable to the output
21962             </summary>
21963             <remarks>
21964             <para>
21965             Write an environment variable to the output writer.
21966             The value of the <see cref="P:log4net.Util.PatternConverter.Option"/> determines 
21967             the name of the variable to output.
21968             </para>
21969             </remarks>
21970             <author>Nicko Cadell</author>
21971         </member>
21972         <member name="M:log4net.Util.PatternStringConverters.EnvironmentPatternConverter.Convert(System.IO.TextWriter,System.Object)">
21973             <summary>
21974             Write an environment variable to the output
21975             </summary>
21976             <param name="writer">the writer to write to</param>
21977             <param name="state">null, state is not set</param>
21978             <remarks>
21979             <para>
21980             Writes the environment variable to the output <paramref name="writer"/>.
21981             The name of the environment variable to output must be set
21982             using the <see cref="P:log4net.Util.PatternConverter.Option"/>
21983             property.
21984             </para>
21985             </remarks>
21986         </member>
21987         <member name="T:log4net.Util.PatternStringConverters.IdentityPatternConverter">
21988             <summary>
21989             Write the current thread identity to the output
21990             </summary>
21991             <remarks>
21992             <para>
21993             Write the current thread identity to the output writer
21994             </para>
21995             </remarks>
21996             <author>Nicko Cadell</author>
21997         </member>
21998         <member name="M:log4net.Util.PatternStringConverters.IdentityPatternConverter.Convert(System.IO.TextWriter,System.Object)">
21999             <summary>
22000             Write the current thread identity to the output
22001             </summary>
22002             <param name="writer">the writer to write to</param>
22003             <param name="state">null, state is not set</param>
22004             <remarks>
22005             <para>
22006             Writes the current thread identity to the output <paramref name="writer"/>.
22007             </para>
22008             </remarks>
22009         </member>
22010         <member name="T:log4net.Util.PatternStringConverters.LiteralPatternConverter">
22011             <summary>
22012             Pattern converter for literal string instances in the pattern
22013             </summary>
22014             <remarks>
22015             <para>
22016             Writes the literal string value specified in the 
22017             <see cref="P:log4net.Util.PatternConverter.Option"/> property to 
22018             the output.
22019             </para>
22020             </remarks>
22021             <author>Nicko Cadell</author>
22022         </member>
22023         <member name="M:log4net.Util.PatternStringConverters.LiteralPatternConverter.SetNext(log4net.Util.PatternConverter)">
22024             <summary>
22025             Set the next converter in the chain
22026             </summary>
22027             <param name="pc">The next pattern converter in the chain</param>
22028             <returns>The next pattern converter</returns>
22029             <remarks>
22030             <para>
22031             Special case the building of the pattern converter chain
22032             for <see cref="T:log4net.Util.PatternStringConverters.LiteralPatternConverter"/> instances. Two adjacent
22033             literals in the pattern can be represented by a single combined
22034             pattern converter. This implementation detects when a 
22035             <see cref="T:log4net.Util.PatternStringConverters.LiteralPatternConverter"/> is added to the chain
22036             after this converter and combines its value with this converter's
22037             literal value.
22038             </para>
22039             </remarks>
22040         </member>
22041         <member name="M:log4net.Util.PatternStringConverters.LiteralPatternConverter.Format(System.IO.TextWriter,System.Object)">
22042             <summary>
22043             Write the literal to the output
22044             </summary>
22045             <param name="writer">the writer to write to</param>
22046             <param name="state">null, not set</param>
22047             <remarks>
22048             <para>
22049             Override the formatting behavior to ignore the FormattingInfo
22050             because we have a literal instead.
22051             </para>
22052             <para>
22053             Writes the value of <see cref="P:log4net.Util.PatternConverter.Option"/>
22054             to the output <paramref name="writer"/>.
22055             </para>
22056             </remarks>
22057         </member>
22058         <member name="M:log4net.Util.PatternStringConverters.LiteralPatternConverter.Convert(System.IO.TextWriter,System.Object)">
22059             <summary>
22060             Convert this pattern into the rendered message
22061             </summary>
22062             <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
22063             <param name="state">null, not set</param>
22064             <remarks>
22065             <para>
22066             This method is not used.
22067             </para>
22068             </remarks>
22069         </member>
22070         <member name="T:log4net.Util.PatternStringConverters.NewLinePatternConverter">
22071             <summary>
22072             Writes a newline to the output
22073             </summary>
22074             <remarks>
22075             <para>
22076             Writes the system dependent line terminator to the output.
22077             This behavior can be overridden by setting the <see cref="P:log4net.Util.PatternConverter.Option"/>:
22078             </para>
22079             <list type="definition">
22080               <listheader>
22081                 <term>Option Value</term>
22082                 <description>Output</description>
22083               </listheader>
22084               <item>
22085                 <term>DOS</term>
22086                 <description>DOS or Windows line terminator <c>"\r\n"</c></description>
22087               </item>
22088               <item>
22089                 <term>UNIX</term>
22090                 <description>UNIX line terminator <c>"\n"</c></description>
22091               </item>
22092             </list>
22093             </remarks>
22094             <author>Nicko Cadell</author>
22095         </member>
22096         <member name="M:log4net.Util.PatternStringConverters.NewLinePatternConverter.ActivateOptions">
22097             <summary>
22098             Initialize the converter
22099             </summary>
22100             <remarks>
22101             <para>
22102             This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
22103             activation scheme. The <see cref="M:log4net.Util.PatternStringConverters.NewLinePatternConverter.ActivateOptions"/> method must 
22104             be called on this object after the configuration properties have
22105             been set. Until <see cref="M:log4net.Util.PatternStringConverters.NewLinePatternConverter.ActivateOptions"/> is called this
22106             object is in an undefined state and must not be used. 
22107             </para>
22108             <para>
22109             If any of the configuration properties are modified then 
22110             <see cref="M:log4net.Util.PatternStringConverters.NewLinePatternConverter.ActivateOptions"/> must be called again.
22111             </para>
22112             </remarks>
22113         </member>
22114         <member name="T:log4net.Util.PatternStringConverters.ProcessIdPatternConverter">
22115             <summary>
22116             Write the current process ID to the output
22117             </summary>
22118             <remarks>
22119             <para>
22120             Write the current process ID to the output writer
22121             </para>
22122             </remarks>
22123             <author>Nicko Cadell</author>
22124         </member>
22125         <member name="M:log4net.Util.PatternStringConverters.ProcessIdPatternConverter.Convert(System.IO.TextWriter,System.Object)">
22126             <summary>
22127             Write the current process ID to the output
22128             </summary>
22129             <param name="writer">the writer to write to</param>
22130             <param name="state">null, state is not set</param>
22131             <remarks>
22132             <para>
22133             Write the current process ID to the output <paramref name="writer"/>.
22134             </para>
22135             </remarks>
22136         </member>
22137         <member name="T:log4net.Util.PatternStringConverters.PropertyPatternConverter">
22138             <summary>
22139             Property pattern converter
22140             </summary>
22141             <remarks>
22142             <para>
22143             This pattern converter reads the thread and global properties.
22144             The thread properties take priority over global properties.
22145             See <see cref="P:log4net.ThreadContext.Properties"/> for details of the 
22146             thread properties. See <see cref="P:log4net.GlobalContext.Properties"/> for
22147             details of the global properties.
22148             </para>
22149             <para>
22150             If the <see cref="P:log4net.Util.PatternConverter.Option"/> is specified then that will be used to
22151             lookup a single property. If no <see cref="P:log4net.Util.PatternConverter.Option"/> is specified
22152             then all properties will be dumped as a list of key value pairs.
22153             </para>
22154             </remarks>
22155             <author>Nicko Cadell</author>
22156         </member>
22157         <member name="M:log4net.Util.PatternStringConverters.PropertyPatternConverter.Convert(System.IO.TextWriter,System.Object)">
22158             <summary>
22159             Write the property value to the output
22160             </summary>
22161             <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
22162             <param name="state">null, state is not set</param>
22163             <remarks>
22164             <para>
22165             Writes out the value of a named property. The property name
22166             should be set in the <see cref="P:log4net.Util.PatternConverter.Option"/>
22167             property.
22168             </para>
22169             <para>
22170             If the <see cref="P:log4net.Util.PatternConverter.Option"/> is set to <c>null</c>
22171             then all the properties are written as key value pairs.
22172             </para>
22173             </remarks>
22174         </member>
22175         <member name="T:log4net.Util.PatternStringConverters.RandomStringPatternConverter">
22176             <summary>
22177             A Pattern converter that generates a string of random characters
22178             </summary>
22179             <remarks>
22180             <para>
22181             The converter generates a string of random characters. By default
22182             the string is length 4. This can be changed by setting the <see cref="P:log4net.Util.PatternConverter.Option"/>
22183             to the string value of the length required.
22184             </para>
22185             <para>
22186             The random characters in the string are limited to uppercase letters
22187             and numbers only.
22188             </para>
22189             <para>
22190             The random number generator used by this class is not cryptographically secure.
22191             </para>
22192             </remarks>
22193             <author>Nicko Cadell</author>
22194         </member>
22195         <member name="F:log4net.Util.PatternStringConverters.RandomStringPatternConverter.s_random">
22196             <summary>
22197             Shared random number generator
22198             </summary>
22199         </member>
22200         <member name="F:log4net.Util.PatternStringConverters.RandomStringPatternConverter.m_length">
22201             <summary>
22202             Length of random string to generate. Default length 4.
22203             </summary>
22204         </member>
22205         <member name="M:log4net.Util.PatternStringConverters.RandomStringPatternConverter.ActivateOptions">
22206             <summary>
22207             Initialize the converter options
22208             </summary>
22209             <remarks>
22210             <para>
22211             This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
22212             activation scheme. The <see cref="M:log4net.Util.PatternStringConverters.RandomStringPatternConverter.ActivateOptions"/> method must 
22213             be called on this object after the configuration properties have
22214             been set. Until <see cref="M:log4net.Util.PatternStringConverters.RandomStringPatternConverter.ActivateOptions"/> is called this
22215             object is in an undefined state and must not be used. 
22216             </para>
22217             <para>
22218             If any of the configuration properties are modified then 
22219             <see cref="M:log4net.Util.PatternStringConverters.RandomStringPatternConverter.ActivateOptions"/> must be called again.
22220             </para>
22221             </remarks>
22222         </member>
22223         <member name="M:log4net.Util.PatternStringConverters.RandomStringPatternConverter.Convert(System.IO.TextWriter,System.Object)">
22224             <summary>
22225             Write a randoim string to the output
22226             </summary>
22227             <param name="writer">the writer to write to</param>
22228             <param name="state">null, state is not set</param>
22229             <remarks>
22230             <para>
22231             Write a randoim string to the output <paramref name="writer"/>.
22232             </para>
22233             </remarks>
22234         </member>
22235         <member name="T:log4net.Util.PatternStringConverters.UserNamePatternConverter">
22236             <summary>
22237             Write the current threads username to the output
22238             </summary>
22239             <remarks>
22240             <para>
22241             Write the current threads username to the output writer
22242             </para>
22243             </remarks>
22244             <author>Nicko Cadell</author>
22245         </member>
22246         <member name="M:log4net.Util.PatternStringConverters.UserNamePatternConverter.Convert(System.IO.TextWriter,System.Object)">
22247             <summary>
22248             Write the current threads username to the output
22249             </summary>
22250             <param name="writer">the writer to write to</param>
22251             <param name="state">null, state is not set</param>
22252             <remarks>
22253             <para>
22254             Write the current threads username to the output <paramref name="writer"/>.
22255             </para>
22256             </remarks>
22257         </member>
22258         <member name="T:log4net.Util.PatternStringConverters.UtcDatePatternConverter">
22259             <summary>
22260             Write the UTC date time to the output
22261             </summary>
22262             <remarks>
22263             <para>
22264             Date pattern converter, uses a <see cref="T:log4net.DateFormatter.IDateFormatter"/> to format 
22265             the current date and time in Universal time.
22266             </para>
22267             <para>
22268             See the <see cref="T:log4net.Util.PatternStringConverters.DatePatternConverter"/> for details on the date pattern syntax.
22269             </para>
22270             </remarks>
22271             <seealso cref="T:log4net.Util.PatternStringConverters.DatePatternConverter"/>
22272             <author>Nicko Cadell</author>
22273         </member>
22274         <member name="M:log4net.Util.PatternStringConverters.UtcDatePatternConverter.Convert(System.IO.TextWriter,System.Object)">
22275             <summary>
22276             Write the current date and time to the output
22277             </summary>
22278             <param name="writer"><see cref="T:System.IO.TextWriter"/> that will receive the formatted result.</param>
22279             <param name="state">null, state is not set</param>
22280             <remarks>
22281             <para>
22282             Pass the current date and time to the <see cref="T:log4net.DateFormatter.IDateFormatter"/>
22283             for it to render it to the writer.
22284             </para>
22285             <para>
22286             The date is in Universal time when it is rendered.
22287             </para>
22288             </remarks>
22289             <seealso cref="T:log4net.Util.PatternStringConverters.DatePatternConverter"/>
22290         </member>
22291         <member name="T:log4net.Util.TypeConverters.BooleanConverter">
22292             <summary>
22293             Type converter for Boolean.
22294             </summary>
22295             <remarks>
22296             <para>
22297             Supports conversion from string to <c>bool</c> type.
22298             </para>
22299             </remarks>
22300             <seealso cref="T:log4net.Util.TypeConverters.ConverterRegistry"/>
22301             <seealso cref="T:log4net.Util.TypeConverters.IConvertFrom"/>
22302             <seealso cref="T:log4net.Util.TypeConverters.IConvertTo"/>
22303             <author>Nicko Cadell</author>
22304             <author>Gert Driesen</author>
22305         </member>
22306         <member name="M:log4net.Util.TypeConverters.BooleanConverter.CanConvertFrom(System.Type)">
22307             <summary>
22308             Can the source type be converted to the type supported by this object
22309             </summary>
22310             <param name="sourceType">the type to convert</param>
22311             <returns>true if the conversion is possible</returns>
22312             <remarks>
22313             <para>
22314             Returns <c>true</c> if the <paramref name="sourceType"/> is
22315             the <see cref="T:System.String"/> type.
22316             </para>
22317             </remarks>
22318         </member>
22319         <member name="M:log4net.Util.TypeConverters.BooleanConverter.ConvertFrom(System.Object)">
22320             <summary>
22321             Convert the source object to the type supported by this object
22322             </summary>
22323             <param name="source">the object to convert</param>
22324             <returns>the converted object</returns>
22325             <remarks>
22326             <para>
22327             Uses the <see cref="M:System.Boolean.Parse(System.String)"/> method to convert the
22328             <see cref="T:System.String"/> argument to a <see cref="T:System.Boolean"/>.
22329             </para>
22330             </remarks>
22331             <exception cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException">
22332             The <paramref name="source"/> object cannot be converted to the
22333             target type. To check for this condition use the <see cref="M:log4net.Util.TypeConverters.BooleanConverter.CanConvertFrom(System.Type)"/>
22334             method.
22335             </exception>
22336         </member>
22337         <member name="T:log4net.Util.TypeConverters.ConversionNotSupportedException">
22338             <summary>
22339             Exception base type for conversion errors.
22340             </summary>
22341             <remarks>
22342             <para>
22343             This type extends <see cref="T:System.ApplicationException"/>. It
22344             does not add any new functionality but does differentiate the
22345             type of exception being thrown.
22346             </para>
22347             </remarks>
22348             <author>Nicko Cadell</author>
22349             <author>Gert Driesen</author>
22350         </member>
22351         <member name="M:log4net.Util.TypeConverters.ConversionNotSupportedException.#ctor">
22352             <summary>
22353             Constructor
22354             </summary>
22355             <remarks>
22356             <para>
22357             Initializes a new instance of the <see cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException"/> class.
22358             </para>
22359             </remarks>
22360         </member>
22361         <member name="M:log4net.Util.TypeConverters.ConversionNotSupportedException.#ctor(System.String)">
22362             <summary>
22363             Constructor
22364             </summary>
22365             <param name="message">A message to include with the exception.</param>
22366             <remarks>
22367             <para>
22368             Initializes a new instance of the <see cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException"/> class
22369             with the specified message.
22370             </para>
22371             </remarks>
22372         </member>
22373         <member name="M:log4net.Util.TypeConverters.ConversionNotSupportedException.#ctor(System.String,System.Exception)">
22374             <summary>
22375             Constructor
22376             </summary>
22377             <param name="message">A message to include with the exception.</param>
22378             <param name="innerException">A nested exception to include.</param>
22379             <remarks>
22380             <para>
22381             Initializes a new instance of the <see cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException"/> class
22382             with the specified message and inner exception.
22383             </para>
22384             </remarks>
22385         </member>
22386         <member name="M:log4net.Util.TypeConverters.ConversionNotSupportedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
22387             <summary>
22388             Serialization constructor
22389             </summary>
22390             <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
22391             <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
22392             <remarks>
22393             <para>
22394             Initializes a new instance of the <see cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException"/> class 
22395             with serialized data.
22396             </para>
22397             </remarks>
22398         </member>
22399         <member name="M:log4net.Util.TypeConverters.ConversionNotSupportedException.Create(System.Type,System.Object)">
22400             <summary>
22401             Creates a new instance of the <see cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException"/> class.
22402             </summary>
22403             <param name="destinationType">The conversion destination type.</param>
22404             <param name="sourceValue">The value to convert.</param>
22405             <returns>An instance of the <see cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException"/>.</returns>
22406             <remarks>
22407             <para>
22408             Creates a new instance of the <see cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException"/> class.
22409             </para>
22410             </remarks>
22411         </member>
22412         <member name="M:log4net.Util.TypeConverters.ConversionNotSupportedException.Create(System.Type,System.Object,System.Exception)">
22413             <summary>
22414             Creates a new instance of the <see cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException"/> class.
22415             </summary>
22416             <param name="destinationType">The conversion destination type.</param>
22417             <param name="sourceValue">The value to convert.</param>
22418             <param name="innerException">A nested exception to include.</param>
22419             <returns>An instance of the <see cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException"/>.</returns>
22420             <remarks>
22421             <para>
22422             Creates a new instance of the <see cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException"/> class.
22423             </para>
22424             </remarks>
22425         </member>
22426         <member name="T:log4net.Util.TypeConverters.ConverterRegistry">
22427             <summary>
22428             Register of type converters for specific types.
22429             </summary>
22430             <remarks>
22431             <para>
22432             Maintains a registry of type converters used to convert between
22433             types.
22434             </para>
22435             <para>
22436             Use the <see cref="M:log4net.Util.TypeConverters.ConverterRegistry.AddConverter(System.Type,System.Object)"/> and 
22437             <see cref="M:log4net.Util.TypeConverters.ConverterRegistry.AddConverter(System.Type,System.Type)"/> methods to register new converters.
22438             The <see cref="M:log4net.Util.TypeConverters.ConverterRegistry.GetConvertTo(System.Type,System.Type)"/> and <see cref="M:log4net.Util.TypeConverters.ConverterRegistry.GetConvertFrom(System.Type)"/> methods
22439             lookup appropriate converters to use.
22440             </para>
22441             </remarks>
22442             <seealso cref="T:log4net.Util.TypeConverters.IConvertFrom"/>
22443             <seealso cref="T:log4net.Util.TypeConverters.IConvertTo"/>
22444             <author>Nicko Cadell</author>
22445             <author>Gert Driesen</author>
22446         </member>
22447         <member name="M:log4net.Util.TypeConverters.ConverterRegistry.#ctor">
22448             <summary>
22449             Private constructor
22450             </summary>
22451             <remarks>
22452             Initializes a new instance of the <see cref="T:log4net.Util.TypeConverters.ConverterRegistry"/> class.
22453             </remarks>
22454         </member>
22455         <member name="M:log4net.Util.TypeConverters.ConverterRegistry.#cctor">
22456             <summary>
22457             Static constructor.
22458             </summary>
22459             <remarks>
22460             <para>
22461             This constructor defines the intrinsic type converters.
22462             </para>
22463             </remarks>
22464         </member>
22465         <member name="M:log4net.Util.TypeConverters.ConverterRegistry.AddConverter(System.Type,System.Object)">
22466             <summary>
22467             Adds a converter for a specific type.
22468             </summary>
22469             <param name="destinationType">The type being converted to.</param>
22470             <param name="converter">The type converter to use to convert to the destination type.</param>
22471             <remarks>
22472             <para>
22473             Adds a converter instance for a specific type.
22474             </para>
22475             </remarks>
22476         </member>
22477         <member name="M:log4net.Util.TypeConverters.ConverterRegistry.AddConverter(System.Type,System.Type)">
22478             <summary>
22479             Adds a converter for a specific type.
22480             </summary>
22481             <param name="destinationType">The type being converted to.</param>
22482             <param name="converterType">The type of the type converter to use to convert to the destination type.</param>
22483             <remarks>
22484             <para>
22485             Adds a converter <see cref="T:System.Type"/> for a specific type.
22486             </para>
22487             </remarks>
22488         </member>
22489         <member name="M:log4net.Util.TypeConverters.ConverterRegistry.GetConvertTo(System.Type,System.Type)">
22490             <summary>
22491             Gets the type converter to use to convert values to the destination type.
22492             </summary>
22493             <param name="sourceType">The type being converted from.</param>
22494             <param name="destinationType">The type being converted to.</param>
22495             <returns>
22496             The type converter instance to use for type conversions or <c>null</c> 
22497             if no type converter is found.
22498             </returns>
22499             <remarks>
22500             <para>
22501             Gets the type converter to use to convert values to the destination type.
22502             </para>
22503             </remarks>
22504         </member>
22505         <member name="M:log4net.Util.TypeConverters.ConverterRegistry.GetConvertFrom(System.Type)">
22506             <summary>
22507             Gets the type converter to use to convert values to the destination type.
22508             </summary>
22509             <param name="destinationType">The type being converted to.</param>
22510             <returns>
22511             The type converter instance to use for type conversions or <c>null</c> 
22512             if no type converter is found.
22513             </returns>
22514             <remarks>
22515             <para>
22516             Gets the type converter to use to convert values to the destination type.
22517             </para>
22518             </remarks>
22519         </member>
22520         <member name="M:log4net.Util.TypeConverters.ConverterRegistry.GetConverterFromAttribute(System.Type)">
22521             <summary>
22522             Lookups the type converter to use as specified by the attributes on the 
22523             destination type.
22524             </summary>
22525             <param name="destinationType">The type being converted to.</param>
22526             <returns>
22527             The type converter instance to use for type conversions or <c>null</c> 
22528             if no type converter is found.
22529             </returns>
22530         </member>
22531         <member name="M:log4net.Util.TypeConverters.ConverterRegistry.CreateConverterInstance(System.Type)">
22532             <summary>
22533             Creates the instance of the type converter.
22534             </summary>
22535             <param name="converterType">The type of the type converter.</param>
22536             <returns>
22537             The type converter instance to use for type conversions or <c>null</c> 
22538             if no type converter is found.
22539             </returns>
22540             <remarks>
22541             <para>
22542             The type specified for the type converter must implement 
22543             the <see cref="T:log4net.Util.TypeConverters.IConvertFrom"/> or <see cref="T:log4net.Util.TypeConverters.IConvertTo"/> interfaces 
22544             and must have a public default (no argument) constructor.
22545             </para>
22546             </remarks>
22547         </member>
22548         <member name="F:log4net.Util.TypeConverters.ConverterRegistry.s_type2converter">
22549             <summary>
22550             Mapping from <see cref="T:System.Type"/> to type converter.
22551             </summary>
22552         </member>
22553         <member name="T:log4net.Util.TypeConverters.EncodingConverter">
22554             <summary>
22555             Supports conversion from string to <see cref="T:System.Text.Encoding"/> type.
22556             </summary>
22557             <remarks>
22558             <para>
22559             Supports conversion from string to <see cref="T:System.Text.Encoding"/> type.
22560             </para>
22561             </remarks>
22562             <seealso cref="T:log4net.Util.TypeConverters.ConverterRegistry"/>
22563             <seealso cref="T:log4net.Util.TypeConverters.IConvertFrom"/>
22564             <seealso cref="T:log4net.Util.TypeConverters.IConvertTo"/>
22565             <author>Nicko Cadell</author>
22566             <author>Gert Driesen</author>
22567         </member>
22568         <member name="M:log4net.Util.TypeConverters.EncodingConverter.CanConvertFrom(System.Type)">
22569             <summary>
22570             Can the source type be converted to the type supported by this object
22571             </summary>
22572             <param name="sourceType">the type to convert</param>
22573             <returns>true if the conversion is possible</returns>
22574             <remarks>
22575             <para>
22576             Returns <c>true</c> if the <paramref name="sourceType"/> is
22577             the <see cref="T:System.String"/> type.
22578             </para>
22579             </remarks>
22580         </member>
22581         <member name="M:log4net.Util.TypeConverters.EncodingConverter.ConvertFrom(System.Object)">
22582             <summary>
22583             Overrides the ConvertFrom method of IConvertFrom.
22584             </summary>
22585             <param name="source">the object to convert to an encoding</param>
22586             <returns>the encoding</returns>
22587             <remarks>
22588             <para>
22589             Uses the <see cref="M:System.Text.Encoding.GetEncoding(System.String)"/> method to 
22590             convert the <see cref="T:System.String"/> argument to an <see cref="T:System.Text.Encoding"/>.
22591             </para>
22592             </remarks>
22593             <exception cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException">
22594             The <paramref name="source"/> object cannot be converted to the
22595             target type. To check for this condition use the <see cref="M:log4net.Util.TypeConverters.EncodingConverter.CanConvertFrom(System.Type)"/>
22596             method.
22597             </exception>
22598         </member>
22599         <member name="T:log4net.Util.TypeConverters.IConvertTo">
22600             <summary>
22601             Interface supported by type converters
22602             </summary>
22603             <remarks>
22604             <para>
22605             This interface supports conversion from a single type to arbitrary types.
22606             See <see cref="T:log4net.Util.TypeConverters.TypeConverterAttribute"/>.
22607             </para>
22608             </remarks>
22609             <author>Nicko Cadell</author>
22610         </member>
22611         <member name="M:log4net.Util.TypeConverters.IConvertTo.CanConvertTo(System.Type)">
22612             <summary>
22613             Returns whether this converter can convert the object to the specified type
22614             </summary>
22615             <param name="targetType">A Type that represents the type you want to convert to</param>
22616             <returns>true if the conversion is possible</returns>
22617             <remarks>
22618             <para>
22619             Test if the type supported by this converter can be converted to the
22620             <paramref name="targetType"/>.
22621             </para>
22622             </remarks>
22623         </member>
22624         <member name="M:log4net.Util.TypeConverters.IConvertTo.ConvertTo(System.Object,System.Type)">
22625             <summary>
22626             Converts the given value object to the specified type, using the arguments
22627             </summary>
22628             <param name="source">the object to convert</param>
22629             <param name="targetType">The Type to convert the value parameter to</param>
22630             <returns>the converted object</returns>
22631             <remarks>
22632             <para>
22633             Converts the <paramref name="source"/> (which must be of the type supported
22634             by this converter) to the <paramref name="targetType"/> specified..
22635             </para>
22636             </remarks>
22637         </member>
22638         <member name="T:log4net.Util.TypeConverters.IPAddressConverter">
22639             <summary>
22640             Supports conversion from string to <see cref="T:System.Net.IPAddress"/> type.
22641             </summary>
22642             <remarks>
22643             <para>
22644             Supports conversion from string to <see cref="T:System.Net.IPAddress"/> type.
22645             </para>
22646             </remarks>
22647             <seealso cref="T:log4net.Util.TypeConverters.ConverterRegistry"/>
22648             <seealso cref="T:log4net.Util.TypeConverters.IConvertFrom"/>
22649             <author>Nicko Cadell</author>
22650         </member>
22651         <member name="M:log4net.Util.TypeConverters.IPAddressConverter.CanConvertFrom(System.Type)">
22652             <summary>
22653             Can the source type be converted to the type supported by this object
22654             </summary>
22655             <param name="sourceType">the type to convert</param>
22656             <returns>true if the conversion is possible</returns>
22657             <remarks>
22658             <para>
22659             Returns <c>true</c> if the <paramref name="sourceType"/> is
22660             the <see cref="T:System.String"/> type.
22661             </para>
22662             </remarks>
22663         </member>
22664         <member name="M:log4net.Util.TypeConverters.IPAddressConverter.ConvertFrom(System.Object)">
22665             <summary>
22666             Overrides the ConvertFrom method of IConvertFrom.
22667             </summary>
22668             <param name="source">the object to convert to an IPAddress</param>
22669             <returns>the IPAddress</returns>
22670             <remarks>
22671             <para>
22672             Uses the <see cref="M:System.Net.IPAddress.Parse(System.String)"/> method to convert the
22673             <see cref="T:System.String"/> argument to an <see cref="T:System.Net.IPAddress"/>.
22674             If that fails then the string is resolved as a DNS hostname.
22675             </para>
22676             </remarks>
22677             <exception cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException">
22678             The <paramref name="source"/> object cannot be converted to the
22679             target type. To check for this condition use the <see cref="M:log4net.Util.TypeConverters.IPAddressConverter.CanConvertFrom(System.Type)"/>
22680             method.
22681             </exception>
22682         </member>
22683         <member name="F:log4net.Util.TypeConverters.IPAddressConverter.validIpAddressChars">
22684             <summary>
22685             Valid characters in an IPv4 or IPv6 address string. (Does not support subnets)
22686             </summary>
22687         </member>
22688         <member name="T:log4net.Util.TypeConverters.PatternLayoutConverter">
22689             <summary>
22690             Supports conversion from string to <see cref="T:log4net.Layout.PatternLayout"/> type.
22691             </summary>
22692             <remarks>
22693             <para>
22694             Supports conversion from string to <see cref="T:log4net.Layout.PatternLayout"/> type.
22695             </para>
22696             <para>
22697             The string is used as the <see cref="P:log4net.Layout.PatternLayout.ConversionPattern"/> 
22698             of the <see cref="T:log4net.Layout.PatternLayout"/>.
22699             </para>
22700             </remarks>
22701             <seealso cref="T:log4net.Util.TypeConverters.ConverterRegistry"/>
22702             <seealso cref="T:log4net.Util.TypeConverters.IConvertFrom"/>
22703             <seealso cref="T:log4net.Util.TypeConverters.IConvertTo"/>
22704             <author>Nicko Cadell</author>
22705         </member>
22706         <member name="M:log4net.Util.TypeConverters.PatternLayoutConverter.CanConvertFrom(System.Type)">
22707             <summary>
22708             Can the source type be converted to the type supported by this object
22709             </summary>
22710             <param name="sourceType">the type to convert</param>
22711             <returns>true if the conversion is possible</returns>
22712             <remarks>
22713             <para>
22714             Returns <c>true</c> if the <paramref name="sourceType"/> is
22715             the <see cref="T:System.String"/> type.
22716             </para>
22717             </remarks>
22718         </member>
22719         <member name="M:log4net.Util.TypeConverters.PatternLayoutConverter.ConvertFrom(System.Object)">
22720             <summary>
22721             Overrides the ConvertFrom method of IConvertFrom.
22722             </summary>
22723             <param name="source">the object to convert to a PatternLayout</param>
22724             <returns>the PatternLayout</returns>
22725             <remarks>
22726             <para>
22727             Creates and returns a new <see cref="T:log4net.Layout.PatternLayout"/> using
22728             the <paramref name="source"/> <see cref="T:System.String"/> as the
22729             <see cref="P:log4net.Layout.PatternLayout.ConversionPattern"/>.
22730             </para>
22731             </remarks>
22732             <exception cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException">
22733             The <paramref name="source"/> object cannot be converted to the
22734             target type. To check for this condition use the <see cref="M:log4net.Util.TypeConverters.PatternLayoutConverter.CanConvertFrom(System.Type)"/>
22735             method.
22736             </exception>
22737         </member>
22738         <member name="T:log4net.Util.TypeConverters.PatternStringConverter">
22739             <summary>
22740             Convert between string and <see cref="T:log4net.Util.PatternString"/>
22741             </summary>
22742             <remarks>
22743             <para>
22744             Supports conversion from string to <see cref="T:log4net.Util.PatternString"/> type, 
22745             and from a <see cref="T:log4net.Util.PatternString"/> type to a string.
22746             </para>
22747             <para>
22748             The string is used as the <see cref="P:log4net.Util.PatternString.ConversionPattern"/> 
22749             of the <see cref="T:log4net.Util.PatternString"/>.
22750             </para>
22751             </remarks>
22752             <seealso cref="T:log4net.Util.TypeConverters.ConverterRegistry"/>
22753             <seealso cref="T:log4net.Util.TypeConverters.IConvertFrom"/>
22754             <seealso cref="T:log4net.Util.TypeConverters.IConvertTo"/>
22755             <author>Nicko Cadell</author>
22756         </member>
22757         <member name="M:log4net.Util.TypeConverters.PatternStringConverter.CanConvertTo(System.Type)">
22758             <summary>
22759             Can the target type be converted to the type supported by this object
22760             </summary>
22761             <param name="targetType">A <see cref="T:System.Type"/> that represents the type you want to convert to</param>
22762             <returns>true if the conversion is possible</returns>
22763             <remarks>
22764             <para>
22765             Returns <c>true</c> if the <paramref name="targetType"/> is
22766             assignable from a <see cref="T:System.String"/> type.
22767             </para>
22768             </remarks>
22769         </member>
22770         <member name="M:log4net.Util.TypeConverters.PatternStringConverter.ConvertTo(System.Object,System.Type)">
22771             <summary>
22772             Converts the given value object to the specified type, using the arguments
22773             </summary>
22774             <param name="source">the object to convert</param>
22775             <param name="targetType">The Type to convert the value parameter to</param>
22776             <returns>the converted object</returns>
22777             <remarks>
22778             <para>
22779             Uses the <see cref="M:log4net.Util.PatternString.Format"/> method to convert the
22780             <see cref="T:log4net.Util.PatternString"/> argument to a <see cref="T:System.String"/>.
22781             </para>
22782             </remarks>
22783             <exception cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException">
22784             The <paramref name="source"/> object cannot be converted to the
22785             <paramref name="targetType"/>. To check for this condition use the 
22786             <see cref="M:log4net.Util.TypeConverters.PatternStringConverter.CanConvertTo(System.Type)"/> method.
22787             </exception>
22788         </member>
22789         <member name="M:log4net.Util.TypeConverters.PatternStringConverter.CanConvertFrom(System.Type)">
22790             <summary>
22791             Can the source type be converted to the type supported by this object
22792             </summary>
22793             <param name="sourceType">the type to convert</param>
22794             <returns>true if the conversion is possible</returns>
22795             <remarks>
22796             <para>
22797             Returns <c>true</c> if the <paramref name="sourceType"/> is
22798             the <see cref="T:System.String"/> type.
22799             </para>
22800             </remarks>
22801         </member>
22802         <member name="M:log4net.Util.TypeConverters.PatternStringConverter.ConvertFrom(System.Object)">
22803             <summary>
22804             Overrides the ConvertFrom method of IConvertFrom.
22805             </summary>
22806             <param name="source">the object to convert to a PatternString</param>
22807             <returns>the PatternString</returns>
22808             <remarks>
22809             <para>
22810             Creates and returns a new <see cref="T:log4net.Util.PatternString"/> using
22811             the <paramref name="source"/> <see cref="T:System.String"/> as the
22812             <see cref="P:log4net.Util.PatternString.ConversionPattern"/>.
22813             </para>
22814             </remarks>
22815             <exception cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException">
22816             The <paramref name="source"/> object cannot be converted to the
22817             target type. To check for this condition use the <see cref="M:log4net.Util.TypeConverters.PatternStringConverter.CanConvertFrom(System.Type)"/>
22818             method.
22819             </exception>
22820         </member>
22821         <member name="T:log4net.Util.TypeConverters.TypeConverter">
22822             <summary>
22823             Supports conversion from string to <see cref="T:System.Type"/> type.
22824             </summary>
22825             <remarks>
22826             <para>
22827             Supports conversion from string to <see cref="T:System.Type"/> type.
22828             </para>
22829             </remarks>
22830             <seealso cref="T:log4net.Util.TypeConverters.ConverterRegistry"/>
22831             <seealso cref="T:log4net.Util.TypeConverters.IConvertFrom"/>
22832             <seealso cref="T:log4net.Util.TypeConverters.IConvertTo"/>
22833             <author>Nicko Cadell</author>
22834         </member>
22835         <member name="M:log4net.Util.TypeConverters.TypeConverter.CanConvertFrom(System.Type)">
22836             <summary>
22837             Can the source type be converted to the type supported by this object
22838             </summary>
22839             <param name="sourceType">the type to convert</param>
22840             <returns>true if the conversion is possible</returns>
22841             <remarks>
22842             <para>
22843             Returns <c>true</c> if the <paramref name="sourceType"/> is
22844             the <see cref="T:System.String"/> type.
22845             </para>
22846             </remarks>
22847         </member>
22848         <member name="M:log4net.Util.TypeConverters.TypeConverter.ConvertFrom(System.Object)">
22849             <summary>
22850             Overrides the ConvertFrom method of IConvertFrom.
22851             </summary>
22852             <param name="source">the object to convert to a Type</param>
22853             <returns>the Type</returns>
22854             <remarks>
22855             <para>
22856             Uses the <see cref="M:System.Type.GetType(System.String,System.Boolean)"/> method to convert the
22857             <see cref="T:System.String"/> argument to a <see cref="T:System.Type"/>.
22858             Additional effort is made to locate partially specified types
22859             by searching the loaded assemblies.
22860             </para>
22861             </remarks>
22862             <exception cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException">
22863             The <paramref name="source"/> object cannot be converted to the
22864             target type. To check for this condition use the <see cref="M:log4net.Util.TypeConverters.TypeConverter.CanConvertFrom(System.Type)"/>
22865             method.
22866             </exception>
22867         </member>
22868         <member name="T:log4net.Util.TypeConverters.TypeConverterAttribute">
22869             <summary>
22870             Attribute used to associate a type converter
22871             </summary>
22872             <remarks>
22873             <para>
22874             Class and Interface level attribute that specifies a type converter
22875             to use with the associated type.
22876             </para>
22877             <para>
22878             To associate a type converter with a target type apply a
22879             <c>TypeConverterAttribute</c> to the target type. Specify the
22880             type of the type converter on the attribute.
22881             </para>
22882             </remarks>
22883             <author>Nicko Cadell</author>
22884             <author>Gert Driesen</author>
22885         </member>
22886         <member name="F:log4net.Util.TypeConverters.TypeConverterAttribute.m_typeName">
22887             <summary>
22888             The string type name of the type converter
22889             </summary>
22890         </member>
22891         <member name="M:log4net.Util.TypeConverters.TypeConverterAttribute.#ctor">
22892             <summary>
22893             Default constructor
22894             </summary>
22895             <remarks>
22896             <para>
22897             Default constructor
22898             </para>
22899             </remarks>
22900         </member>
22901         <member name="M:log4net.Util.TypeConverters.TypeConverterAttribute.#ctor(System.String)">
22902             <summary>
22903             Create a new type converter attribute for the specified type name
22904             </summary>
22905             <param name="typeName">The string type name of the type converter</param>
22906             <remarks>
22907             <para>
22908             The type specified must implement the <see cref="T:log4net.Util.TypeConverters.IConvertFrom"/> 
22909             or the <see cref="T:log4net.Util.TypeConverters.IConvertTo"/> interfaces.
22910             </para>
22911             </remarks>
22912         </member>
22913         <member name="M:log4net.Util.TypeConverters.TypeConverterAttribute.#ctor(System.Type)">
22914             <summary>
22915             Create a new type converter attribute for the specified type
22916             </summary>
22917             <param name="converterType">The type of the type converter</param>
22918             <remarks>
22919             <para>
22920             The type specified must implement the <see cref="T:log4net.Util.TypeConverters.IConvertFrom"/> 
22921             or the <see cref="T:log4net.Util.TypeConverters.IConvertTo"/> interfaces.
22922             </para>
22923             </remarks>
22924         </member>
22925         <member name="P:log4net.Util.TypeConverters.TypeConverterAttribute.ConverterTypeName">
22926             <summary>
22927             The string type name of the type converter 
22928             </summary>
22929             <value>
22930             The string type name of the type converter 
22931             </value>
22932             <remarks>
22933             <para>
22934             The type specified must implement the <see cref="T:log4net.Util.TypeConverters.IConvertFrom"/> 
22935             or the <see cref="T:log4net.Util.TypeConverters.IConvertTo"/> interfaces.
22936             </para>
22937             </remarks>
22938         </member>
22939         <member name="T:log4net.Util.AppenderAttachedImpl">
22940             <summary>
22941             A straightforward implementation of the <see cref="T:log4net.Core.IAppenderAttachable"/> interface.
22942             </summary>
22943             <remarks>
22944             <para>
22945             This is the default implementation of the <see cref="T:log4net.Core.IAppenderAttachable"/>
22946             interface. Implementors of the <see cref="T:log4net.Core.IAppenderAttachable"/> interface
22947             should aggregate an instance of this type.
22948             </para>
22949             </remarks>
22950             <author>Nicko Cadell</author>
22951             <author>Gert Driesen</author>
22952         </member>
22953         <member name="M:log4net.Util.AppenderAttachedImpl.#ctor">
22954             <summary>
22955             Constructor
22956             </summary>
22957             <remarks>
22958             <para>
22959             Initializes a new instance of the <see cref="T:log4net.Util.AppenderAttachedImpl"/> class.
22960             </para>
22961             </remarks>
22962         </member>
22963         <member name="M:log4net.Util.AppenderAttachedImpl.AppendLoopOnAppenders(log4net.Core.LoggingEvent)">
22964             <summary>
22965             Append on on all attached appenders.
22966             </summary>
22967             <param name="loggingEvent">The event being logged.</param>
22968             <returns>The number of appenders called.</returns>
22969             <remarks>
22970             <para>
22971             Calls the <see cref="M:log4net.Appender.IAppender.DoAppend(log4net.Core.LoggingEvent)"/> method on all 
22972             attached appenders.
22973             </para>
22974             </remarks>
22975         </member>
22976         <member name="M:log4net.Util.AppenderAttachedImpl.AppendLoopOnAppenders(log4net.Core.LoggingEvent[])">
22977             <summary>
22978             Append on on all attached appenders.
22979             </summary>
22980             <param name="loggingEvents">The array of events being logged.</param>
22981             <returns>The number of appenders called.</returns>
22982             <remarks>
22983             <para>
22984             Calls the <see cref="M:log4net.Appender.IAppender.DoAppend(log4net.Core.LoggingEvent)"/> method on all 
22985             attached appenders.
22986             </para>
22987             </remarks>
22988         </member>
22989         <member name="M:log4net.Util.AppenderAttachedImpl.CallAppend(log4net.Appender.IAppender,log4net.Core.LoggingEvent[])">
22990             <summary>
22991             Calls the DoAppende method on the <see cref="T:log4net.Appender.IAppender"/> with 
22992             the <see cref="T:log4net.Core.LoggingEvent"/> objects supplied.
22993             </summary>
22994             <param name="appender">The appender</param>
22995             <param name="loggingEvents">The events</param>
22996             <remarks>
22997             <para>
22998             If the <paramref name="appender"/> supports the <see cref="T:log4net.Appender.IBulkAppender"/>
22999             interface then the <paramref name="loggingEvents"/> will be passed 
23000             through using that interface. Otherwise the <see cref="T:log4net.Core.LoggingEvent"/>
23001             objects in the array will be passed one at a time.
23002             </para>
23003             </remarks>
23004         </member>
23005         <member name="M:log4net.Util.AppenderAttachedImpl.AddAppender(log4net.Appender.IAppender)">
23006             <summary>
23007             Attaches an appender.
23008             </summary>
23009             <param name="newAppender">The appender to add.</param>
23010             <remarks>
23011             <para>
23012             If the appender is already in the list it won't be added again.
23013             </para>
23014             </remarks>
23015         </member>
23016         <member name="M:log4net.Util.AppenderAttachedImpl.GetAppender(System.String)">
23017             <summary>
23018             Gets an attached appender with the specified name.
23019             </summary>
23020             <param name="name">The name of the appender to get.</param>
23021             <returns>
23022             The appender with the name specified, or <c>null</c> if no appender with the
23023             specified name is found.
23024             </returns>
23025             <remarks>
23026             <para>
23027             Lookup an attached appender by name.
23028             </para>
23029             </remarks>
23030         </member>
23031         <member name="M:log4net.Util.AppenderAttachedImpl.RemoveAllAppenders">
23032             <summary>
23033             Removes all attached appenders.
23034             </summary>
23035             <remarks>
23036             <para>
23037             Removes and closes all attached appenders
23038             </para>
23039             </remarks>
23040         </member>
23041         <member name="M:log4net.Util.AppenderAttachedImpl.RemoveAppender(log4net.Appender.IAppender)">
23042             <summary>
23043             Removes the specified appender from the list of attached appenders.
23044             </summary>
23045             <param name="appender">The appender to remove.</param>
23046             <returns>The appender removed from the list</returns>
23047             <remarks>
23048             <para>
23049             The appender removed is not closed.
23050             If you are discarding the appender you must call
23051             <see cref="M:log4net.Appender.IAppender.Close"/> on the appender removed.
23052             </para>
23053             </remarks>
23054         </member>
23055         <member name="M:log4net.Util.AppenderAttachedImpl.RemoveAppender(System.String)">
23056             <summary>
23057             Removes the appender with the specified name from the list of appenders.
23058             </summary>
23059             <param name="name">The name of the appender to remove.</param>
23060             <returns>The appender removed from the list</returns>
23061             <remarks>
23062             <para>
23063             The appender removed is not closed.
23064             If you are discarding the appender you must call
23065             <see cref="M:log4net.Appender.IAppender.Close"/> on the appender removed.
23066             </para>
23067             </remarks>
23068         </member>
23069         <member name="F:log4net.Util.AppenderAttachedImpl.m_appenderList">
23070             <summary>
23071             List of appenders
23072             </summary>
23073         </member>
23074         <member name="F:log4net.Util.AppenderAttachedImpl.m_appenderArray">
23075             <summary>
23076             Array of appenders, used to cache the m_appenderList
23077             </summary>
23078         </member>
23079         <member name="P:log4net.Util.AppenderAttachedImpl.Appenders">
23080             <summary>
23081             Gets all attached appenders.
23082             </summary>
23083             <returns>
23084             A collection of attached appenders, or <c>null</c> if there
23085             are no attached appenders.
23086             </returns>
23087             <remarks>
23088             <para>
23089             The read only collection of all currently attached appenders.
23090             </para>
23091             </remarks>
23092         </member>
23093         <member name="T:log4net.Util.CompositeProperties">
23094             <summary>
23095             This class aggregates several PropertiesDictionary collections together.
23096             </summary>
23097             <remarks>
23098             <para>
23099             Provides a dictionary style lookup over an ordered list of
23100             <see cref="T:log4net.Util.PropertiesDictionary"/> collections.
23101             </para>
23102             </remarks>
23103             <author>Nicko Cadell</author>
23104         </member>
23105         <member name="M:log4net.Util.CompositeProperties.#ctor">
23106             <summary>
23107             Constructor
23108             </summary>
23109             <remarks>
23110             <para>
23111             Initializes a new instance of the <see cref="T:log4net.Util.CompositeProperties"/> class.
23112             </para>
23113             </remarks>
23114         </member>
23115         <member name="M:log4net.Util.CompositeProperties.Add(log4net.Util.ReadOnlyPropertiesDictionary)">
23116             <summary>
23117             Add a Properties Dictionary to this composite collection
23118             </summary>
23119             <param name="properties">the properties to add</param>
23120             <remarks>
23121             <para>
23122             Properties dictionaries added first take precedence over dictionaries added
23123             later.
23124             </para>
23125             </remarks>
23126         </member>
23127         <member name="M:log4net.Util.CompositeProperties.Flatten">
23128             <summary>
23129             Flatten this composite collection into a single properties dictionary
23130             </summary>
23131             <returns>the flattened dictionary</returns>
23132             <remarks>
23133             <para>
23134             Reduces the collection of ordered dictionaries to a single dictionary
23135             containing the resultant values for the keys.
23136             </para>
23137             </remarks>
23138         </member>
23139         <member name="P:log4net.Util.CompositeProperties.Item(System.String)">
23140             <summary>
23141             Gets the value of a property
23142             </summary>
23143             <value>
23144             The value for the property with the specified key
23145             </value>
23146             <remarks>
23147             <para>
23148             Looks up the value for the <paramref name="key"/> specified.
23149             The <see cref="T:log4net.Util.PropertiesDictionary"/> collections are searched
23150             in the order in which they were added to this collection. The value
23151             returned is the value held by the first collection that contains
23152             the specified key.
23153             </para>
23154             <para>
23155             If none of the collections contain the specified key then
23156             <c>null</c> is returned.
23157             </para>
23158             </remarks>
23159         </member>
23160         <member name="T:log4net.Util.ContextPropertiesBase">
23161             <summary>
23162             Base class for Context Properties implementations
23163             </summary>
23164             <remarks>
23165             <para>
23166             This class defines a basic property get set accessor
23167             </para>
23168             </remarks>
23169             <author>Nicko Cadell</author>
23170         </member>
23171         <member name="P:log4net.Util.ContextPropertiesBase.Item(System.String)">
23172             <summary>
23173             Gets or sets the value of a property
23174             </summary>
23175             <value>
23176             The value for the property with the specified key
23177             </value>
23178             <remarks>
23179             <para>
23180             Gets or sets the value of a property
23181             </para>
23182             </remarks>
23183         </member>
23184         <member name="T:log4net.Util.CountingQuietTextWriter">
23185             <summary>
23186             Subclass of <see cref="T:log4net.Util.QuietTextWriter"/> that maintains a count of 
23187             the number of bytes written.
23188             </summary>
23189             <remarks>
23190             <para>
23191             This writer counts the number of bytes written.
23192             </para>
23193             </remarks>
23194             <author>Nicko Cadell</author>
23195             <author>Gert Driesen</author>
23196         </member>
23197         <member name="T:log4net.Util.QuietTextWriter">
23198             <summary>
23199             <see cref="T:System.IO.TextWriter"/> that does not leak exceptions
23200             </summary>
23201             <remarks>
23202             <para>
23203             <see cref="T:log4net.Util.QuietTextWriter"/> does not throw exceptions when things go wrong. 
23204             Instead, it delegates error handling to its <see cref="T:log4net.Core.IErrorHandler"/>.
23205             </para>
23206             </remarks>
23207             <author>Nicko Cadell</author>
23208             <author>Gert Driesen</author>
23209         </member>
23210         <member name="T:log4net.Util.TextWriterAdapter">
23211             <summary>
23212             Adapter that extends <see cref="T:System.IO.TextWriter"/> and forwards all
23213             messages to an instance of <see cref="T:System.IO.TextWriter"/>.
23214             </summary>
23215             <remarks>
23216             <para>
23217             Adapter that extends <see cref="T:System.IO.TextWriter"/> and forwards all
23218             messages to an instance of <see cref="T:System.IO.TextWriter"/>.
23219             </para>
23220             </remarks>
23221             <author>Nicko Cadell</author>
23222         </member>
23223         <member name="F:log4net.Util.TextWriterAdapter.m_writer">
23224             <summary>
23225             The writer to forward messages to
23226             </summary>
23227         </member>
23228         <member name="M:log4net.Util.TextWriterAdapter.#ctor(System.IO.TextWriter)">
23229             <summary>
23230             Create an instance of <see cref="T:log4net.Util.TextWriterAdapter"/> that forwards all
23231             messages to a <see cref="T:System.IO.TextWriter"/>.
23232             </summary>
23233             <param name="writer">The <see cref="T:System.IO.TextWriter"/> to forward to</param>
23234             <remarks>
23235             <para>
23236             Create an instance of <see cref="T:log4net.Util.TextWriterAdapter"/> that forwards all
23237             messages to a <see cref="T:System.IO.TextWriter"/>.
23238             </para>
23239             </remarks>
23240         </member>
23241         <member name="M:log4net.Util.TextWriterAdapter.Close">
23242             <summary>
23243             Closes the writer and releases any system resources associated with the writer
23244             </summary>
23245             <remarks>
23246             <para>
23247             </para>
23248             </remarks>
23249         </member>
23250         <member name="M:log4net.Util.TextWriterAdapter.Dispose(System.Boolean)">
23251             <summary>
23252             Dispose this writer
23253             </summary>
23254             <param name="disposing">flag indicating if we are being disposed</param>
23255             <remarks>
23256             <para>
23257             Dispose this writer
23258             </para>
23259             </remarks>
23260         </member>
23261         <member name="M:log4net.Util.TextWriterAdapter.Flush">
23262             <summary>
23263             Flushes any buffered output
23264             </summary>
23265             <remarks>
23266             <para>
23267             Clears all buffers for the writer and causes any buffered data to be written 
23268             to the underlying device
23269             </para>
23270             </remarks>
23271         </member>
23272         <member name="M:log4net.Util.TextWriterAdapter.Write(System.Char)">
23273             <summary>
23274             Writes a character to the wrapped TextWriter
23275             </summary>
23276             <param name="value">the value to write to the TextWriter</param>
23277             <remarks>
23278             <para>
23279             Writes a character to the wrapped TextWriter
23280             </para>
23281             </remarks>
23282         </member>
23283         <member name="M:log4net.Util.TextWriterAdapter.Write(System.Char[],System.Int32,System.Int32)">
23284             <summary>
23285             Writes a character buffer to the wrapped TextWriter
23286             </summary>
23287             <param name="buffer">the data buffer</param>
23288             <param name="index">the start index</param>
23289             <param name="count">the number of characters to write</param>
23290             <remarks>
23291             <para>
23292             Writes a character buffer to the wrapped TextWriter
23293             </para>
23294             </remarks>
23295         </member>
23296         <member name="M:log4net.Util.TextWriterAdapter.Write(System.String)">
23297             <summary>
23298             Writes a string to the wrapped TextWriter
23299             </summary>
23300             <param name="value">the value to write to the TextWriter</param>
23301             <remarks>
23302             <para>
23303             Writes a string to the wrapped TextWriter
23304             </para>
23305             </remarks>
23306         </member>
23307         <member name="P:log4net.Util.TextWriterAdapter.Writer">
23308             <summary>
23309             Gets or sets the underlying <see cref="T:System.IO.TextWriter"/>.
23310             </summary>
23311             <value>
23312             The underlying <see cref="T:System.IO.TextWriter"/>.
23313             </value>
23314             <remarks>
23315             <para>
23316             Gets or sets the underlying <see cref="T:System.IO.TextWriter"/>.
23317             </para>
23318             </remarks>
23319         </member>
23320         <member name="P:log4net.Util.TextWriterAdapter.Encoding">
23321             <summary>
23322             The Encoding in which the output is written
23323             </summary>
23324             <value>
23325             The <see cref="P:log4net.Util.TextWriterAdapter.Encoding"/>
23326             </value>
23327             <remarks>
23328             <para>
23329             The Encoding in which the output is written
23330             </para>
23331             </remarks>
23332         </member>
23333         <member name="P:log4net.Util.TextWriterAdapter.FormatProvider">
23334             <summary>
23335             Gets an object that controls formatting
23336             </summary>
23337             <value>
23338             The format provider
23339             </value>
23340             <remarks>
23341             <para>
23342             Gets an object that controls formatting
23343             </para>
23344             </remarks>
23345         </member>
23346         <member name="P:log4net.Util.TextWriterAdapter.NewLine">
23347             <summary>
23348             Gets or sets the line terminator string used by the TextWriter
23349             </summary>
23350             <value>
23351             The line terminator to use
23352             </value>
23353             <remarks>
23354             <para>
23355             Gets or sets the line terminator string used by the TextWriter
23356             </para>
23357             </remarks>
23358         </member>
23359         <member name="M:log4net.Util.QuietTextWriter.#ctor(System.IO.TextWriter,log4net.Core.IErrorHandler)">
23360             <summary>
23361             Constructor
23362             </summary>
23363             <param name="writer">the writer to actually write to</param>
23364             <param name="errorHandler">the error handler to report error to</param>
23365             <remarks>
23366             <para>
23367             Create a new QuietTextWriter using a writer and error handler
23368             </para>
23369             </remarks>
23370         </member>
23371         <member name="M:log4net.Util.QuietTextWriter.Write(System.Char)">
23372             <summary>
23373             Writes a character to the underlying writer
23374             </summary>
23375             <param name="value">the char to write</param>
23376             <remarks>
23377             <para>
23378             Writes a character to the underlying writer
23379             </para>
23380             </remarks>
23381         </member>
23382         <member name="M:log4net.Util.QuietTextWriter.Write(System.Char[],System.Int32,System.Int32)">
23383             <summary>
23384             Writes a buffer to the underlying writer
23385             </summary>
23386             <param name="buffer">the buffer to write</param>
23387             <param name="index">the start index to write from</param>
23388             <param name="count">the number of characters to write</param>
23389             <remarks>
23390             <para>
23391             Writes a buffer to the underlying writer
23392             </para>
23393             </remarks>
23394         </member>
23395         <member name="M:log4net.Util.QuietTextWriter.Write(System.String)">
23396             <summary>
23397             Writes a string to the output.
23398             </summary>
23399             <param name="value">The string data to write to the output.</param>
23400             <remarks>
23401             <para>
23402             Writes a string to the output.
23403             </para>
23404             </remarks>
23405         </member>
23406         <member name="M:log4net.Util.QuietTextWriter.Close">
23407             <summary>
23408             Closes the underlying output writer.
23409             </summary>
23410             <remarks>
23411             <para>
23412             Closes the underlying output writer.
23413             </para>
23414             </remarks>
23415         </member>
23416         <member name="F:log4net.Util.QuietTextWriter.m_errorHandler">
23417             <summary>
23418             The error handler instance to pass all errors to
23419             </summary>
23420         </member>
23421         <member name="F:log4net.Util.QuietTextWriter.m_closed">
23422             <summary>
23423             Flag to indicate if this writer is closed
23424             </summary>
23425         </member>
23426         <member name="P:log4net.Util.QuietTextWriter.ErrorHandler">
23427             <summary>
23428             Gets or sets the error handler that all errors are passed to.
23429             </summary>
23430             <value>
23431             The error handler that all errors are passed to.
23432             </value>
23433             <remarks>
23434             <para>
23435             Gets or sets the error handler that all errors are passed to.
23436             </para>
23437             </remarks>
23438         </member>
23439         <member name="P:log4net.Util.QuietTextWriter.Closed">
23440             <summary>
23441             Gets a value indicating whether this writer is closed.
23442             </summary>
23443             <value>
23444             <c>true</c> if this writer is closed, otherwise <c>false</c>.
23445             </value>
23446             <remarks>
23447             <para>
23448             Gets a value indicating whether this writer is closed.
23449             </para>
23450             </remarks>
23451         </member>
23452         <member name="M:log4net.Util.CountingQuietTextWriter.#ctor(System.IO.TextWriter,log4net.Core.IErrorHandler)">
23453             <summary>
23454             Constructor
23455             </summary>
23456             <param name="writer">The <see cref="T:System.IO.TextWriter"/> to actually write to.</param>
23457             <param name="errorHandler">The <see cref="T:log4net.Core.IErrorHandler"/> to report errors to.</param>
23458             <remarks>
23459             <para>
23460             Creates a new instance of the <see cref="T:log4net.Util.CountingQuietTextWriter"/> class 
23461             with the specified <see cref="T:System.IO.TextWriter"/> and <see cref="T:log4net.Core.IErrorHandler"/>.
23462             </para>
23463             </remarks>
23464         </member>
23465         <member name="M:log4net.Util.CountingQuietTextWriter.Write(System.Char)">
23466             <summary>
23467             Writes a character to the underlying writer and counts the number of bytes written.
23468             </summary>
23469             <param name="value">the char to write</param>
23470             <remarks>
23471             <para>
23472             Overrides implementation of <see cref="T:log4net.Util.QuietTextWriter"/>. Counts
23473             the number of bytes written.
23474             </para>
23475             </remarks>
23476         </member>
23477         <member name="M:log4net.Util.CountingQuietTextWriter.Write(System.Char[],System.Int32,System.Int32)">
23478             <summary>
23479             Writes a buffer to the underlying writer and counts the number of bytes written.
23480             </summary>
23481             <param name="buffer">the buffer to write</param>
23482             <param name="index">the start index to write from</param>
23483             <param name="count">the number of characters to write</param>
23484             <remarks>
23485             <para>
23486             Overrides implementation of <see cref="T:log4net.Util.QuietTextWriter"/>. Counts
23487             the number of bytes written.
23488             </para>
23489             </remarks>
23490         </member>
23491         <member name="M:log4net.Util.CountingQuietTextWriter.Write(System.String)">
23492             <summary>
23493             Writes a string to the output and counts the number of bytes written.
23494             </summary>
23495             <param name="str">The string data to write to the output.</param>
23496             <remarks>
23497             <para>
23498             Overrides implementation of <see cref="T:log4net.Util.QuietTextWriter"/>. Counts
23499             the number of bytes written.
23500             </para>
23501             </remarks>
23502         </member>
23503         <member name="F:log4net.Util.CountingQuietTextWriter.m_countBytes">
23504             <summary>
23505             Total number of bytes written.
23506             </summary>
23507         </member>
23508         <member name="P:log4net.Util.CountingQuietTextWriter.Count">
23509             <summary>
23510             Gets or sets the total number of bytes written.
23511             </summary>
23512             <value>
23513             The total number of bytes written.
23514             </value>
23515             <remarks>
23516             <para>
23517             Gets or sets the total number of bytes written.
23518             </para>
23519             </remarks>
23520         </member>
23521         <member name="T:log4net.Util.CyclicBuffer">
23522             <summary>
23523             A fixed size rolling buffer of logging events.
23524             </summary>
23525             <remarks>
23526             <para>
23527             An array backed fixed size leaky bucket.
23528             </para>
23529             </remarks>
23530             <author>Nicko Cadell</author>
23531             <author>Gert Driesen</author>
23532         </member>
23533         <member name="M:log4net.Util.CyclicBuffer.#ctor(System.Int32)">
23534             <summary>
23535             Constructor
23536             </summary>
23537             <param name="maxSize">The maximum number of logging events in the buffer.</param>
23538             <remarks>
23539             <para>
23540             Initializes a new instance of the <see cref="T:log4net.Util.CyclicBuffer"/> class with 
23541             the specified maximum number of buffered logging events.
23542             </para>
23543             </remarks>
23544             <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="maxSize"/> argument is not a positive integer.</exception>
23545         </member>
23546         <member name="M:log4net.Util.CyclicBuffer.Append(log4net.Core.LoggingEvent)">
23547             <summary>
23548             Appends a <paramref name="loggingEvent"/> to the buffer.
23549             </summary>
23550             <param name="loggingEvent">The event to append to the buffer.</param>
23551             <returns>The event discarded from the buffer, if the buffer is full, otherwise <c>null</c>.</returns>
23552             <remarks>
23553             <para>
23554             Append an event to the buffer. If the buffer still contains free space then
23555             <c>null</c> is returned. If the buffer is full then an event will be dropped
23556             to make space for the new event, the event dropped is returned.
23557             </para>
23558             </remarks>
23559         </member>
23560         <member name="M:log4net.Util.CyclicBuffer.PopOldest">
23561             <summary>
23562             Get and remove the oldest event in the buffer.
23563             </summary>
23564             <returns>The oldest logging event in the buffer</returns>
23565             <remarks>
23566             <para>
23567             Gets the oldest (first) logging event in the buffer and removes it 
23568             from the buffer.
23569             </para>
23570             </remarks>
23571         </member>
23572         <member name="M:log4net.Util.CyclicBuffer.PopAll">
23573             <summary>
23574             Pops all the logging events from the buffer into an array.
23575             </summary>
23576             <returns>An array of all the logging events in the buffer.</returns>
23577             <remarks>
23578             <para>
23579             Get all the events in the buffer and clear the buffer.
23580             </para>
23581             </remarks>
23582         </member>
23583         <member name="M:log4net.Util.CyclicBuffer.Clear">
23584             <summary>
23585             Clear the buffer
23586             </summary>
23587             <remarks>
23588             <para>
23589             Clear the buffer of all events. The events in the buffer are lost.
23590             </para>
23591             </remarks>
23592         </member>
23593         <member name="P:log4net.Util.CyclicBuffer.Item(System.Int32)">
23594             <summary>
23595             Gets the <paramref name="i"/>th oldest event currently in the buffer.
23596             </summary>
23597             <value>The <paramref name="i"/>th oldest event currently in the buffer.</value>
23598             <remarks>
23599             <para>
23600             If <paramref name="i"/> is outside the range 0 to the number of events
23601             currently in the buffer, then <c>null</c> is returned.
23602             </para>
23603             </remarks>
23604         </member>
23605         <member name="P:log4net.Util.CyclicBuffer.MaxSize">
23606             <summary>
23607             Gets the maximum size of the buffer.
23608             </summary>
23609             <value>The maximum size of the buffer.</value>
23610             <remarks>
23611             <para>
23612             Gets the maximum size of the buffer
23613             </para>
23614             </remarks>
23615         </member>
23616         <member name="P:log4net.Util.CyclicBuffer.Length">
23617             <summary>
23618             Gets the number of logging events in the buffer.
23619             </summary>
23620             <value>The number of logging events in the buffer.</value>
23621             <remarks>
23622             <para>
23623             This number is guaranteed to be in the range 0 to <see cref="P:log4net.Util.CyclicBuffer.MaxSize"/>
23624             (inclusive).
23625             </para>
23626             </remarks>
23627         </member>
23628         <member name="T:log4net.Util.EmptyCollection">
23629             <summary>
23630             An always empty <see cref="T:System.Collections.ICollection"/>.
23631             </summary>
23632             <remarks>
23633             <para>
23634             A singleton implementation of the <see cref="T:System.Collections.ICollection"/>
23635             interface that always represents an empty collection.
23636             </para>
23637             </remarks>
23638             <author>Nicko Cadell</author>
23639             <author>Gert Driesen</author>
23640         </member>
23641         <member name="M:log4net.Util.EmptyCollection.#ctor">
23642             <summary>
23643             Initializes a new instance of the <see cref="T:log4net.Util.EmptyCollection"/> class. 
23644             </summary>
23645             <remarks>
23646             <para>
23647             Uses a private access modifier to enforce the singleton pattern.
23648             </para>
23649             </remarks>
23650         </member>
23651         <member name="M:log4net.Util.EmptyCollection.CopyTo(System.Array,System.Int32)">
23652             <summary>
23653             Copies the elements of the <see cref="T:System.Collections.ICollection"/> to an 
23654             <see cref="T:System.Array"/>, starting at a particular Array index.
23655             </summary>
23656             <param name="array">The one-dimensional <see cref="T:System.Array"/> 
23657             that is the destination of the elements copied from 
23658             <see cref="T:System.Collections.ICollection"/>. The Array must have zero-based 
23659             indexing.</param>
23660             <param name="index">The zero-based index in array at which 
23661             copying begins.</param>
23662             <remarks>
23663             <para>
23664             As the collection is empty no values are copied into the array.
23665             </para>
23666             </remarks>
23667         </member>
23668         <member name="M:log4net.Util.EmptyCollection.GetEnumerator">
23669             <summary>
23670             Returns an enumerator that can iterate through a collection.
23671             </summary>
23672             <returns>
23673             An <see cref="T:System.Collections.IEnumerator"/> that can be used to 
23674             iterate through the collection.
23675             </returns>
23676             <remarks>
23677             <para>
23678             As the collection is empty a <see cref="T:log4net.Util.NullEnumerator"/> is returned.
23679             </para>
23680             </remarks>
23681         </member>
23682         <member name="F:log4net.Util.EmptyCollection.s_instance">
23683             <summary>
23684             The singleton instance of the empty collection.
23685             </summary>
23686         </member>
23687         <member name="P:log4net.Util.EmptyCollection.Instance">
23688             <summary>
23689             Gets the singleton instance of the empty collection.
23690             </summary>
23691             <returns>The singleton instance of the empty collection.</returns>
23692             <remarks>
23693             <para>
23694             Gets the singleton instance of the empty collection.
23695             </para>
23696             </remarks>
23697         </member>
23698         <member name="P:log4net.Util.EmptyCollection.IsSynchronized">
23699             <summary>
23700             Gets a value indicating if access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread-safe).
23701             </summary>
23702             <value>
23703             <b>true</b> if access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread-safe); otherwise, <b>false</b>.
23704             </value>
23705             <remarks>
23706             <para>
23707             For the <see cref="T:log4net.Util.EmptyCollection"/> this property is always <c>true</c>.
23708             </para>
23709             </remarks>
23710         </member>
23711         <member name="P:log4net.Util.EmptyCollection.Count">
23712             <summary>
23713             Gets the number of elements contained in the <see cref="T:System.Collections.ICollection"/>.
23714             </summary>
23715             <value>
23716             The number of elements contained in the <see cref="T:System.Collections.ICollection"/>.
23717             </value>
23718             <remarks>
23719             <para>
23720             As the collection is empty the <see cref="P:log4net.Util.EmptyCollection.Count"/> is always <c>0</c>.
23721             </para>
23722             </remarks>
23723         </member>
23724         <member name="P:log4net.Util.EmptyCollection.SyncRoot">
23725             <summary>
23726             Gets an object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.
23727             </summary>
23728             <value>
23729             An object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.
23730             </value>
23731             <remarks>
23732             <para>
23733             As the collection is empty and thread safe and synchronized this instance is also
23734             the <see cref="P:log4net.Util.EmptyCollection.SyncRoot"/> object.
23735             </para>
23736             </remarks>
23737         </member>
23738         <member name="T:log4net.Util.EmptyDictionary">
23739             <summary>
23740             An always empty <see cref="T:System.Collections.IDictionary"/>.
23741             </summary>
23742             <remarks>
23743             <para>
23744             A singleton implementation of the <see cref="T:System.Collections.IDictionary"/>
23745             interface that always represents an empty collection.
23746             </para>
23747             </remarks>
23748             <author>Nicko Cadell</author>
23749             <author>Gert Driesen</author>
23750         </member>
23751         <member name="M:log4net.Util.EmptyDictionary.#ctor">
23752             <summary>
23753             Initializes a new instance of the <see cref="T:log4net.Util.EmptyDictionary"/> class. 
23754             </summary>
23755             <remarks>
23756             <para>
23757             Uses a private access modifier to enforce the singleton pattern.
23758             </para>
23759             </remarks>
23760         </member>
23761         <member name="M:log4net.Util.EmptyDictionary.CopyTo(System.Array,System.Int32)">
23762             <summary>
23763             Copies the elements of the <see cref="T:System.Collections.ICollection"/> to an 
23764             <see cref="T:System.Array"/>, starting at a particular Array index.
23765             </summary>
23766             <param name="array">The one-dimensional <see cref="T:System.Array"/> 
23767             that is the destination of the elements copied from 
23768             <see cref="T:System.Collections.ICollection"/>. The Array must have zero-based 
23769             indexing.</param>
23770             <param name="index">The zero-based index in array at which 
23771             copying begins.</param>
23772             <remarks>
23773             <para>
23774             As the collection is empty no values are copied into the array.
23775             </para>
23776             </remarks>
23777         </member>
23778         <member name="M:log4net.Util.EmptyDictionary.System#Collections#IEnumerable#GetEnumerator">
23779             <summary>
23780             Returns an enumerator that can iterate through a collection.
23781             </summary>
23782             <returns>
23783             An <see cref="T:System.Collections.IEnumerator"/> that can be used to 
23784             iterate through the collection.
23785             </returns>
23786             <remarks>
23787             <para>
23788             As the collection is empty a <see cref="T:log4net.Util.NullEnumerator"/> is returned.
23789             </para>
23790             </remarks>
23791         </member>
23792         <member name="M:log4net.Util.EmptyDictionary.Add(System.Object,System.Object)">
23793             <summary>
23794             Adds an element with the provided key and value to the 
23795             <see cref="T:log4net.Util.EmptyDictionary"/>.
23796             </summary>
23797             <param name="key">The <see cref="T:System.Object"/> to use as the key of the element to add.</param>
23798             <param name="value">The <see cref="T:System.Object"/> to use as the value of the element to add.</param>
23799             <remarks>
23800             <para>
23801             As the collection is empty no new values can be added. A <see cref="T:System.InvalidOperationException"/>
23802             is thrown if this method is called.
23803             </para>
23804             </remarks>
23805             <exception cref="T:System.InvalidOperationException">This dictionary is always empty and cannot be modified.</exception>
23806         </member>
23807         <member name="M:log4net.Util.EmptyDictionary.Clear">
23808             <summary>
23809             Removes all elements from the <see cref="T:log4net.Util.EmptyDictionary"/>.
23810             </summary>
23811             <remarks>
23812             <para>
23813             As the collection is empty no values can be removed. A <see cref="T:System.InvalidOperationException"/>
23814             is thrown if this method is called.
23815             </para>
23816             </remarks>
23817             <exception cref="T:System.InvalidOperationException">This dictionary is always empty and cannot be modified.</exception>
23818         </member>
23819         <member name="M:log4net.Util.EmptyDictionary.Contains(System.Object)">
23820             <summary>
23821             Determines whether the <see cref="T:log4net.Util.EmptyDictionary"/> contains an element 
23822             with the specified key.
23823             </summary>
23824             <param name="key">The key to locate in the <see cref="T:log4net.Util.EmptyDictionary"/>.</param>
23825             <returns><c>false</c></returns>
23826             <remarks>
23827             <para>
23828             As the collection is empty the <see cref="M:log4net.Util.EmptyDictionary.Contains(System.Object)"/> method always returns <c>false</c>.
23829             </para>
23830             </remarks>
23831         </member>
23832         <member name="M:log4net.Util.EmptyDictionary.GetEnumerator">
23833             <summary>
23834             Returns an enumerator that can iterate through a collection.
23835             </summary>
23836             <returns>
23837             An <see cref="T:System.Collections.IEnumerator"/> that can be used to 
23838             iterate through the collection.
23839             </returns>
23840             <remarks>
23841             <para>
23842             As the collection is empty a <see cref="T:log4net.Util.NullEnumerator"/> is returned.
23843             </para>
23844             </remarks>
23845         </member>
23846         <member name="M:log4net.Util.EmptyDictionary.Remove(System.Object)">
23847             <summary>
23848             Removes the element with the specified key from the <see cref="T:log4net.Util.EmptyDictionary"/>.
23849             </summary>
23850             <param name="key">The key of the element to remove.</param>
23851             <remarks>
23852             <para>
23853             As the collection is empty no values can be removed. A <see cref="T:System.InvalidOperationException"/>
23854             is thrown if this method is called.
23855             </para>
23856             </remarks>
23857             <exception cref="T:System.InvalidOperationException">This dictionary is always empty and cannot be modified.</exception>
23858         </member>
23859         <member name="F:log4net.Util.EmptyDictionary.s_instance">
23860             <summary>
23861             The singleton instance of the empty dictionary.
23862             </summary>
23863         </member>
23864         <member name="P:log4net.Util.EmptyDictionary.Instance">
23865             <summary>
23866             Gets the singleton instance of the <see cref="T:log4net.Util.EmptyDictionary"/>.
23867             </summary>
23868             <returns>The singleton instance of the <see cref="T:log4net.Util.EmptyDictionary"/>.</returns>
23869             <remarks>
23870             <para>
23871             Gets the singleton instance of the <see cref="T:log4net.Util.EmptyDictionary"/>.
23872             </para>
23873             </remarks>
23874         </member>
23875         <member name="P:log4net.Util.EmptyDictionary.IsSynchronized">
23876             <summary>
23877             Gets a value indicating if access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread-safe).
23878             </summary>
23879             <value>
23880             <b>true</b> if access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread-safe); otherwise, <b>false</b>.
23881             </value>
23882             <remarks>
23883             <para>
23884             For the <see cref="T:log4net.Util.EmptyCollection"/> this property is always <b>true</b>.
23885             </para>
23886             </remarks>
23887         </member>
23888         <member name="P:log4net.Util.EmptyDictionary.Count">
23889             <summary>
23890             Gets the number of elements contained in the <see cref="T:System.Collections.ICollection"/>
23891             </summary>
23892             <value>
23893             The number of elements contained in the <see cref="T:System.Collections.ICollection"/>.
23894             </value>
23895             <remarks>
23896             <para>
23897             As the collection is empty the <see cref="P:log4net.Util.EmptyDictionary.Count"/> is always <c>0</c>.
23898             </para>
23899             </remarks>
23900         </member>
23901         <member name="P:log4net.Util.EmptyDictionary.SyncRoot">
23902             <summary>
23903             Gets an object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.
23904             </summary>
23905             <value>
23906             An object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.
23907             </value>
23908             <remarks>
23909             <para>
23910             As the collection is empty and thread safe and synchronized this instance is also
23911             the <see cref="P:log4net.Util.EmptyDictionary.SyncRoot"/> object.
23912             </para>
23913             </remarks>
23914         </member>
23915         <member name="P:log4net.Util.EmptyDictionary.IsFixedSize">
23916             <summary>
23917             Gets a value indicating whether the <see cref="T:log4net.Util.EmptyDictionary"/> has a fixed size.
23918             </summary>
23919             <value><c>true</c></value>
23920             <remarks>
23921             <para>
23922             As the collection is empty <see cref="P:log4net.Util.EmptyDictionary.IsFixedSize"/> always returns <c>true</c>.
23923             </para>
23924             </remarks>
23925         </member>
23926         <member name="P:log4net.Util.EmptyDictionary.IsReadOnly">
23927             <summary>
23928             Gets a value indicating whether the <see cref="T:log4net.Util.EmptyDictionary"/> is read-only.
23929             </summary>
23930             <value><c>true</c></value>
23931             <remarks>
23932             <para>
23933             As the collection is empty <see cref="P:log4net.Util.EmptyDictionary.IsReadOnly"/> always returns <c>true</c>.
23934             </para>
23935             </remarks>
23936         </member>
23937         <member name="P:log4net.Util.EmptyDictionary.Keys">
23938             <summary>
23939             Gets an <see cref="T:System.Collections.ICollection"/> containing the keys of the <see cref="T:log4net.Util.EmptyDictionary"/>.
23940             </summary>
23941             <value>An <see cref="T:System.Collections.ICollection"/> containing the keys of the <see cref="T:log4net.Util.EmptyDictionary"/>.</value>
23942             <remarks>
23943             <para>
23944             As the collection is empty a <see cref="T:log4net.Util.EmptyCollection"/> is returned.
23945             </para>
23946             </remarks>
23947         </member>
23948         <member name="P:log4net.Util.EmptyDictionary.Values">
23949             <summary>
23950             Gets an <see cref="T:System.Collections.ICollection"/> containing the values of the <see cref="T:log4net.Util.EmptyDictionary"/>.
23951             </summary>
23952             <value>An <see cref="T:System.Collections.ICollection"/> containing the values of the <see cref="T:log4net.Util.EmptyDictionary"/>.</value>
23953             <remarks>
23954             <para>
23955             As the collection is empty a <see cref="T:log4net.Util.EmptyCollection"/> is returned.
23956             </para>
23957             </remarks>
23958         </member>
23959         <member name="P:log4net.Util.EmptyDictionary.Item(System.Object)">
23960             <summary>
23961             Gets or sets the element with the specified key.
23962             </summary>
23963             <param name="key">The key of the element to get or set.</param>
23964             <value><c>null</c></value>
23965             <remarks>
23966             <para>
23967             As the collection is empty no values can be looked up or stored. 
23968             If the index getter is called then <c>null</c> is returned.
23969             A <see cref="T:System.InvalidOperationException"/> is thrown if the setter is called.
23970             </para>
23971             </remarks>
23972             <exception cref="T:System.InvalidOperationException">This dictionary is always empty and cannot be modified.</exception>
23973         </member>
23974         <member name="T:log4net.Util.FormattingInfo">
23975             <summary>
23976             Contain the information obtained when parsing formatting modifiers 
23977             in conversion modifiers.
23978             </summary>
23979             <remarks>
23980             <para>
23981             Holds the formatting information extracted from the format string by
23982             the <see cref="T:log4net.Util.PatternParser"/>. This is used by the <see cref="T:log4net.Util.PatternConverter"/>
23983             objects when rendering the output.
23984             </para>
23985             </remarks>
23986             <author>Nicko Cadell</author>
23987             <author>Gert Driesen</author>
23988         </member>
23989         <member name="M:log4net.Util.FormattingInfo.#ctor">
23990             <summary>
23991             Defaut Constructor
23992             </summary>
23993             <remarks>
23994             <para>
23995             Initializes a new instance of the <see cref="T:log4net.Util.FormattingInfo"/> class.
23996             </para>
23997             </remarks>
23998         </member>
23999         <member name="M:log4net.Util.FormattingInfo.#ctor(System.Int32,System.Int32,System.Boolean)">
24000             <summary>
24001             Constructor
24002             </summary>
24003             <remarks>
24004             <para>
24005             Initializes a new instance of the <see cref="T:log4net.Util.FormattingInfo"/> class
24006             with the specified parameters.
24007             </para>
24008             </remarks>
24009         </member>
24010         <member name="P:log4net.Util.FormattingInfo.Min">
24011             <summary>
24012             Gets or sets the minimum value.
24013             </summary>
24014             <value>
24015             The minimum value.
24016             </value>
24017             <remarks>
24018             <para>
24019             Gets or sets the minimum value.
24020             </para>
24021             </remarks>
24022         </member>
24023         <member name="P:log4net.Util.FormattingInfo.Max">
24024             <summary>
24025             Gets or sets the maximum value.
24026             </summary>
24027             <value>
24028             The maximum value.
24029             </value>
24030             <remarks>
24031             <para>
24032             Gets or sets the maximum value.
24033             </para>
24034             </remarks>
24035         </member>
24036         <member name="P:log4net.Util.FormattingInfo.LeftAlign">
24037             <summary>
24038             Gets or sets a flag indicating whether left align is enabled
24039             or not.
24040             </summary>
24041             <value>
24042             A flag indicating whether left align is enabled or not.
24043             </value>
24044             <remarks>
24045             <para>
24046             Gets or sets a flag indicating whether left align is enabled or not.
24047             </para>
24048             </remarks>
24049         </member>
24050         <member name="T:log4net.Util.GlobalContextProperties">
24051             <summary>
24052             Implementation of Properties collection for the <see cref="T:log4net.GlobalContext"/>
24053             </summary>
24054             <remarks>
24055             <para>
24056             This class implements a properties collection that is thread safe and supports both
24057             storing properties and capturing a read only copy of the current propertied.
24058             </para>
24059             <para>
24060             This class is optimized to the scenario where the properties are read frequently
24061             and are modified infrequently.
24062             </para>
24063             </remarks>
24064             <author>Nicko Cadell</author>
24065         </member>
24066         <member name="F:log4net.Util.GlobalContextProperties.m_readOnlyProperties">
24067             <summary>
24068             The read only copy of the properties.
24069             </summary>
24070             <remarks>
24071             <para>
24072             This variable is declared <c>volatile</c> to prevent the compiler and JIT from
24073             reordering reads and writes of this thread performed on different threads.
24074             </para>
24075             </remarks>
24076         </member>
24077         <member name="F:log4net.Util.GlobalContextProperties.m_syncRoot">
24078             <summary>
24079             Lock object used to synchronize updates within this instance
24080             </summary>
24081         </member>
24082         <member name="M:log4net.Util.GlobalContextProperties.#ctor">
24083             <summary>
24084             Constructor
24085             </summary>
24086             <remarks>
24087             <para>
24088             Initializes a new instance of the <see cref="T:log4net.Util.GlobalContextProperties"/> class.
24089             </para>
24090             </remarks>
24091         </member>
24092         <member name="M:log4net.Util.GlobalContextProperties.Remove(System.String)">
24093             <summary>
24094             Remove a property from the global context
24095             </summary>
24096             <param name="key">the key for the entry to remove</param>
24097             <remarks>
24098             <para>
24099             Removing an entry from the global context properties is relatively expensive compared
24100             with reading a value. 
24101             </para>
24102             </remarks>
24103         </member>
24104         <member name="M:log4net.Util.GlobalContextProperties.Clear">
24105             <summary>
24106             Clear the global context properties
24107             </summary>
24108         </member>
24109         <member name="M:log4net.Util.GlobalContextProperties.GetReadOnlyProperties">
24110             <summary>
24111             Get a readonly immutable copy of the properties
24112             </summary>
24113             <returns>the current global context properties</returns>
24114             <remarks>
24115             <para>
24116             This implementation is fast because the GlobalContextProperties class
24117             stores a readonly copy of the properties.
24118             </para>
24119             </remarks>
24120         </member>
24121         <member name="P:log4net.Util.GlobalContextProperties.Item(System.String)">
24122             <summary>
24123             Gets or sets the value of a property
24124             </summary>
24125             <value>
24126             The value for the property with the specified key
24127             </value>
24128             <remarks>
24129             <para>
24130             Reading the value for a key is faster than setting the value.
24131             When the value is written a new read only copy of 
24132             the properties is created.
24133             </para>
24134             </remarks>
24135         </member>
24136         <member name="T:log4net.Util.LevelMapping">
24137             <summary>
24138             Manages a mapping from levels to <see cref="T:log4net.Util.LevelMappingEntry"/>
24139             </summary>
24140             <remarks>
24141             <para>
24142             Manages an ordered mapping from <see cref="T:log4net.Core.Level"/> instances 
24143             to <see cref="T:log4net.Util.LevelMappingEntry"/> subclasses.
24144             </para>
24145             </remarks>
24146             <author>Nicko Cadell</author>
24147         </member>
24148         <member name="M:log4net.Util.LevelMapping.#ctor">
24149             <summary>
24150             Default constructor
24151             </summary>
24152             <remarks>
24153             <para>
24154             Initialise a new instance of <see cref="T:log4net.Util.LevelMapping"/>.
24155             </para>
24156             </remarks>
24157         </member>
24158         <member name="M:log4net.Util.LevelMapping.Add(log4net.Util.LevelMappingEntry)">
24159             <summary>
24160             Add a <see cref="T:log4net.Util.LevelMappingEntry"/> to this mapping
24161             </summary>
24162             <param name="entry">the entry to add</param>
24163             <remarks>
24164             <para>
24165             If a <see cref="T:log4net.Util.LevelMappingEntry"/> has previously been added
24166             for the same <see cref="T:log4net.Core.Level"/> then that entry will be 
24167             overwritten.
24168             </para>
24169             </remarks>
24170         </member>
24171         <member name="M:log4net.Util.LevelMapping.Lookup(log4net.Core.Level)">
24172             <summary>
24173             Lookup the mapping for the specified level
24174             </summary>
24175             <param name="level">the level to lookup</param>
24176             <returns>the <see cref="T:log4net.Util.LevelMappingEntry"/> for the level or <c>null</c> if no mapping found</returns>
24177             <remarks>
24178             <para>
24179             Lookup the value for the specified level. Finds the nearest
24180             mapping value for the level that is equal to or less than the
24181             <paramref name="level"/> specified.
24182             </para>
24183             <para>
24184             If no mapping could be found then <c>null</c> is returned.
24185             </para>
24186             </remarks>
24187         </member>
24188         <member name="M:log4net.Util.LevelMapping.ActivateOptions">
24189             <summary>
24190             Initialize options
24191             </summary>
24192             <remarks>
24193             <para>
24194             Caches the sorted list of <see cref="T:log4net.Util.LevelMappingEntry"/> in an array
24195             </para>
24196             </remarks>
24197         </member>
24198         <member name="T:log4net.Util.LogicalThreadContextProperties">
24199             <summary>
24200             Implementation of Properties collection for the <see cref="T:log4net.LogicalThreadContext"/>
24201             </summary>
24202             <remarks>
24203             <para>
24204             Class implements a collection of properties that is specific to each thread.
24205             The class is not synchronized as each thread has its own <see cref="T:log4net.Util.PropertiesDictionary"/>.
24206             </para>
24207             </remarks>
24208             <author>Nicko Cadell</author>
24209         </member>
24210         <member name="M:log4net.Util.LogicalThreadContextProperties.#ctor">
24211             <summary>
24212             Constructor
24213             </summary>
24214             <remarks>
24215             <para>
24216             Initializes a new instance of the <see cref="T:log4net.Util.LogicalThreadContextProperties"/> class.
24217             </para>
24218             </remarks>
24219         </member>
24220         <member name="M:log4net.Util.LogicalThreadContextProperties.Remove(System.String)">
24221             <summary>
24222             Remove a property
24223             </summary>
24224             <param name="key">the key for the entry to remove</param>
24225             <remarks>
24226             <para>
24227             Remove the value for the specified <paramref name="key"/> from the context.
24228             </para>
24229             </remarks>
24230         </member>
24231         <member name="M:log4net.Util.LogicalThreadContextProperties.Clear">
24232             <summary>
24233             Clear all the context properties
24234             </summary>
24235             <remarks>
24236             <para>
24237             Clear all the context properties
24238             </para>
24239             </remarks>
24240         </member>
24241         <member name="M:log4net.Util.LogicalThreadContextProperties.GetProperties(System.Boolean)">
24242             <summary>
24243             Get the PropertiesDictionary stored in the LocalDataStoreSlot for this thread.
24244             </summary>
24245             <param name="create">create the dictionary if it does not exist, otherwise return null if is does not exist</param>
24246             <returns>the properties for this thread</returns>
24247             <remarks>
24248             <para>
24249             The collection returned is only to be used on the calling thread. If the
24250             caller needs to share the collection between different threads then the 
24251             caller must clone the collection before doings so.
24252             </para>
24253             </remarks>
24254         </member>
24255         <member name="P:log4net.Util.LogicalThreadContextProperties.Item(System.String)">
24256             <summary>
24257             Gets or sets the value of a property
24258             </summary>
24259             <value>
24260             The value for the property with the specified key
24261             </value>
24262             <remarks>
24263             <para>
24264             Get or set the property value for the <paramref name="key"/> specified.
24265             </para>
24266             </remarks>
24267         </member>
24268         <member name="T:log4net.Util.LogLog">
24269             <summary>
24270             Outputs log statements from within the log4net assembly.
24271             </summary>
24272             <remarks>
24273             <para>
24274             Log4net components cannot make log4net logging calls. However, it is
24275             sometimes useful for the user to learn about what log4net is
24276             doing.
24277             </para>
24278             <para>
24279             All log4net internal debug calls go to the standard output stream
24280             whereas internal error messages are sent to the standard error output 
24281             stream.
24282             </para>
24283             </remarks>
24284             <author>Nicko Cadell</author>
24285             <author>Gert Driesen</author>
24286         </member>
24287         <member name="M:log4net.Util.LogLog.#ctor">
24288             <summary>
24289             Initializes a new instance of the <see cref="T:log4net.Util.LogLog"/> class. 
24290             </summary>
24291             <remarks>
24292             <para>
24293             Uses a private access modifier to prevent instantiation of this class.
24294             </para>
24295             </remarks>
24296         </member>
24297         <member name="M:log4net.Util.LogLog.#cctor">
24298             <summary>
24299             Static constructor that initializes logging by reading 
24300             settings from the application configuration file.
24301             </summary>
24302             <remarks>
24303             <para>
24304             The <c>log4net.Internal.Debug</c> application setting
24305             controls internal debugging. This setting should be set
24306             to <c>true</c> to enable debugging.
24307             </para>
24308             <para>
24309             The <c>log4net.Internal.Quiet</c> application setting
24310             suppresses all internal logging including error messages. 
24311             This setting should be set to <c>true</c> to enable message
24312             suppression.
24313             </para>
24314             </remarks>
24315         </member>
24316         <member name="M:log4net.Util.LogLog.Debug(System.String)">
24317             <summary>
24318             Writes log4net internal debug messages to the 
24319             standard output stream.
24320             </summary>
24321             <param name="message">The message to log.</param>
24322             <remarks>
24323             <para>
24324             All internal debug messages are prepended with 
24325             the string "log4net: ".
24326             </para>
24327             </remarks>
24328         </member>
24329         <member name="M:log4net.Util.LogLog.Debug(System.String,System.Exception)">
24330             <summary>
24331             Writes log4net internal debug messages to the 
24332             standard output stream.
24333             </summary>
24334             <param name="message">The message to log.</param>
24335             <param name="exception">An exception to log.</param>
24336             <remarks>
24337             <para>
24338             All internal debug messages are prepended with 
24339             the string "log4net: ".
24340             </para>
24341             </remarks>
24342         </member>
24343         <member name="M:log4net.Util.LogLog.Warn(System.String)">
24344             <summary>
24345             Writes log4net internal warning messages to the 
24346             standard error stream.
24347             </summary>
24348             <param name="message">The message to log.</param>
24349             <remarks>
24350             <para>
24351             All internal warning messages are prepended with 
24352             the string "log4net:WARN ".
24353             </para>
24354             </remarks>
24355         </member>
24356         <member name="M:log4net.Util.LogLog.Warn(System.String,System.Exception)">
24357             <summary>
24358             Writes log4net internal warning messages to the 
24359             standard error stream.
24360             </summary>
24361             <param name="message">The message to log.</param>
24362             <param name="exception">An exception to log.</param>
24363             <remarks>
24364             <para>
24365             All internal warning messages are prepended with 
24366             the string "log4net:WARN ".
24367             </para>
24368             </remarks>
24369         </member>
24370         <member name="M:log4net.Util.LogLog.Error(System.String)">
24371             <summary>
24372             Writes log4net internal error messages to the 
24373             standard error stream.
24374             </summary>
24375             <param name="message">The message to log.</param>
24376             <remarks>
24377             <para>
24378             All internal error messages are prepended with 
24379             the string "log4net:ERROR ".
24380             </para>
24381             </remarks>
24382         </member>
24383         <member name="M:log4net.Util.LogLog.Error(System.String,System.Exception)">
24384             <summary>
24385             Writes log4net internal error messages to the 
24386             standard error stream.
24387             </summary>
24388             <param name="message">The message to log.</param>
24389             <param name="exception">An exception to log.</param>
24390             <remarks>
24391             <para>
24392             All internal debug messages are prepended with 
24393             the string "log4net:ERROR ".
24394             </para>
24395             </remarks>
24396         </member>
24397         <member name="M:log4net.Util.LogLog.EmitOutLine(System.String)">
24398             <summary>
24399             Writes output to the standard output stream.  
24400             </summary>
24401             <param name="message">The message to log.</param>
24402             <remarks>
24403             <para>
24404             Writes to both Console.Out and System.Diagnostics.Trace.
24405             Note that the System.Diagnostics.Trace is not supported
24406             on the Compact Framework.
24407             </para>
24408             <para>
24409             If the AppDomain is not configured with a config file then
24410             the call to System.Diagnostics.Trace may fail. This is only
24411             an issue if you are programmatically creating your own AppDomains.
24412             </para>
24413             </remarks>
24414         </member>
24415         <member name="M:log4net.Util.LogLog.EmitErrorLine(System.String)">
24416             <summary>
24417             Writes output to the standard error stream.  
24418             </summary>
24419             <param name="message">The message to log.</param>
24420             <remarks>
24421             <para>
24422             Writes to both Console.Error and System.Diagnostics.Trace.
24423             Note that the System.Diagnostics.Trace is not supported
24424             on the Compact Framework.
24425             </para>
24426             <para>
24427             If the AppDomain is not configured with a config file then
24428             the call to System.Diagnostics.Trace may fail. This is only
24429             an issue if you are programmatically creating your own AppDomains.
24430             </para>
24431             </remarks>
24432         </member>
24433         <member name="F:log4net.Util.LogLog.s_debugEnabled">
24434             <summary>
24435              Default debug level
24436             </summary>
24437         </member>
24438         <member name="F:log4net.Util.LogLog.s_quietMode">
24439             <summary>
24440             In quietMode not even errors generate any output.
24441             </summary>
24442         </member>
24443         <member name="P:log4net.Util.LogLog.InternalDebugging">
24444             <summary>
24445             Gets or sets a value indicating whether log4net internal logging
24446             is enabled or disabled.
24447             </summary>
24448             <value>
24449             <c>true</c> if log4net internal logging is enabled, otherwise 
24450             <c>false</c>.
24451             </value>
24452             <remarks>
24453             <para>
24454             When set to <c>true</c>, internal debug level logging will be 
24455             displayed.
24456             </para>
24457             <para>
24458             This value can be set by setting the application setting 
24459             <c>log4net.Internal.Debug</c> in the application configuration
24460             file.
24461             </para>
24462             <para>
24463             The default value is <c>false</c>, i.e. debugging is
24464             disabled.
24465             </para>
24466             </remarks>
24467             <example>
24468             <para>
24469             The following example enables internal debugging using the 
24470             application configuration file :
24471             </para>
24472             <code lang="XML" escaped="true">
24473             <configuration>
24474                 <appSettings>
24475                         <add key="log4net.Internal.Debug" value="true" />
24476                 </appSettings>
24477             </configuration>
24478             </code>
24479             </example>
24480         </member>
24481         <member name="P:log4net.Util.LogLog.QuietMode">
24482             <summary>
24483             Gets or sets a value indicating whether log4net should generate no output
24484             from internal logging, not even for errors. 
24485             </summary>
24486             <value>
24487             <c>true</c> if log4net should generate no output at all from internal 
24488             logging, otherwise <c>false</c>.
24489             </value>
24490             <remarks>
24491             <para>
24492             When set to <c>true</c> will cause internal logging at all levels to be 
24493             suppressed. This means that no warning or error reports will be logged. 
24494             This option overrides the <see cref="P:log4net.Util.LogLog.InternalDebugging"/> setting and 
24495             disables all debug also.
24496             </para>
24497             <para>This value can be set by setting the application setting
24498             <c>log4net.Internal.Quiet</c> in the application configuration file.
24499             </para>
24500             <para>
24501             The default value is <c>false</c>, i.e. internal logging is not
24502             disabled.
24503             </para>
24504             </remarks>
24505             <example>
24506             The following example disables internal logging using the 
24507             application configuration file :
24508             <code lang="XML" escaped="true">
24509             <configuration>
24510                 <appSettings>
24511                         <add key="log4net.Internal.Quiet" value="true"/>
24512                 </appSettings>
24513             </configuration>
24514             </code>
24515             </example>
24516         </member>
24517         <member name="P:log4net.Util.LogLog.IsDebugEnabled">
24518             <summary>
24519             Test if LogLog.Debug is enabled for output.
24520             </summary>
24521             <value>
24522             <c>true</c> if Debug is enabled
24523             </value>
24524             <remarks>
24525             <para>
24526             Test if LogLog.Debug is enabled for output.
24527             </para>
24528             </remarks>
24529         </member>
24530         <member name="P:log4net.Util.LogLog.IsWarnEnabled">
24531             <summary>
24532             Test if LogLog.Warn is enabled for output.
24533             </summary>
24534             <value>
24535             <c>true</c> if Warn is enabled
24536             </value>
24537             <remarks>
24538             <para>
24539             Test if LogLog.Warn is enabled for output.
24540             </para>
24541             </remarks>
24542         </member>
24543         <member name="P:log4net.Util.LogLog.IsErrorEnabled">
24544             <summary>
24545             Test if LogLog.Error is enabled for output.
24546             </summary>
24547             <value>
24548             <c>true</c> if Error is enabled
24549             </value>
24550             <remarks>
24551             <para>
24552             Test if LogLog.Error is enabled for output.
24553             </para>
24554             </remarks>
24555         </member>
24556         <member name="T:log4net.Util.NativeError">
24557             <summary>
24558             Represents a native error code and message.
24559             </summary>
24560             <remarks>
24561             <para>
24562             Represents a Win32 platform native error.
24563             </para>
24564             </remarks>
24565             <author>Nicko Cadell</author>
24566             <author>Gert Driesen</author>
24567         </member>
24568         <member name="M:log4net.Util.NativeError.#ctor(System.Int32,System.String)">
24569             <summary>
24570             Create an instance of the <see cref="T:log4net.Util.NativeError"/> class with the specified 
24571             error number and message.
24572             </summary>
24573             <param name="number">The number of the native error.</param>
24574             <param name="message">The message of the native error.</param>
24575             <remarks>
24576             <para>
24577             Create an instance of the <see cref="T:log4net.Util.NativeError"/> class with the specified 
24578             error number and message.
24579             </para>
24580             </remarks>
24581         </member>
24582         <member name="M:log4net.Util.NativeError.GetLastError">
24583             <summary>
24584             Create a new instance of the <see cref="T:log4net.Util.NativeError"/> class for the last Windows error.
24585             </summary>
24586             <returns>
24587             An instance of the <see cref="T:log4net.Util.NativeError"/> class for the last windows error.
24588             </returns>
24589             <remarks>
24590             <para>
24591             The message for the <see cref="M:System.Runtime.InteropServices.Marshal.GetLastWin32Error"/> error number is lookup up using the 
24592             native Win32 <c>FormatMessage</c> function.
24593             </para>
24594             </remarks>
24595         </member>
24596         <member name="M:log4net.Util.NativeError.GetError(System.Int32)">
24597             <summary>
24598             Create a new instance of the <see cref="T:log4net.Util.NativeError"/> class.
24599             </summary>
24600             <param name="number">the error number for the native error</param>
24601             <returns>
24602             An instance of the <see cref="T:log4net.Util.NativeError"/> class for the specified 
24603             error number.
24604             </returns>
24605             <remarks>
24606             <para>
24607             The message for the specified error number is lookup up using the 
24608             native Win32 <c>FormatMessage</c> function.
24609             </para>
24610             </remarks>
24611         </member>
24612         <member name="M:log4net.Util.NativeError.GetErrorMessage(System.Int32)">
24613             <summary>
24614             Retrieves the message corresponding with a Win32 message identifier.
24615             </summary>
24616             <param name="messageId">Message identifier for the requested message.</param>
24617             <returns>
24618             The message corresponding with the specified message identifier.
24619             </returns>
24620             <remarks>
24621             <para>
24622             The message will be searched for in system message-table resource(s)
24623             using the native <c>FormatMessage</c> function.
24624             </para>
24625             </remarks>
24626         </member>
24627         <member name="M:log4net.Util.NativeError.ToString">
24628             <summary>
24629             Return error information string
24630             </summary>
24631             <returns>error information string</returns>
24632             <remarks>
24633             <para>
24634             Return error information string
24635             </para>
24636             </remarks>
24637         </member>
24638         <member name="M:log4net.Util.NativeError.FormatMessage(System.Int32,System.IntPtr@,System.Int32,System.Int32,System.String@,System.Int32,System.IntPtr)">
24639             <summary>
24640             Formats a message string.
24641             </summary>
24642             <param name="dwFlags">Formatting options, and how to interpret the <paramref name="lpSource"/> parameter.</param>
24643             <param name="lpSource">Location of the message definition.</param>
24644             <param name="dwMessageId">Message identifier for the requested message.</param>
24645             <param name="dwLanguageId">Language identifier for the requested message.</param>
24646             <param name="lpBuffer">If <paramref name="dwFlags"/> includes FORMAT_MESSAGE_ALLOCATE_BUFFER, the function allocates a buffer using the <c>LocalAlloc</c> function, and places the pointer to the buffer at the address specified in <paramref name="lpBuffer"/>.</param>
24647             <param name="nSize">If the FORMAT_MESSAGE_ALLOCATE_BUFFER flag is not set, this parameter specifies the maximum number of TCHARs that can be stored in the output buffer. If FORMAT_MESSAGE_ALLOCATE_BUFFER is set, this parameter specifies the minimum number of TCHARs to allocate for an output buffer.</param>
24648             <param name="Arguments">Pointer to an array of values that are used as insert values in the formatted message.</param>
24649             <remarks>
24650             <para>
24651             The function requires a message definition as input. The message definition can come from a 
24652             buffer passed into the function. It can come from a message table resource in an 
24653             already-loaded module. Or the caller can ask the function to search the system's message 
24654             table resource(s) for the message definition. The function finds the message definition 
24655             in a message table resource based on a message identifier and a language identifier. 
24656             The function copies the formatted message text to an output buffer, processing any embedded 
24657             insert sequences if requested.
24658             </para>
24659             <para>
24660             To prevent the usage of unsafe code, this stub does not support inserting values in the formatted message.
24661             </para>
24662             </remarks>
24663             <returns>
24664             <para>
24665             If the function succeeds, the return value is the number of TCHARs stored in the output 
24666             buffer, excluding the terminating null character.
24667             </para>
24668             <para>
24669             If the function fails, the return value is zero. To get extended error information, 
24670             call <see cref="M:System.Runtime.InteropServices.Marshal.GetLastWin32Error"/>.
24671             </para>
24672             </returns>
24673         </member>
24674         <member name="P:log4net.Util.NativeError.Number">
24675             <summary>
24676             Gets the number of the native error.
24677             </summary>
24678             <value>
24679             The number of the native error.
24680             </value>
24681             <remarks>
24682             <para>
24683             Gets the number of the native error.
24684             </para>
24685             </remarks>
24686         </member>
24687         <member name="P:log4net.Util.NativeError.Message">
24688             <summary>
24689             Gets the message of the native error.
24690             </summary>
24691             <value>
24692             The message of the native error.
24693             </value>
24694             <remarks>
24695             <para>
24696             </para>
24697             Gets the message of the native error.
24698             </remarks>
24699         </member>
24700         <member name="T:log4net.Util.NullDictionaryEnumerator">
24701             <summary>
24702             An always empty <see cref="T:System.Collections.IDictionaryEnumerator"/>.
24703             </summary>
24704             <remarks>
24705             <para>
24706             A singleton implementation of the <see cref="T:System.Collections.IDictionaryEnumerator"/> over a collection
24707             that is empty and not modifiable.
24708             </para>
24709             </remarks>
24710             <author>Nicko Cadell</author>
24711             <author>Gert Driesen</author>
24712         </member>
24713         <member name="M:log4net.Util.NullDictionaryEnumerator.#ctor">
24714             <summary>
24715             Initializes a new instance of the <see cref="T:log4net.Util.NullDictionaryEnumerator"/> class. 
24716             </summary>
24717             <remarks>
24718             <para>
24719             Uses a private access modifier to enforce the singleton pattern.
24720             </para>
24721             </remarks>
24722         </member>
24723         <member name="M:log4net.Util.NullDictionaryEnumerator.MoveNext">
24724             <summary>
24725             Test if the enumerator can advance, if so advance.
24726             </summary>
24727             <returns><c>false</c> as the <see cref="T:log4net.Util.NullDictionaryEnumerator"/> cannot advance.</returns>
24728             <remarks>
24729             <para>
24730             As the enumerator is over an empty collection its <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/>
24731             value cannot be moved over a valid position, therefore <see cref="M:log4net.Util.NullDictionaryEnumerator.MoveNext"/>
24732             will always return <c>false</c>.
24733             </para>
24734             </remarks>
24735         </member>
24736         <member name="M:log4net.Util.NullDictionaryEnumerator.Reset">
24737             <summary>
24738             Resets the enumerator back to the start.
24739             </summary>
24740             <remarks>
24741             <para>
24742             As the enumerator is over an empty collection <see cref="M:log4net.Util.NullDictionaryEnumerator.Reset"/> does nothing.
24743             </para>
24744             </remarks>
24745         </member>
24746         <member name="F:log4net.Util.NullDictionaryEnumerator.s_instance">
24747             <summary>
24748             The singleton instance of the <see cref="T:log4net.Util.NullDictionaryEnumerator"/>.
24749             </summary>
24750         </member>
24751         <member name="P:log4net.Util.NullDictionaryEnumerator.Instance">
24752             <summary>
24753             Gets the singleton instance of the <see cref="T:log4net.Util.NullDictionaryEnumerator"/>.
24754             </summary>
24755             <returns>The singleton instance of the <see cref="T:log4net.Util.NullDictionaryEnumerator"/>.</returns>
24756             <remarks>
24757             <para>
24758             Gets the singleton instance of the <see cref="T:log4net.Util.NullDictionaryEnumerator"/>.
24759             </para>
24760             </remarks>
24761         </member>
24762         <member name="P:log4net.Util.NullDictionaryEnumerator.Current">
24763             <summary>
24764             Gets the current object from the enumerator.
24765             </summary>
24766             <remarks>
24767             Throws an <see cref="T:System.InvalidOperationException"/> because the 
24768             <see cref="T:log4net.Util.NullDictionaryEnumerator"/> never has a current value.
24769             </remarks>
24770             <remarks>
24771             <para>
24772             As the enumerator is over an empty collection its <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/>
24773             value cannot be moved over a valid position, therefore <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/>
24774             will throw an <see cref="T:System.InvalidOperationException"/>.
24775             </para>
24776             </remarks>
24777             <exception cref="T:System.InvalidOperationException">The collection is empty and <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/> 
24778             cannot be positioned over a valid location.</exception>
24779         </member>
24780         <member name="P:log4net.Util.NullDictionaryEnumerator.Key">
24781             <summary>
24782             Gets the current key from the enumerator.
24783             </summary>
24784             <remarks>
24785             Throws an exception because the <see cref="T:log4net.Util.NullDictionaryEnumerator"/>
24786             never has a current value.
24787             </remarks>
24788             <remarks>
24789             <para>
24790             As the enumerator is over an empty collection its <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/>
24791             value cannot be moved over a valid position, therefore <see cref="P:log4net.Util.NullDictionaryEnumerator.Key"/>
24792             will throw an <see cref="T:System.InvalidOperationException"/>.
24793             </para>
24794             </remarks>
24795             <exception cref="T:System.InvalidOperationException">The collection is empty and <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/> 
24796             cannot be positioned over a valid location.</exception>
24797         </member>
24798         <member name="P:log4net.Util.NullDictionaryEnumerator.Value">
24799             <summary>
24800             Gets the current value from the enumerator.
24801             </summary>
24802             <value>The current value from the enumerator.</value>
24803             <remarks>
24804             Throws an <see cref="T:System.InvalidOperationException"/> because the 
24805             <see cref="T:log4net.Util.NullDictionaryEnumerator"/> never has a current value.
24806             </remarks>
24807             <remarks>
24808             <para>
24809             As the enumerator is over an empty collection its <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/>
24810             value cannot be moved over a valid position, therefore <see cref="P:log4net.Util.NullDictionaryEnumerator.Value"/>
24811             will throw an <see cref="T:System.InvalidOperationException"/>.
24812             </para>
24813             </remarks>
24814             <exception cref="T:System.InvalidOperationException">The collection is empty and <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/> 
24815             cannot be positioned over a valid location.</exception>
24816         </member>
24817         <member name="P:log4net.Util.NullDictionaryEnumerator.Entry">
24818             <summary>
24819             Gets the current entry from the enumerator.
24820             </summary>
24821             <remarks>
24822             Throws an <see cref="T:System.InvalidOperationException"/> because the 
24823             <see cref="T:log4net.Util.NullDictionaryEnumerator"/> never has a current entry.
24824             </remarks>
24825             <remarks>
24826             <para>
24827             As the enumerator is over an empty collection its <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/>
24828             value cannot be moved over a valid position, therefore <see cref="P:log4net.Util.NullDictionaryEnumerator.Entry"/>
24829             will throw an <see cref="T:System.InvalidOperationException"/>.
24830             </para>
24831             </remarks>
24832             <exception cref="T:System.InvalidOperationException">The collection is empty and <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/> 
24833             cannot be positioned over a valid location.</exception>
24834         </member>
24835         <member name="T:log4net.Util.NullEnumerator">
24836             <summary>
24837             An always empty <see cref="T:System.Collections.IEnumerator"/>.
24838             </summary>
24839             <remarks>
24840             <para>
24841             A singleton implementation of the <see cref="T:System.Collections.IEnumerator"/> over a collection
24842             that is empty and not modifiable.
24843             </para>
24844             </remarks>
24845             <author>Nicko Cadell</author>
24846             <author>Gert Driesen</author>
24847         </member>
24848         <member name="M:log4net.Util.NullEnumerator.#ctor">
24849             <summary>
24850             Initializes a new instance of the <see cref="T:log4net.Util.NullEnumerator"/> class. 
24851             </summary>
24852             <remarks>
24853             <para>
24854             Uses a private access modifier to enforce the singleton pattern.
24855             </para>
24856             </remarks>
24857         </member>
24858         <member name="M:log4net.Util.NullEnumerator.MoveNext">
24859             <summary>
24860             Test if the enumerator can advance, if so advance
24861             </summary>
24862             <returns><c>false</c> as the <see cref="T:log4net.Util.NullEnumerator"/> cannot advance.</returns>
24863             <remarks>
24864             <para>
24865             As the enumerator is over an empty collection its <see cref="P:log4net.Util.NullEnumerator.Current"/>
24866             value cannot be moved over a valid position, therefore <see cref="M:log4net.Util.NullEnumerator.MoveNext"/>
24867             will always return <c>false</c>.
24868             </para>
24869             </remarks>
24870         </member>
24871         <member name="M:log4net.Util.NullEnumerator.Reset">
24872             <summary>
24873             Resets the enumerator back to the start.
24874             </summary>
24875             <remarks>
24876             <para>
24877             As the enumerator is over an empty collection <see cref="M:log4net.Util.NullEnumerator.Reset"/> does nothing.
24878             </para>
24879             </remarks>
24880         </member>
24881         <member name="F:log4net.Util.NullEnumerator.s_instance">
24882             <summary>
24883             The singleton instance of the <see cref="T:log4net.Util.NullEnumerator"/>.
24884             </summary>
24885         </member>
24886         <member name="P:log4net.Util.NullEnumerator.Instance">
24887             <summary>
24888             Get the singleton instance of the <see cref="T:log4net.Util.NullEnumerator"/>.
24889             </summary>
24890             <returns>The singleton instance of the <see cref="T:log4net.Util.NullEnumerator"/>.</returns>
24891             <remarks>
24892             <para>
24893             Gets the singleton instance of the <see cref="T:log4net.Util.NullEnumerator"/>.
24894             </para>
24895             </remarks>
24896         </member>
24897         <member name="P:log4net.Util.NullEnumerator.Current">
24898             <summary>
24899             Gets the current object from the enumerator.
24900             </summary>
24901             <remarks>
24902             Throws an <see cref="T:System.InvalidOperationException"/> because the 
24903             <see cref="T:log4net.Util.NullDictionaryEnumerator"/> never has a current value.
24904             </remarks>
24905             <remarks>
24906             <para>
24907             As the enumerator is over an empty collection its <see cref="P:log4net.Util.NullEnumerator.Current"/>
24908             value cannot be moved over a valid position, therefore <see cref="P:log4net.Util.NullEnumerator.Current"/>
24909             will throw an <see cref="T:System.InvalidOperationException"/>.
24910             </para>
24911             </remarks>
24912             <exception cref="T:System.InvalidOperationException">The collection is empty and <see cref="P:log4net.Util.NullEnumerator.Current"/> 
24913             cannot be positioned over a valid location.</exception>
24914         </member>
24915         <member name="T:log4net.Util.NullSecurityContext">
24916             <summary>
24917             A SecurityContext used when a SecurityContext is not required
24918             </summary>
24919             <remarks>
24920             <para>
24921             The <see cref="T:log4net.Util.NullSecurityContext"/> is a no-op implementation of the
24922             <see cref="T:log4net.Core.SecurityContext"/> base class. It is used where a <see cref="T:log4net.Core.SecurityContext"/>
24923             is required but one has not been provided.
24924             </para>
24925             </remarks>
24926             <author>Nicko Cadell</author>
24927         </member>
24928         <member name="F:log4net.Util.NullSecurityContext.Instance">
24929             <summary>
24930             Singleton instance of <see cref="T:log4net.Util.NullSecurityContext"/>
24931             </summary>
24932             <remarks>
24933             <para>
24934             Singleton instance of <see cref="T:log4net.Util.NullSecurityContext"/>
24935             </para>
24936             </remarks>
24937         </member>
24938         <member name="M:log4net.Util.NullSecurityContext.#ctor">
24939             <summary>
24940             Private constructor
24941             </summary>
24942             <remarks>
24943             <para>
24944             Private constructor for singleton pattern.
24945             </para>
24946             </remarks>
24947         </member>
24948         <member name="M:log4net.Util.NullSecurityContext.Impersonate(System.Object)">
24949             <summary>
24950             Impersonate this SecurityContext
24951             </summary>
24952             <param name="state">State supplied by the caller</param>
24953             <returns><c>null</c></returns>
24954             <remarks>
24955             <para>
24956             No impersonation is done and <c>null</c> is always returned.
24957             </para>
24958             </remarks>
24959         </member>
24960         <member name="T:log4net.Util.OnlyOnceErrorHandler">
24961             <summary>
24962             Implements log4net's default error handling policy which consists 
24963             of emitting a message for the first error in an appender and 
24964             ignoring all subsequent errors.
24965             </summary>
24966             <remarks>
24967             <para>
24968             The error message is printed on the standard error output stream.
24969             </para>
24970             <para>
24971             This policy aims at protecting an otherwise working application
24972             from being flooded with error messages when logging fails.
24973             </para>
24974             </remarks>
24975             <author>Nicko Cadell</author>
24976             <author>Gert Driesen</author>
24977         </member>
24978         <member name="M:log4net.Util.OnlyOnceErrorHandler.#ctor">
24979             <summary>
24980             Default Constructor
24981             </summary>
24982             <remarks>
24983             <para>
24984             Initializes a new instance of the <see cref="T:log4net.Util.OnlyOnceErrorHandler"/> class.
24985             </para>
24986             </remarks>
24987         </member>
24988         <member name="M:log4net.Util.OnlyOnceErrorHandler.#ctor(System.String)">
24989             <summary>
24990             Constructor
24991             </summary>
24992             <param name="prefix">The prefix to use for each message.</param>
24993             <remarks>
24994             <para>
24995             Initializes a new instance of the <see cref="T:log4net.Util.OnlyOnceErrorHandler"/> class
24996             with the specified prefix.
24997             </para>
24998             </remarks>
24999         </member>
25000         <member name="M:log4net.Util.OnlyOnceErrorHandler.Error(System.String,System.Exception,log4net.Core.ErrorCode)">
25001             <summary>
25002             Log an Error
25003             </summary>
25004             <param name="message">The error message.</param>
25005             <param name="e">The exception.</param>
25006             <param name="errorCode">The internal error code.</param>
25007             <remarks>
25008             <para>
25009             Prints the message and the stack trace of the exception on the standard
25010             error output stream.
25011             </para>
25012             </remarks>
25013         </member>
25014         <member name="M:log4net.Util.OnlyOnceErrorHandler.Error(System.String,System.Exception)">
25015             <summary>
25016             Log an Error
25017             </summary>
25018             <param name="message">The error message.</param>
25019             <param name="e">The exception.</param>
25020             <remarks>
25021             <para>
25022             Prints the message and the stack trace of the exception on the standard
25023             error output stream.
25024             </para>
25025             </remarks>
25026         </member>
25027         <member name="M:log4net.Util.OnlyOnceErrorHandler.Error(System.String)">
25028             <summary>
25029             Log an error
25030             </summary>
25031             <param name="message">The error message.</param>
25032             <remarks>
25033             <para>
25034             Print a the error message passed as parameter on the standard
25035             error output stream.
25036             </para>
25037             </remarks>
25038         </member>
25039         <member name="F:log4net.Util.OnlyOnceErrorHandler.m_firstTime">
25040             <summary>
25041             Flag to indicate if it is the first error
25042             </summary>
25043         </member>
25044         <member name="F:log4net.Util.OnlyOnceErrorHandler.m_prefix">
25045             <summary>
25046             String to prefix each message with
25047             </summary>
25048         </member>
25049         <member name="P:log4net.Util.OnlyOnceErrorHandler.IsEnabled">
25050             <summary>
25051             Is error logging enabled
25052             </summary>
25053             <remarks>
25054             <para>
25055             Is error logging enabled. Logging is only enabled for the
25056             first error delivered to the <see cref="T:log4net.Util.OnlyOnceErrorHandler"/>.
25057             </para>
25058             </remarks>
25059         </member>
25060         <member name="T:log4net.Util.OptionConverter">
25061             <summary>
25062             A convenience class to convert property values to specific types.
25063             </summary>
25064             <remarks>
25065             <para>
25066             Utility functions for converting types and parsing values.
25067             </para>
25068             </remarks>
25069             <author>Nicko Cadell</author>
25070             <author>Gert Driesen</author>
25071         </member>
25072         <member name="M:log4net.Util.OptionConverter.#ctor">
25073             <summary>
25074             Initializes a new instance of the <see cref="T:log4net.Util.OptionConverter"/> class. 
25075             </summary>
25076             <remarks>
25077             <para>
25078             Uses a private access modifier to prevent instantiation of this class.
25079             </para>
25080             </remarks>
25081         </member>
25082         <member name="M:log4net.Util.OptionConverter.ToBoolean(System.String,System.Boolean)">
25083             <summary>
25084             Converts a string to a <see cref="T:System.Boolean"/> value.
25085             </summary>
25086             <param name="argValue">String to convert.</param>
25087             <param name="defaultValue">The default value.</param>
25088             <returns>The <see cref="T:System.Boolean"/> value of <paramref name="argValue"/>.</returns>
25089             <remarks>
25090             <para>
25091             If <paramref name="argValue"/> is "true", then <c>true</c> is returned. 
25092             If <paramref name="argValue"/> is "false", then <c>false</c> is returned. 
25093             Otherwise, <paramref name="defaultValue"/> is returned.
25094             </para>
25095             </remarks>
25096         </member>
25097         <member name="M:log4net.Util.OptionConverter.ToFileSize(System.String,System.Int64)">
25098             <summary>
25099             Parses a file size into a number.
25100             </summary>
25101             <param name="argValue">String to parse.</param>
25102             <param name="defaultValue">The default value.</param>
25103             <returns>The <see cref="T:System.Int64"/> value of <paramref name="argValue"/>.</returns>
25104             <remarks>
25105             <para>
25106             Parses a file size of the form: number[KB|MB|GB] into a
25107             long value. It is scaled with the appropriate multiplier.
25108             </para>
25109             <para>
25110             <paramref name="defaultValue"/> is returned when <paramref name="argValue"/>
25111             cannot be converted to a <see cref="T:System.Int64"/> value.
25112             </para>
25113             </remarks>
25114         </member>
25115         <member name="M:log4net.Util.OptionConverter.ConvertStringTo(System.Type,System.String)">
25116             <summary>
25117             Converts a string to an object.
25118             </summary>
25119             <param name="target">The target type to convert to.</param>
25120             <param name="txt">The string to convert to an object.</param>
25121             <returns>
25122             The object converted from a string or <c>null</c> when the 
25123             conversion failed.
25124             </returns>
25125             <remarks>
25126             <para>
25127             Converts a string to an object. Uses the converter registry to try
25128             to convert the string value into the specified target type.
25129             </para>
25130             </remarks>
25131         </member>
25132         <member name="M:log4net.Util.OptionConverter.CanConvertTypeTo(System.Type,System.Type)">
25133             <summary>
25134             Checks if there is an appropriate type conversion from the source type to the target type.
25135             </summary>
25136             <param name="sourceType">The type to convert from.</param>
25137             <param name="targetType">The type to convert to.</param>
25138             <returns><c>true</c> if there is a conversion from the source type to the target type.</returns>
25139             <remarks>
25140             Checks if there is an appropriate type conversion from the source type to the target type.
25141             <para>
25142             </para>
25143             </remarks>
25144         </member>
25145         <member name="M:log4net.Util.OptionConverter.ConvertTypeTo(System.Object,System.Type)">
25146             <summary>
25147             Converts an object to the target type.
25148             </summary>
25149             <param name="sourceInstance">The object to convert to the target type.</param>
25150             <param name="targetType">The type to convert to.</param>
25151             <returns>The converted object.</returns>
25152             <remarks>
25153             <para>
25154             Converts an object to the target type.
25155             </para>
25156             </remarks>
25157         </member>
25158         <member name="M:log4net.Util.OptionConverter.InstantiateByClassName(System.String,System.Type,System.Object)">
25159             <summary>
25160             Instantiates an object given a class name.
25161             </summary>
25162             <param name="className">The fully qualified class name of the object to instantiate.</param>
25163             <param name="superClass">The class to which the new object should belong.</param>
25164             <param name="defaultValue">The object to return in case of non-fulfillment.</param>
25165             <returns>
25166             An instance of the <paramref name="className"/> or <paramref name="defaultValue"/>
25167             if the object could not be instantiated.
25168             </returns>
25169             <remarks>
25170             <para>
25171             Checks that the <paramref name="className"/> is a subclass of
25172             <paramref name="superClass"/>. If that test fails or the object could
25173             not be instantiated, then <paramref name="defaultValue"/> is returned.
25174             </para>
25175             </remarks>
25176         </member>
25177         <member name="M:log4net.Util.OptionConverter.SubstituteVariables(System.String,System.Collections.IDictionary)">
25178             <summary>
25179             Performs variable substitution in string <paramref name="val"/> from the 
25180             values of keys found in <paramref name="props"/>.
25181             </summary>
25182             <param name="value">The string on which variable substitution is performed.</param>
25183             <param name="props">The dictionary to use to lookup variables.</param>
25184             <returns>The result of the substitutions.</returns>
25185             <remarks>
25186             <para>
25187             The variable substitution delimiters are <b>${</b> and <b>}</b>.
25188             </para>
25189             <para>
25190             For example, if props contains <c>key=value</c>, then the call
25191             </para>
25192             <para>
25193             <code lang="C#">
25194             string s = OptionConverter.SubstituteVariables("Value of key is ${key}.");
25195             </code>
25196             </para>
25197             <para>
25198             will set the variable <c>s</c> to "Value of key is value.".
25199             </para>
25200             <para>
25201             If no value could be found for the specified key, then substitution 
25202             defaults to an empty string.
25203             </para>
25204             <para>
25205             For example, if system properties contains no value for the key
25206             "nonExistentKey", then the call
25207             </para>
25208             <para>
25209             <code lang="C#">
25210             string s = OptionConverter.SubstituteVariables("Value of nonExistentKey is [${nonExistentKey}]");
25211             </code>
25212             </para>
25213             <para>
25214             will set <s>s</s> to "Value of nonExistentKey is []".        
25215             </para>
25216             <para>
25217             An Exception is thrown if <paramref name="value"/> contains a start 
25218             delimiter "${" which is not balanced by a stop delimiter "}". 
25219             </para>
25220             </remarks>
25221         </member>
25222         <member name="M:log4net.Util.OptionConverter.ParseEnum(System.Type,System.String,System.Boolean)">
25223             <summary>
25224             Converts the string representation of the name or numeric value of one or 
25225             more enumerated constants to an equivalent enumerated object.
25226             </summary>
25227             <param name="enumType">The type to convert to.</param>
25228             <param name="value">The enum string value.</param>
25229             <param name="ignoreCase">If <c>true</c>, ignore case; otherwise, regard case.</param>
25230             <returns>An object of type <paramref name="enumType" /> whose value is represented by <paramref name="value" />.</returns>
25231         </member>
25232         <member name="T:log4net.Util.PatternParser">
25233             <summary>
25234             Most of the work of the <see cref="T:log4net.Layout.PatternLayout"/> class
25235             is delegated to the PatternParser class.
25236             </summary>
25237             <remarks>
25238             <para>
25239             The <c>PatternParser</c> processes a pattern string and
25240             returns a chain of <see cref="T:log4net.Util.PatternConverter"/> objects.
25241             </para>
25242             </remarks>
25243             <author>Nicko Cadell</author>
25244             <author>Gert Driesen</author>
25245         </member>
25246         <member name="M:log4net.Util.PatternParser.#ctor(System.String)">
25247             <summary>
25248             Constructor
25249             </summary>
25250             <param name="pattern">The pattern to parse.</param>
25251             <remarks>
25252             <para>
25253             Initializes a new instance of the <see cref="T:log4net.Util.PatternParser"/> class 
25254             with the specified pattern string.
25255             </para>
25256             </remarks>
25257         </member>
25258         <member name="M:log4net.Util.PatternParser.Parse">
25259             <summary>
25260             Parses the pattern into a chain of pattern converters.
25261             </summary>
25262             <returns>The head of a chain of pattern converters.</returns>
25263             <remarks>
25264             <para>
25265             Parses the pattern into a chain of pattern converters.
25266             </para>
25267             </remarks>
25268         </member>
25269         <member name="M:log4net.Util.PatternParser.BuildCache">
25270             <summary>
25271             Build the unified cache of converters from the static and instance maps
25272             </summary>
25273             <returns>the list of all the converter names</returns>
25274             <remarks>
25275             <para>
25276             Build the unified cache of converters from the static and instance maps
25277             </para>
25278             </remarks>
25279         </member>
25280         <member name="M:log4net.Util.PatternParser.ParseInternal(System.String,System.String[])">
25281             <summary>
25282             Internal method to parse the specified pattern to find specified matches
25283             </summary>
25284             <param name="pattern">the pattern to parse</param>
25285             <param name="matches">the converter names to match in the pattern</param>
25286             <remarks>
25287             <para>
25288             The matches param must be sorted such that longer strings come before shorter ones.
25289             </para>
25290             </remarks>
25291         </member>
25292         <member name="M:log4net.Util.PatternParser.ProcessLiteral(System.String)">
25293             <summary>
25294             Process a parsed literal
25295             </summary>
25296             <param name="text">the literal text</param>
25297         </member>
25298         <member name="M:log4net.Util.PatternParser.ProcessConverter(System.String,System.String,log4net.Util.FormattingInfo)">
25299             <summary>
25300             Process a parsed converter pattern
25301             </summary>
25302             <param name="converterName">the name of the converter</param>
25303             <param name="option">the optional option for the converter</param>
25304             <param name="formattingInfo">the formatting info for the converter</param>
25305         </member>
25306         <member name="M:log4net.Util.PatternParser.AddConverter(log4net.Util.PatternConverter)">
25307             <summary>
25308             Resets the internal state of the parser and adds the specified pattern converter 
25309             to the chain.
25310             </summary>
25311             <param name="pc">The pattern converter to add.</param>
25312         </member>
25313         <member name="F:log4net.Util.PatternParser.m_head">
25314             <summary>
25315             The first pattern converter in the chain
25316             </summary>
25317         </member>
25318         <member name="F:log4net.Util.PatternParser.m_tail">
25319             <summary>
25320              the last pattern converter in the chain
25321             </summary>
25322         </member>
25323         <member name="F:log4net.Util.PatternParser.m_pattern">
25324             <summary>
25325             The pattern
25326             </summary>
25327         </member>
25328         <member name="F:log4net.Util.PatternParser.m_patternConverters">
25329             <summary>
25330             Internal map of converter identifiers to converter types
25331             </summary>
25332             <remarks>
25333             <para>
25334             This map overrides the static s_globalRulesRegistry map.
25335             </para>
25336             </remarks>
25337         </member>
25338         <member name="P:log4net.Util.PatternParser.PatternConverters">
25339             <summary>
25340             Get the converter registry used by this parser
25341             </summary>
25342             <value>
25343             The converter registry used by this parser
25344             </value>
25345             <remarks>
25346             <para>
25347             Get the converter registry used by this parser
25348             </para>
25349             </remarks>
25350         </member>
25351         <member name="T:log4net.Util.PatternParser.StringLengthComparer">
25352             <summary>
25353             Sort strings by length
25354             </summary>
25355             <remarks>
25356             <para>
25357             <see cref="T:System.Collections.IComparer"/> that orders strings by string length.
25358             The longest strings are placed first
25359             </para>
25360             </remarks>
25361         </member>
25362         <member name="T:log4net.Util.PatternString">
25363             <summary>
25364             This class implements a patterned string.
25365             </summary>
25366             <remarks>
25367             <para>
25368             This string has embedded patterns that are resolved and expanded
25369             when the string is formatted.
25370             </para>
25371             <para>
25372             This class functions similarly to the <see cref="T:log4net.Layout.PatternLayout"/>
25373             in that it accepts a pattern and renders it to a string. Unlike the 
25374             <see cref="T:log4net.Layout.PatternLayout"/> however the <c>PatternString</c>
25375             does not render the properties of a specific <see cref="T:log4net.Core.LoggingEvent"/> but
25376             of the process in general.
25377             </para>
25378             <para>
25379             The recognized conversion pattern names are:
25380             </para>
25381             <list type="table">
25382                 <listheader>
25383                     <term>Conversion Pattern Name</term>
25384                     <description>Effect</description>
25385                 </listheader>
25386                 <item>
25387                     <term>appdomain</term>
25388                     <description>
25389                         <para>
25390                         Used to output the friendly name of the current AppDomain.
25391                         </para>
25392                     </description>
25393                 </item>
25394                 <item>
25395                     <term>date</term>
25396                     <description>
25397                                 <para>
25398                                 Used to output the date of the logging event in the local time zone. 
25399                                 To output the date in universal time use the <c>%utcdate</c> pattern.
25400                                 The date conversion 
25401                                 specifier may be followed by a <i>date format specifier</i> enclosed 
25402                                 between braces. For example, <b>%date{HH:mm:ss,fff}</b> or
25403                                 <b>%date{dd MMM yyyy HH:mm:ss,fff}</b>.  If no date format specifier is 
25404                                 given then ISO8601 format is
25405                                 assumed (<see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/>).
25406                                 </para>
25407                                 <para>
25408                                 The date format specifier admits the same syntax as the
25409                                 time pattern string of the <see cref="M:System.DateTime.ToString(System.String)"/>.
25410                                 </para>
25411                                 <para>
25412                                 For better results it is recommended to use the log4net date
25413                                 formatters. These can be specified using one of the strings
25414                                 "ABSOLUTE", "DATE" and "ISO8601" for specifying 
25415                                 <see cref="T:log4net.DateFormatter.AbsoluteTimeDateFormatter"/>, 
25416                                 <see cref="T:log4net.DateFormatter.DateTimeDateFormatter"/> and respectively 
25417                                 <see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/>. For example, 
25418                                 <b>%date{ISO8601}</b> or <b>%date{ABSOLUTE}</b>.
25419                                 </para>
25420                                 <para>
25421                                 These dedicated date formatters perform significantly
25422                                 better than <see cref="M:System.DateTime.ToString(System.String)"/>.
25423                                 </para>
25424                     </description>
25425                 </item>
25426                 <item>
25427                     <term>env</term>
25428                     <description>
25429                         <para>
25430                                 Used to output the a specific environment variable. The key to 
25431                                 lookup must be specified within braces and directly following the
25432                                 pattern specifier, e.g. <b>%env{COMPUTERNAME}</b> would include the value
25433                                 of the <c>COMPUTERNAME</c> environment variable.
25434                         </para>
25435                         <para>
25436                         The <c>env</c> pattern is not supported on the .NET Compact Framework.
25437                         </para>
25438                     </description>
25439                 </item>
25440                 <item>
25441                     <term>identity</term>
25442                     <description>
25443                                 <para>
25444                                 Used to output the user name for the currently active user
25445                                 (Principal.Identity.Name).
25446                                 </para>
25447                     </description>
25448                 </item>
25449                 <item>
25450                     <term>newline</term>
25451                     <description>
25452                                 <para>
25453                                 Outputs the platform dependent line separator character or
25454                                 characters.
25455                                 </para>
25456                                 <para>
25457                                 This conversion pattern name offers the same performance as using 
25458                                 non-portable line separator strings such as     "\n", or "\r\n". 
25459                                 Thus, it is the preferred way of specifying a line separator.
25460                                 </para> 
25461                     </description>
25462                 </item>
25463                 <item>
25464                     <term>processid</term>
25465                     <description>
25466                         <para>
25467                                 Used to output the system process ID for the current process.
25468                         </para>
25469                     </description>
25470                 </item>
25471                 <item>
25472                     <term>property</term>
25473                     <description>
25474                                 <para>
25475                                 Used to output a specific context property. The key to 
25476                                 lookup must be specified within braces and directly following the
25477                                 pattern specifier, e.g. <b>%property{user}</b> would include the value
25478                                 from the property that is keyed by the string 'user'. Each property value
25479                                 that is to be included in the log must be specified separately.
25480                                 Properties are stored in logging contexts. By default 
25481                                 the <c>log4net:HostName</c> property is set to the name of machine on 
25482                                 which the event was originally logged.
25483                                 </para>
25484                                 <para>
25485                                 If no key is specified, e.g. <b>%property</b> then all the keys and their
25486                                 values are printed in a comma separated list.
25487                                 </para>
25488                                 <para>
25489                                 The properties of an event are combined from a number of different
25490                                 contexts. These are listed below in the order in which they are searched.
25491                                 </para>
25492                                 <list type="definition">
25493                                         <item>
25494                                                 <term>the thread properties</term>
25495                                                 <description>
25496                                                 The <see cref="P:log4net.ThreadContext.Properties"/> that are set on the current
25497                                                 thread. These properties are shared by all events logged on this thread.
25498                                                 </description>
25499                                         </item>
25500                                         <item>
25501                                                 <term>the global properties</term>
25502                                                 <description>
25503                                                 The <see cref="P:log4net.GlobalContext.Properties"/> that are set globally. These 
25504                                                 properties are shared by all the threads in the AppDomain.
25505                                                 </description>
25506                                         </item>
25507                                 </list>
25508                     </description>
25509                 </item>
25510                 <item>
25511                     <term>random</term>
25512                     <description>
25513                         <para>
25514                         Used to output a random string of characters. The string is made up of
25515                         uppercase letters and numbers. By default the string is 4 characters long.
25516                         The length of the string can be specified within braces directly following the
25517                                 pattern specifier, e.g. <b>%random{8}</b> would output an 8 character string.
25518                         </para>
25519                     </description>
25520                 </item>
25521                 <item>
25522                     <term>username</term>
25523                     <description>
25524                                 <para>
25525                                 Used to output the WindowsIdentity for the currently
25526                                 active user.
25527                                 </para>
25528                     </description>
25529                 </item>
25530                 <item>
25531                     <term>utcdate</term>
25532                     <description>
25533                                 <para>
25534                                 Used to output the date of the logging event in universal time. 
25535                                 The date conversion 
25536                                 specifier may be followed by a <i>date format specifier</i> enclosed 
25537                                 between braces. For example, <b>%utcdate{HH:mm:ss,fff}</b> or
25538                                 <b>%utcdate{dd MMM yyyy HH:mm:ss,fff}</b>.  If no date format specifier is 
25539                                 given then ISO8601 format is
25540                                 assumed (<see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/>).
25541                                 </para>
25542                                 <para>
25543                                 The date format specifier admits the same syntax as the
25544                                 time pattern string of the <see cref="M:System.DateTime.ToString(System.String)"/>.
25545                                 </para>
25546                                 <para>
25547                                 For better results it is recommended to use the log4net date
25548                                 formatters. These can be specified using one of the strings
25549                                 "ABSOLUTE", "DATE" and "ISO8601" for specifying 
25550                                 <see cref="T:log4net.DateFormatter.AbsoluteTimeDateFormatter"/>, 
25551                                 <see cref="T:log4net.DateFormatter.DateTimeDateFormatter"/> and respectively 
25552                                 <see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/>. For example, 
25553                                 <b>%utcdate{ISO8601}</b> or <b>%utcdate{ABSOLUTE}</b>.
25554                                 </para>
25555                                 <para>
25556                                 These dedicated date formatters perform significantly
25557                                 better than <see cref="M:System.DateTime.ToString(System.String)"/>.
25558                                 </para>
25559                     </description>
25560                 </item>
25561                 <item>
25562                         <term>%</term>
25563                         <description>
25564                                 <para>
25565                                 The sequence %% outputs a single percent sign.
25566                                 </para>
25567                         </description>
25568                 </item>
25569             </list>
25570             <para>
25571             Additional pattern converters may be registered with a specific <see cref="T:log4net.Util.PatternString"/>
25572             instance using <see cref="M:log4net.Util.PatternString.AddConverter(log4net.Util.PatternString.ConverterInfo)"/> or
25573             <see cref="M:log4net.Util.PatternString.AddConverter(System.String,System.Type)"/>.
25574             </para>
25575             <para>
25576             See the <see cref="T:log4net.Layout.PatternLayout"/> for details on the 
25577             <i>format modifiers</i> supported by the patterns.
25578             </para>
25579             </remarks>
25580             <author>Nicko Cadell</author>
25581         </member>
25582         <member name="F:log4net.Util.PatternString.s_globalRulesRegistry">
25583             <summary>
25584             Internal map of converter identifiers to converter types.
25585             </summary>
25586         </member>
25587         <member name="F:log4net.Util.PatternString.m_pattern">
25588             <summary>
25589             the pattern
25590             </summary>
25591         </member>
25592         <member name="F:log4net.Util.PatternString.m_head">
25593             <summary>
25594             the head of the pattern converter chain
25595             </summary>
25596         </member>
25597         <member name="F:log4net.Util.PatternString.m_instanceRulesRegistry">
25598             <summary>
25599             patterns defined on this PatternString only
25600             </summary>
25601         </member>
25602         <member name="M:log4net.Util.PatternString.#cctor">
25603             <summary>
25604             Initialize the global registry
25605             </summary>
25606         </member>
25607         <member name="M:log4net.Util.PatternString.#ctor">
25608             <summary>
25609             Default constructor
25610             </summary>
25611             <remarks>
25612             <para>
25613             Initialize a new instance of <see cref="T:log4net.Util.PatternString"/>
25614             </para>
25615             </remarks>
25616         </member>
25617         <member name="M:log4net.Util.PatternString.#ctor(System.String)">
25618             <summary>
25619             Constructs a PatternString
25620             </summary>
25621             <param name="pattern">The pattern to use with this PatternString</param>
25622             <remarks>
25623             <para>
25624             Initialize a new instance of <see cref="T:log4net.Util.PatternString"/> with the pattern specified.
25625             </para>
25626             </remarks>
25627         </member>
25628         <member name="M:log4net.Util.PatternString.ActivateOptions">
25629             <summary>
25630             Initialize object options
25631             </summary>
25632             <remarks>
25633             <para>
25634             This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
25635             activation scheme. The <see cref="M:log4net.Util.PatternString.ActivateOptions"/> method must 
25636             be called on this object after the configuration properties have
25637             been set. Until <see cref="M:log4net.Util.PatternString.ActivateOptions"/> is called this
25638             object is in an undefined state and must not be used. 
25639             </para>
25640             <para>
25641             If any of the configuration properties are modified then 
25642             <see cref="M:log4net.Util.PatternString.ActivateOptions"/> must be called again.
25643             </para>
25644             </remarks>
25645         </member>
25646         <member name="M:log4net.Util.PatternString.CreatePatternParser(System.String)">
25647             <summary>
25648             Create the <see cref="T:log4net.Util.PatternParser"/> used to parse the pattern
25649             </summary>
25650             <param name="pattern">the pattern to parse</param>
25651             <returns>The <see cref="T:log4net.Util.PatternParser"/></returns>
25652             <remarks>
25653             <para>
25654             Returns PatternParser used to parse the conversion string. Subclasses
25655             may override this to return a subclass of PatternParser which recognize
25656             custom conversion pattern name.
25657             </para>
25658             </remarks>
25659         </member>
25660         <member name="M:log4net.Util.PatternString.Format(System.IO.TextWriter)">
25661             <summary>
25662             Produces a formatted string as specified by the conversion pattern.
25663             </summary>
25664             <param name="writer">The TextWriter to write the formatted event to</param>
25665             <remarks>
25666             <para>
25667             Format the pattern to the <paramref name="writer"/>.
25668             </para>
25669             </remarks>
25670         </member>
25671         <member name="M:log4net.Util.PatternString.Format">
25672             <summary>
25673             Format the pattern as a string
25674             </summary>
25675             <returns>the pattern formatted as a string</returns>
25676             <remarks>
25677             <para>
25678             Format the pattern to a string.
25679             </para>
25680             </remarks>
25681         </member>
25682         <member name="M:log4net.Util.PatternString.AddConverter(log4net.Util.PatternString.ConverterInfo)">
25683             <summary>
25684             Add a converter to this PatternString
25685             </summary>
25686             <param name="converterInfo">the converter info</param>
25687             <remarks>
25688             <para>
25689             This version of the method is used by the configurator.
25690             Programmatic users should use the alternative <see cref="M:log4net.Util.PatternString.AddConverter(System.String,System.Type)"/> method.
25691             </para>
25692             </remarks>
25693         </member>
25694         <member name="M:log4net.Util.PatternString.AddConverter(System.String,System.Type)">
25695             <summary>
25696             Add a converter to this PatternString
25697             </summary>
25698             <param name="name">the name of the conversion pattern for this converter</param>
25699             <param name="type">the type of the converter</param>
25700             <remarks>
25701             <para>
25702             Add a converter to this PatternString
25703             </para>
25704             </remarks>
25705         </member>
25706         <member name="P:log4net.Util.PatternString.ConversionPattern">
25707             <summary>
25708             Gets or sets the pattern formatting string
25709             </summary>
25710             <value>
25711             The pattern formatting string
25712             </value>
25713             <remarks>
25714             <para>
25715             The <b>ConversionPattern</b> option. This is the string which
25716             controls formatting and consists of a mix of literal content and
25717             conversion specifiers.
25718             </para>
25719             </remarks>
25720         </member>
25721         <member name="T:log4net.Util.PatternString.ConverterInfo">
25722             <summary>
25723             Wrapper class used to map converter names to converter types
25724             </summary>
25725             <remarks>
25726             <para>
25727             Wrapper class used to map converter names to converter types
25728             </para>
25729             </remarks>
25730         </member>
25731         <member name="M:log4net.Util.PatternString.ConverterInfo.#ctor">
25732             <summary>
25733             default constructor
25734             </summary>
25735         </member>
25736         <member name="P:log4net.Util.PatternString.ConverterInfo.Name">
25737             <summary>
25738             Gets or sets the name of the conversion pattern
25739             </summary>
25740             <value>
25741             The name of the conversion pattern
25742             </value>
25743             <remarks>
25744             <para>
25745             Gets or sets the name of the conversion pattern
25746             </para>
25747             </remarks>
25748         </member>
25749         <member name="P:log4net.Util.PatternString.ConverterInfo.Type">
25750             <summary>
25751             Gets or sets the type of the converter
25752             </summary>
25753             <value>
25754             The type of the converter
25755             </value>
25756             <remarks>
25757             <para>
25758             Gets or sets the type of the converter
25759             </para>
25760             </remarks>
25761         </member>
25762         <member name="T:log4net.Util.PropertiesDictionary">
25763             <summary>
25764             String keyed object map.
25765             </summary>
25766             <remarks>
25767             <para>
25768             While this collection is serializable only member 
25769             objects that are serializable will
25770             be serialized along with this collection.
25771             </para>
25772             </remarks>
25773             <author>Nicko Cadell</author>
25774             <author>Gert Driesen</author>
25775         </member>
25776         <member name="T:log4net.Util.ReadOnlyPropertiesDictionary">
25777             <summary>
25778             String keyed object map that is read only.
25779             </summary>
25780             <remarks>
25781             <para>
25782             This collection is readonly and cannot be modified.
25783             </para>
25784             <para>
25785             While this collection is serializable only member 
25786             objects that are serializable will
25787             be serialized along with this collection.
25788             </para>
25789             </remarks>
25790             <author>Nicko Cadell</author>
25791             <author>Gert Driesen</author>
25792         </member>
25793         <member name="F:log4net.Util.ReadOnlyPropertiesDictionary.m_hashtable">
25794             <summary>
25795             The Hashtable used to store the properties data
25796             </summary>
25797         </member>
25798         <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.#ctor">
25799             <summary>
25800             Constructor
25801             </summary>
25802             <remarks>
25803             <para>
25804             Initializes a new instance of the <see cref="T:log4net.Util.ReadOnlyPropertiesDictionary"/> class.
25805             </para>
25806             </remarks>
25807         </member>
25808         <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.#ctor(log4net.Util.ReadOnlyPropertiesDictionary)">
25809             <summary>
25810             Copy Constructor
25811             </summary>
25812             <param name="propertiesDictionary">properties to copy</param>
25813             <remarks>
25814             <para>
25815             Initializes a new instance of the <see cref="T:log4net.Util.ReadOnlyPropertiesDictionary"/> class.
25816             </para>
25817             </remarks>
25818         </member>
25819         <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
25820             <summary>
25821             Deserialization constructor
25822             </summary>
25823             <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data.</param>
25824             <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
25825             <remarks>
25826             <para>
25827             Initializes a new instance of the <see cref="T:log4net.Util.ReadOnlyPropertiesDictionary"/> class 
25828             with serialized data.
25829             </para>
25830             </remarks>
25831         </member>
25832         <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.GetKeys">
25833             <summary>
25834             Gets the key names.
25835             </summary>
25836             <returns>An array of all the keys.</returns>
25837             <remarks>
25838             <para>
25839             Gets the key names.
25840             </para>
25841             </remarks>
25842         </member>
25843         <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.Contains(System.String)">
25844             <summary>
25845             Test if the dictionary contains a specified key
25846             </summary>
25847             <param name="key">the key to look for</param>
25848             <returns>true if the dictionary contains the specified key</returns>
25849             <remarks>
25850             <para>
25851             Test if the dictionary contains a specified key
25852             </para>
25853             </remarks>
25854         </member>
25855         <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
25856             <summary>
25857             Serializes this object into the <see cref="T:System.Runtime.Serialization.SerializationInfo"/> provided.
25858             </summary>
25859             <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> to populate with data.</param>
25860             <param name="context">The destination for this serialization.</param>
25861             <remarks>
25862             <para>
25863             Serializes this object into the <see cref="T:System.Runtime.Serialization.SerializationInfo"/> provided.
25864             </para>
25865             </remarks>
25866         </member>
25867         <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#GetEnumerator">
25868             <summary>
25869             See <see cref="M:System.Collections.IDictionary.GetEnumerator"/>
25870             </summary>
25871         </member>
25872         <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#Remove(System.Object)">
25873             <summary>
25874             See <see cref="M:System.Collections.IDictionary.Remove(System.Object)"/>
25875             </summary>
25876             <param name="key"></param>
25877         </member>
25878         <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#Contains(System.Object)">
25879             <summary>
25880             See <see cref="M:System.Collections.IDictionary.Contains(System.Object)"/>
25881             </summary>
25882             <param name="key"></param>
25883             <returns></returns>
25884         </member>
25885         <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.Clear">
25886             <summary>
25887             Remove all properties from the properties collection
25888             </summary>
25889         </member>
25890         <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#Add(System.Object,System.Object)">
25891             <summary>
25892             See <see cref="M:System.Collections.IDictionary.Add(System.Object,System.Object)"/>
25893             </summary>
25894             <param name="key"></param>
25895             <param name="value"></param>
25896         </member>
25897         <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
25898             <summary>
25899             See <see cref="M:System.Collections.ICollection.CopyTo(System.Array,System.Int32)"/>
25900             </summary>
25901             <param name="array"></param>
25902             <param name="index"></param>
25903         </member>
25904         <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IEnumerable#GetEnumerator">
25905             <summary>
25906             See <see cref="M:System.Collections.IEnumerable.GetEnumerator"/>
25907             </summary>
25908         </member>
25909         <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.Item(System.String)">
25910             <summary>
25911             Gets or sets the value of the  property with the specified key.
25912             </summary>
25913             <value>
25914             The value of the property with the specified key.
25915             </value>
25916             <param name="key">The key of the property to get or set.</param>
25917             <remarks>
25918             <para>
25919             The property value will only be serialized if it is serializable.
25920             If it cannot be serialized it will be silently ignored if
25921             a serialization operation is performed.
25922             </para>
25923             </remarks>
25924         </member>
25925         <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.InnerHashtable">
25926             <summary>
25927             The hashtable used to store the properties
25928             </summary>
25929             <value>
25930             The internal collection used to store the properties
25931             </value>
25932             <remarks>
25933             <para>
25934             The hashtable used to store the properties
25935             </para>
25936             </remarks>
25937         </member>
25938         <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#IsReadOnly">
25939             <summary>
25940             See <see cref="P:System.Collections.IDictionary.IsReadOnly"/>
25941             </summary>
25942         </member>
25943         <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#Item(System.Object)">
25944             <summary>
25945             See <see cref="P:System.Collections.IDictionary.Item(System.Object)"/>
25946             </summary>
25947         </member>
25948         <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#Values">
25949             <summary>
25950             See <see cref="P:System.Collections.IDictionary.Values"/>
25951             </summary>
25952         </member>
25953         <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#Keys">
25954             <summary>
25955             See <see cref="P:System.Collections.IDictionary.Keys"/>
25956             </summary>
25957         </member>
25958         <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#IsFixedSize">
25959             <summary>
25960             See <see cref="P:System.Collections.IDictionary.IsFixedSize"/>
25961             </summary>
25962         </member>
25963         <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#ICollection#IsSynchronized">
25964             <summary>
25965             See <see cref="P:System.Collections.ICollection.IsSynchronized"/>
25966             </summary>
25967         </member>
25968         <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.Count">
25969             <summary>
25970             The number of properties in this collection
25971             </summary>
25972         </member>
25973         <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#ICollection#SyncRoot">
25974             <summary>
25975             See <see cref="P:System.Collections.ICollection.SyncRoot"/>
25976             </summary>
25977         </member>
25978         <member name="M:log4net.Util.PropertiesDictionary.#ctor">
25979             <summary>
25980             Constructor
25981             </summary>
25982             <remarks>
25983             <para>
25984             Initializes a new instance of the <see cref="T:log4net.Util.PropertiesDictionary"/> class.
25985             </para>
25986             </remarks>
25987         </member>
25988         <member name="M:log4net.Util.PropertiesDictionary.#ctor(log4net.Util.ReadOnlyPropertiesDictionary)">
25989             <summary>
25990             Constructor
25991             </summary>
25992             <param name="propertiesDictionary">properties to copy</param>
25993             <remarks>
25994             <para>
25995             Initializes a new instance of the <see cref="T:log4net.Util.PropertiesDictionary"/> class.
25996             </para>
25997             </remarks>
25998         </member>
25999         <member name="M:log4net.Util.PropertiesDictionary.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
26000             <summary>
26001             Initializes a new instance of the <see cref="T:log4net.Util.PropertiesDictionary"/> class 
26002             with serialized data.
26003             </summary>
26004             <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data.</param>
26005             <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
26006             <remarks>
26007             <para>
26008             Because this class is sealed the serialization constructor is private.
26009             </para>
26010             </remarks>
26011         </member>
26012         <member name="M:log4net.Util.PropertiesDictionary.Remove(System.String)">
26013             <summary>
26014             Remove the entry with the specified key from this dictionary
26015             </summary>
26016             <param name="key">the key for the entry to remove</param>
26017             <remarks>
26018             <para>
26019             Remove the entry with the specified key from this dictionary
26020             </para>
26021             </remarks>
26022         </member>
26023         <member name="M:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#GetEnumerator">
26024             <summary>
26025             See <see cref="M:System.Collections.IDictionary.GetEnumerator"/>
26026             </summary>
26027             <returns>an enumerator</returns>
26028             <remarks>
26029             <para>
26030             Returns a <see cref="T:System.Collections.IDictionaryEnumerator"/> over the contest of this collection.
26031             </para>
26032             </remarks>
26033         </member>
26034         <member name="M:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#Remove(System.Object)">
26035             <summary>
26036             See <see cref="M:System.Collections.IDictionary.Remove(System.Object)"/>
26037             </summary>
26038             <param name="key">the key to remove</param>
26039             <remarks>
26040             <para>
26041             Remove the entry with the specified key from this dictionary
26042             </para>
26043             </remarks>
26044         </member>
26045         <member name="M:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#Contains(System.Object)">
26046             <summary>
26047             See <see cref="M:System.Collections.IDictionary.Contains(System.Object)"/>
26048             </summary>
26049             <param name="key">the key to lookup in the collection</param>
26050             <returns><c>true</c> if the collection contains the specified key</returns>
26051             <remarks>
26052             <para>
26053             Test if this collection contains a specified key.
26054             </para>
26055             </remarks>
26056         </member>
26057         <member name="M:log4net.Util.PropertiesDictionary.Clear">
26058             <summary>
26059             Remove all properties from the properties collection
26060             </summary>
26061             <remarks>
26062             <para>
26063             Remove all properties from the properties collection
26064             </para>
26065             </remarks>
26066         </member>
26067         <member name="M:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#Add(System.Object,System.Object)">
26068             <summary>
26069             See <see cref="M:System.Collections.IDictionary.Add(System.Object,System.Object)"/>
26070             </summary>
26071             <param name="key">the key</param>
26072             <param name="value">the value to store for the key</param>
26073             <remarks>
26074             <para>
26075             Store a value for the specified <see cref="T:System.String"/> <paramref name="key"/>.
26076             </para>
26077             </remarks>
26078             <exception cref="T:System.ArgumentException">Thrown if the <paramref name="key"/> is not a string</exception>
26079         </member>
26080         <member name="M:log4net.Util.PropertiesDictionary.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
26081             <summary>
26082             See <see cref="M:System.Collections.ICollection.CopyTo(System.Array,System.Int32)"/>
26083             </summary>
26084             <param name="array"></param>
26085             <param name="index"></param>
26086         </member>
26087         <member name="M:log4net.Util.PropertiesDictionary.System#Collections#IEnumerable#GetEnumerator">
26088             <summary>
26089             See <see cref="M:System.Collections.IEnumerable.GetEnumerator"/>
26090             </summary>
26091         </member>
26092         <member name="P:log4net.Util.PropertiesDictionary.Item(System.String)">
26093             <summary>
26094             Gets or sets the value of the  property with the specified key.
26095             </summary>
26096             <value>
26097             The value of the property with the specified key.
26098             </value>
26099             <param name="key">The key of the property to get or set.</param>
26100             <remarks>
26101             <para>
26102             The property value will only be serialized if it is serializable.
26103             If it cannot be serialized it will be silently ignored if
26104             a serialization operation is performed.
26105             </para>
26106             </remarks>
26107         </member>
26108         <member name="P:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#IsReadOnly">
26109             <summary>
26110             See <see cref="P:System.Collections.IDictionary.IsReadOnly"/>
26111             </summary>
26112             <value>
26113             <c>false</c>
26114             </value>
26115             <remarks>
26116             <para>
26117             This collection is modifiable. This property always
26118             returns <c>false</c>.
26119             </para>
26120             </remarks>
26121         </member>
26122         <member name="P:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#Item(System.Object)">
26123             <summary>
26124             See <see cref="P:System.Collections.IDictionary.Item(System.Object)"/>
26125             </summary>
26126             <value>
26127             The value for the key specified.
26128             </value>
26129             <remarks>
26130             <para>
26131             Get or set a value for the specified <see cref="T:System.String"/> <paramref name="key"/>.
26132             </para>
26133             </remarks>
26134             <exception cref="T:System.ArgumentException">Thrown if the <paramref name="key"/> is not a string</exception>
26135         </member>
26136         <member name="P:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#Values">
26137             <summary>
26138             See <see cref="P:System.Collections.IDictionary.Values"/>
26139             </summary>
26140         </member>
26141         <member name="P:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#Keys">
26142             <summary>
26143             See <see cref="P:System.Collections.IDictionary.Keys"/>
26144             </summary>
26145         </member>
26146         <member name="P:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#IsFixedSize">
26147             <summary>
26148             See <see cref="P:System.Collections.IDictionary.IsFixedSize"/>
26149             </summary>
26150         </member>
26151         <member name="P:log4net.Util.PropertiesDictionary.System#Collections#ICollection#IsSynchronized">
26152             <summary>
26153             See <see cref="P:System.Collections.ICollection.IsSynchronized"/>
26154             </summary>
26155         </member>
26156         <member name="P:log4net.Util.PropertiesDictionary.System#Collections#ICollection#SyncRoot">
26157             <summary>
26158             See <see cref="P:System.Collections.ICollection.SyncRoot"/>
26159             </summary>
26160         </member>
26161         <member name="T:log4net.Util.ProtectCloseTextWriter">
26162             <summary>
26163             A <see cref="T:System.IO.TextWriter"/> that ignores the <see cref="M:log4net.Util.ProtectCloseTextWriter.Close"/> message
26164             </summary>
26165             <remarks>
26166             <para>
26167             This writer is used in special cases where it is necessary 
26168             to protect a writer from being closed by a client.
26169             </para>
26170             </remarks>
26171             <author>Nicko Cadell</author>
26172         </member>
26173         <member name="M:log4net.Util.ProtectCloseTextWriter.#ctor(System.IO.TextWriter)">
26174             <summary>
26175             Constructor
26176             </summary>
26177             <param name="writer">the writer to actually write to</param>
26178             <remarks>
26179             <para>
26180             Create a new ProtectCloseTextWriter using a writer
26181             </para>
26182             </remarks>
26183         </member>
26184         <member name="M:log4net.Util.ProtectCloseTextWriter.Attach(System.IO.TextWriter)">
26185             <summary>
26186             Attach this instance to a different underlying <see cref="T:System.IO.TextWriter"/>
26187             </summary>
26188             <param name="writer">the writer to attach to</param>
26189             <remarks>
26190             <para>
26191             Attach this instance to a different underlying <see cref="T:System.IO.TextWriter"/>
26192             </para>
26193             </remarks>
26194         </member>
26195         <member name="M:log4net.Util.ProtectCloseTextWriter.Close">
26196             <summary>
26197             Does not close the underlying output writer.
26198             </summary>
26199             <remarks>
26200             <para>
26201             Does not close the underlying output writer.
26202             This method does nothing.
26203             </para>
26204             </remarks>
26205         </member>
26206         <member name="T:log4net.Util.ReaderWriterLock">
26207             <summary>
26208             Defines a lock that supports single writers and multiple readers
26209             </summary>
26210             <remarks>
26211             <para>
26212             <c>ReaderWriterLock</c> is used to synchronize access to a resource. 
26213             At any given time, it allows either concurrent read access for 
26214             multiple threads, or write access for a single thread. In a 
26215             situation where a resource is changed infrequently, a 
26216             <c>ReaderWriterLock</c> provides better throughput than a simple 
26217             one-at-a-time lock, such as <see cref="T:System.Threading.Monitor"/>.
26218             </para>
26219             <para>
26220             If a platform does not support a <c>System.Threading.ReaderWriterLock</c> 
26221             implementation then all readers and writers are serialized. Therefore 
26222             the caller must not rely on multiple simultaneous readers.
26223             </para>
26224             </remarks>
26225             <author>Nicko Cadell</author>
26226         </member>
26227         <member name="M:log4net.Util.ReaderWriterLock.#ctor">
26228             <summary>
26229             Constructor
26230             </summary>
26231             <remarks>
26232             <para>
26233             Initializes a new instance of the <see cref="T:log4net.Util.ReaderWriterLock"/> class.
26234             </para>
26235             </remarks>
26236         </member>
26237         <member name="M:log4net.Util.ReaderWriterLock.AcquireReaderLock">
26238             <summary>
26239             Acquires a reader lock
26240             </summary>
26241             <remarks>
26242             <para>
26243             <see cref="M:log4net.Util.ReaderWriterLock.AcquireReaderLock"/> blocks if a different thread has the writer 
26244             lock, or if at least one thread is waiting for the writer lock.
26245             </para>
26246             </remarks>
26247         </member>
26248         <member name="M:log4net.Util.ReaderWriterLock.ReleaseReaderLock">
26249             <summary>
26250             Decrements the lock count
26251             </summary>
26252             <remarks>
26253             <para>
26254             <see cref="M:log4net.Util.ReaderWriterLock.ReleaseReaderLock"/> decrements the lock count. When the count 
26255             reaches zero, the lock is released.
26256             </para>
26257             </remarks>
26258         </member>
26259         <member name="M:log4net.Util.ReaderWriterLock.AcquireWriterLock">
26260             <summary>
26261             Acquires the writer lock
26262             </summary>
26263             <remarks>
26264             <para>
26265             This method blocks if another thread has a reader lock or writer lock.
26266             </para>
26267             </remarks>
26268         </member>
26269         <member name="M:log4net.Util.ReaderWriterLock.ReleaseWriterLock">
26270             <summary>
26271             Decrements the lock count on the writer lock
26272             </summary>
26273             <remarks>
26274             <para>
26275             ReleaseWriterLock decrements the writer lock count. 
26276             When the count reaches zero, the writer lock is released.
26277             </para>
26278             </remarks>
26279         </member>
26280         <member name="T:log4net.Util.ReusableStringWriter">
26281             <summary>
26282             A <see cref="T:System.IO.StringWriter"/> that can be <see cref="M:log4net.Util.ReusableStringWriter.Reset(System.Int32,System.Int32)"/> and reused
26283             </summary>
26284             <remarks>
26285             <para>
26286             A <see cref="T:System.IO.StringWriter"/> that can be <see cref="M:log4net.Util.ReusableStringWriter.Reset(System.Int32,System.Int32)"/> and reused.
26287             This uses a single buffer for string operations.
26288             </para>
26289             </remarks>
26290             <author>Nicko Cadell</author>
26291         </member>
26292         <member name="M:log4net.Util.ReusableStringWriter.#ctor(System.IFormatProvider)">
26293             <summary>
26294             Create an instance of <see cref="T:log4net.Util.ReusableStringWriter"/>
26295             </summary>
26296             <param name="formatProvider">the format provider to use</param>
26297             <remarks>
26298             <para>
26299             Create an instance of <see cref="T:log4net.Util.ReusableStringWriter"/>
26300             </para>
26301             </remarks>
26302         </member>
26303         <member name="M:log4net.Util.ReusableStringWriter.Dispose(System.Boolean)">
26304             <summary>
26305             Override Dispose to prevent closing of writer
26306             </summary>
26307             <param name="disposing">flag</param>
26308             <remarks>
26309             <para>
26310             Override Dispose to prevent closing of writer
26311             </para>
26312             </remarks>
26313         </member>
26314         <member name="M:log4net.Util.ReusableStringWriter.Reset(System.Int32,System.Int32)">
26315             <summary>
26316             Reset this string writer so that it can be reused.
26317             </summary>
26318             <param name="maxCapacity">the maximum buffer capacity before it is trimmed</param>
26319             <param name="defaultSize">the default size to make the buffer</param>
26320             <remarks>
26321             <para>
26322             Reset this string writer so that it can be reused.
26323             The internal buffers are cleared and reset.
26324             </para>
26325             </remarks>
26326         </member>
26327         <member name="T:log4net.Util.SystemInfo">
26328             <summary>
26329             Utility class for system specific information.
26330             </summary>
26331             <remarks>
26332             <para>
26333             Utility class of static methods for system specific information.
26334             </para>
26335             </remarks>
26336             <author>Nicko Cadell</author>
26337             <author>Gert Driesen</author>
26338             <author>Alexey Solofnenko</author>
26339         </member>
26340         <member name="M:log4net.Util.SystemInfo.#ctor">
26341             <summary>
26342             Private constructor to prevent instances.
26343             </summary>
26344             <remarks>
26345             <para>
26346             Only static methods are exposed from this type.
26347             </para>
26348             </remarks>
26349         </member>
26350         <member name="M:log4net.Util.SystemInfo.#cctor">
26351             <summary>
26352             Initialize default values for private static fields.
26353             </summary>
26354             <remarks>
26355             <para>
26356             Only static methods are exposed from this type.
26357             </para>
26358             </remarks>
26359         </member>
26360         <member name="M:log4net.Util.SystemInfo.AssemblyLocationInfo(System.Reflection.Assembly)">
26361             <summary>
26362             Gets the assembly location path for the specified assembly.
26363             </summary>
26364             <param name="myAssembly">The assembly to get the location for.</param>
26365             <returns>The location of the assembly.</returns>
26366             <remarks>
26367             <para>
26368             This method does not guarantee to return the correct path
26369             to the assembly. If only tries to give an indication as to
26370             where the assembly was loaded from.
26371             </para>
26372             </remarks>
26373         </member>
26374         <member name="M:log4net.Util.SystemInfo.AssemblyQualifiedName(System.Type)">
26375             <summary>
26376             Gets the fully qualified name of the <see cref="T:System.Type"/>, including 
26377             the name of the assembly from which the <see cref="T:System.Type"/> was 
26378             loaded.
26379             </summary>
26380             <param name="type">The <see cref="T:System.Type"/> to get the fully qualified name for.</param>
26381             <returns>The fully qualified name for the <see cref="T:System.Type"/>.</returns>
26382             <remarks>
26383             <para>
26384             This is equivalent to the <c>Type.AssemblyQualifiedName</c> property,
26385             but this method works on the .NET Compact Framework 1.0 as well as
26386             the full .NET runtime.
26387             </para>
26388             </remarks>
26389         </member>
26390         <member name="M:log4net.Util.SystemInfo.AssemblyShortName(System.Reflection.Assembly)">
26391             <summary>
26392             Gets the short name of the <see cref="T:System.Reflection.Assembly"/>.
26393             </summary>
26394             <param name="myAssembly">The <see cref="T:System.Reflection.Assembly"/> to get the name for.</param>
26395             <returns>The short name of the <see cref="T:System.Reflection.Assembly"/>.</returns>
26396             <remarks>
26397             <para>
26398             The short name of the assembly is the <see cref="P:System.Reflection.Assembly.FullName"/> 
26399             without the version, culture, or public key. i.e. it is just the 
26400             assembly's file name without the extension.
26401             </para>
26402             <para>
26403             Use this rather than <c>Assembly.GetName().Name</c> because that
26404             is not available on the Compact Framework.
26405             </para>
26406             <para>
26407             Because of a FileIOPermission security demand we cannot do
26408             the obvious Assembly.GetName().Name. We are allowed to get
26409             the <see cref="P:System.Reflection.Assembly.FullName"/> of the assembly so we 
26410             start from there and strip out just the assembly name.
26411             </para>
26412             </remarks>
26413         </member>
26414         <member name="M:log4net.Util.SystemInfo.AssemblyFileName(System.Reflection.Assembly)">
26415             <summary>
26416             Gets the file name portion of the <see cref="T:System.Reflection.Assembly"/>, including the extension.
26417             </summary>
26418             <param name="myAssembly">The <see cref="T:System.Reflection.Assembly"/> to get the file name for.</param>
26419             <returns>The file name of the assembly.</returns>
26420             <remarks>
26421             <para>
26422             Gets the file name portion of the <see cref="T:System.Reflection.Assembly"/>, including the extension.
26423             </para>
26424             </remarks>
26425         </member>
26426         <member name="M:log4net.Util.SystemInfo.GetTypeFromString(System.Type,System.String,System.Boolean,System.Boolean)">
26427             <summary>
26428             Loads the type specified in the type string.
26429             </summary>
26430             <param name="relativeType">A sibling type to use to load the type.</param>
26431             <param name="typeName">The name of the type to load.</param>
26432             <param name="throwOnError">Flag set to <c>true</c> to throw an exception if the type cannot be loaded.</param>
26433             <param name="ignoreCase"><c>true</c> to ignore the case of the type name; otherwise, <c>false</c></param>
26434             <returns>The type loaded or <c>null</c> if it could not be loaded.</returns>
26435             <remarks>
26436             <para>
26437             If the type name is fully qualified, i.e. if contains an assembly name in 
26438             the type name, the type will be loaded from the system using 
26439             <see cref="M:System.Type.GetType(System.String,System.Boolean)"/>.
26440             </para>
26441             <para>
26442             If the type name is not fully qualified, it will be loaded from the assembly
26443             containing the specified relative type. If the type is not found in the assembly 
26444             then all the loaded assemblies will be searched for the type.
26445             </para>
26446             </remarks>
26447         </member>
26448         <member name="M:log4net.Util.SystemInfo.GetTypeFromString(System.String,System.Boolean,System.Boolean)">
26449             <summary>
26450             Loads the type specified in the type string.
26451             </summary>
26452             <param name="typeName">The name of the type to load.</param>
26453             <param name="throwOnError">Flag set to <c>true</c> to throw an exception if the type cannot be loaded.</param>
26454             <param name="ignoreCase"><c>true</c> to ignore the case of the type name; otherwise, <c>false</c></param>
26455             <returns>The type loaded or <c>null</c> if it could not be loaded.</returns>                
26456             <remarks>
26457             <para>
26458             If the type name is fully qualified, i.e. if contains an assembly name in 
26459             the type name, the type will be loaded from the system using 
26460             <see cref="M:System.Type.GetType(System.String,System.Boolean)"/>.
26461             </para>
26462             <para>
26463             If the type name is not fully qualified it will be loaded from the
26464             assembly that is directly calling this method. If the type is not found 
26465             in the assembly then all the loaded assemblies will be searched for the type.
26466             </para>
26467             </remarks>
26468         </member>
26469         <member name="M:log4net.Util.SystemInfo.GetTypeFromString(System.Reflection.Assembly,System.String,System.Boolean,System.Boolean)">
26470             <summary>
26471             Loads the type specified in the type string.
26472             </summary>
26473             <param name="relativeAssembly">An assembly to load the type from.</param>
26474             <param name="typeName">The name of the type to load.</param>
26475             <param name="throwOnError">Flag set to <c>true</c> to throw an exception if the type cannot be loaded.</param>
26476             <param name="ignoreCase"><c>true</c> to ignore the case of the type name; otherwise, <c>false</c></param>
26477             <returns>The type loaded or <c>null</c> if it could not be loaded.</returns>
26478             <remarks>
26479             <para>
26480             If the type name is fully qualified, i.e. if contains an assembly name in 
26481             the type name, the type will be loaded from the system using 
26482             <see cref="M:System.Type.GetType(System.String,System.Boolean)"/>.
26483             </para>
26484             <para>
26485             If the type name is not fully qualified it will be loaded from the specified
26486             assembly. If the type is not found in the assembly then all the loaded assemblies 
26487             will be searched for the type.
26488             </para>
26489             </remarks>
26490         </member>
26491         <member name="M:log4net.Util.SystemInfo.NewGuid">
26492             <summary>
26493             Generate a new guid
26494             </summary>
26495             <returns>A new Guid</returns>
26496             <remarks>
26497             <para>
26498             Generate a new guid
26499             </para>
26500             </remarks>
26501         </member>
26502         <member name="M:log4net.Util.SystemInfo.CreateArgumentOutOfRangeException(System.String,System.Object,System.String)">
26503             <summary>
26504             Create an <see cref="T:System.ArgumentOutOfRangeException"/>
26505             </summary>
26506             <param name="parameterName">The name of the parameter that caused the exception</param>
26507             <param name="actualValue">The value of the argument that causes this exception</param>
26508             <param name="message">The message that describes the error</param>
26509             <returns>the ArgumentOutOfRangeException object</returns>
26510             <remarks>
26511             <para>
26512             Create a new instance of the <see cref="T:System.ArgumentOutOfRangeException"/> class 
26513             with a specified error message, the parameter name, and the value 
26514             of the argument.
26515             </para>
26516             <para>
26517             The Compact Framework does not support the 3 parameter constructor for the
26518             <see cref="T:System.ArgumentOutOfRangeException"/> type. This method provides an
26519             implementation that works for all platforms.
26520             </para>
26521             </remarks>
26522         </member>
26523         <member name="M:log4net.Util.SystemInfo.TryParse(System.String,System.Int32@)">
26524             <summary>
26525             Parse a string into an <see cref="T:System.Int32"/> value
26526             </summary>
26527             <param name="s">the string to parse</param>
26528             <param name="val">out param where the parsed value is placed</param>
26529             <returns><c>true</c> if the string was able to be parsed into an integer</returns>
26530             <remarks>
26531             <para>
26532             Attempts to parse the string into an integer. If the string cannot
26533             be parsed then this method returns <c>false</c>. The method does not throw an exception.
26534             </para>
26535             </remarks>
26536         </member>
26537         <member name="M:log4net.Util.SystemInfo.TryParse(System.String,System.Int64@)">
26538             <summary>
26539             Parse a string into an <see cref="T:System.Int64"/> value
26540             </summary>
26541             <param name="s">the string to parse</param>
26542             <param name="val">out param where the parsed value is placed</param>
26543             <returns><c>true</c> if the string was able to be parsed into an integer</returns>
26544             <remarks>
26545             <para>
26546             Attempts to parse the string into an integer. If the string cannot
26547             be parsed then this method returns <c>false</c>. The method does not throw an exception.
26548             </para>
26549             </remarks>
26550         </member>
26551         <member name="M:log4net.Util.SystemInfo.GetAppSetting(System.String)">
26552             <summary>
26553             Lookup an application setting
26554             </summary>
26555             <param name="key">the application settings key to lookup</param>
26556             <returns>the value for the key, or <c>null</c></returns>
26557             <remarks>
26558             <para>
26559             Configuration APIs are not supported under the Compact Framework
26560             </para>
26561             </remarks>
26562         </member>
26563         <member name="M:log4net.Util.SystemInfo.ConvertToFullPath(System.String)">
26564             <summary>
26565             Convert a path into a fully qualified local file path.
26566             </summary>
26567             <param name="path">The path to convert.</param>
26568             <returns>The fully qualified path.</returns>
26569             <remarks>
26570             <para>
26571             Converts the path specified to a fully
26572             qualified path. If the path is relative it is
26573             taken as relative from the application base 
26574             directory.
26575             </para>
26576             <para>
26577             The path specified must be a local file path, a URI is not supported.
26578             </para>
26579             </remarks>
26580         </member>
26581         <member name="M:log4net.Util.SystemInfo.CreateCaseInsensitiveHashtable">
26582             <summary>
26583             Creates a new case-insensitive instance of the <see cref="T:System.Collections.Hashtable"/> class with the default initial capacity. 
26584             </summary>
26585             <returns>A new case-insensitive instance of the <see cref="T:System.Collections.Hashtable"/> class with the default initial capacity</returns>
26586             <remarks>
26587             <para>
26588             The new Hashtable instance uses the default load factor, the CaseInsensitiveHashCodeProvider, and the CaseInsensitiveComparer.
26589             </para>
26590             </remarks>
26591         </member>
26592         <member name="F:log4net.Util.SystemInfo.EmptyTypes">
26593             <summary>
26594             Gets an empty array of types.
26595             </summary>
26596             <remarks>
26597             <para>
26598             The <c>Type.EmptyTypes</c> field is not available on
26599             the .NET Compact Framework 1.0.
26600             </para>
26601             </remarks>
26602         </member>
26603         <member name="F:log4net.Util.SystemInfo.s_hostName">
26604             <summary>
26605             Cache the host name for the current machine
26606             </summary>
26607         </member>
26608         <member name="F:log4net.Util.SystemInfo.s_appFriendlyName">
26609             <summary>
26610             Cache the application friendly name
26611             </summary>
26612         </member>
26613         <member name="F:log4net.Util.SystemInfo.s_nullText">
26614             <summary>
26615             Text to output when a <c>null</c> is encountered.
26616             </summary>
26617         </member>
26618         <member name="F:log4net.Util.SystemInfo.s_notAvailableText">
26619             <summary>
26620             Text to output when an unsupported feature is requested.
26621             </summary>
26622         </member>
26623         <member name="F:log4net.Util.SystemInfo.s_processStartTime">
26624             <summary>
26625             Start time for the current process.
26626             </summary>
26627         </member>
26628         <member name="P:log4net.Util.SystemInfo.NewLine">
26629             <summary>
26630             Gets the system dependent line terminator.
26631             </summary>
26632             <value>
26633             The system dependent line terminator.
26634             </value>
26635             <remarks>
26636             <para>
26637             Gets the system dependent line terminator.
26638             </para>
26639             </remarks>
26640         </member>
26641         <member name="P:log4net.Util.SystemInfo.ApplicationBaseDirectory">
26642             <summary>
26643             Gets the base directory for this <see cref="T:System.AppDomain"/>.
26644             </summary>
26645             <value>The base directory path for the current <see cref="T:System.AppDomain"/>.</value>
26646             <remarks>
26647             <para>
26648             Gets the base directory for this <see cref="T:System.AppDomain"/>.
26649             </para>
26650             <para>
26651             The value returned may be either a local file path or a URI.
26652             </para>
26653             </remarks>
26654         </member>
26655         <member name="P:log4net.Util.SystemInfo.ConfigurationFileLocation">
26656             <summary>
26657             Gets the path to the configuration file for the current <see cref="T:System.AppDomain"/>.
26658             </summary>
26659             <value>The path to the configuration file for the current <see cref="T:System.AppDomain"/>.</value>
26660             <remarks>
26661             <para>
26662             The .NET Compact Framework 1.0 does not have a concept of a configuration
26663             file. For this runtime, we use the entry assembly location as the root for
26664             the configuration file name.
26665             </para>
26666             <para>
26667             The value returned may be either a local file path or a URI.
26668             </para>
26669             </remarks>
26670         </member>
26671         <member name="P:log4net.Util.SystemInfo.EntryAssemblyLocation">
26672             <summary>
26673             Gets the path to the file that first executed in the current <see cref="T:System.AppDomain"/>.
26674             </summary>
26675             <value>The path to the entry assembly.</value>
26676             <remarks>
26677             <para>
26678             Gets the path to the file that first executed in the current <see cref="T:System.AppDomain"/>.
26679             </para>
26680             </remarks>
26681         </member>
26682         <member name="P:log4net.Util.SystemInfo.CurrentThreadId">
26683             <summary>
26684             Gets the ID of the current thread.
26685             </summary>
26686             <value>The ID of the current thread.</value>
26687             <remarks>
26688             <para>
26689             On the .NET framework, the <c>AppDomain.GetCurrentThreadId</c> method
26690             is used to obtain the thread ID for the current thread. This is the 
26691             operating system ID for the thread.
26692             </para>
26693             <para>
26694             On the .NET Compact Framework 1.0 it is not possible to get the 
26695             operating system thread ID for the current thread. The native method 
26696             <c>GetCurrentThreadId</c> is implemented inline in a header file
26697             and cannot be called.
26698             </para>
26699             <para>
26700             On the .NET Framework 2.0 the <c>Thread.ManagedThreadId</c> is used as this
26701             gives a stable id unrelated to the operating system thread ID which may 
26702             change if the runtime is using fibers.
26703             </para>
26704             </remarks>
26705         </member>
26706         <member name="P:log4net.Util.SystemInfo.HostName">
26707             <summary>
26708             Get the host name or machine name for the current machine
26709             </summary>
26710             <value>
26711             The hostname or machine name
26712             </value>
26713             <remarks>
26714             <para>
26715             Get the host name or machine name for the current machine
26716             </para>
26717             <para>
26718             The host name (<see cref="M:System.Net.Dns.GetHostName"/>) or
26719             the machine name (<c>Environment.MachineName</c>) for
26720             the current machine, or if neither of these are available
26721             then <c>NOT AVAILABLE</c> is returned.
26722             </para>
26723             </remarks>
26724         </member>
26725         <member name="P:log4net.Util.SystemInfo.ApplicationFriendlyName">
26726             <summary>
26727             Get this application's friendly name
26728             </summary>
26729             <value>
26730             The friendly name of this application as a string
26731             </value>
26732             <remarks>
26733             <para>
26734             If available the name of the application is retrieved from
26735             the <c>AppDomain</c> using <c>AppDomain.CurrentDomain.FriendlyName</c>.
26736             </para>
26737             <para>
26738             Otherwise the file name of the entry assembly is used.
26739             </para>
26740             </remarks>
26741         </member>
26742         <member name="P:log4net.Util.SystemInfo.ProcessStartTime">
26743             <summary>
26744             Get the start time for the current process.
26745             </summary>
26746             <remarks>
26747             <para>
26748             This is the time at which the log4net library was loaded into the
26749             AppDomain. Due to reports of a hang in the call to <c>System.Diagnostics.Process.StartTime</c>
26750             this is not the start time for the current process.
26751             </para>
26752             <para>
26753             The log4net library should be loaded by an application early during its
26754             startup, therefore this start time should be a good approximation for
26755             the actual start time.
26756             </para>
26757             <para>
26758             Note that AppDomains may be loaded and unloaded within the
26759             same process without the process terminating, however this start time
26760             will be set per AppDomain.
26761             </para>
26762             </remarks>
26763         </member>
26764         <member name="P:log4net.Util.SystemInfo.NullText">
26765             <summary>
26766             Text to output when a <c>null</c> is encountered.
26767             </summary>
26768             <remarks>
26769             <para>
26770             Use this value to indicate a <c>null</c> has been encountered while
26771             outputting a string representation of an item.
26772             </para>
26773             <para>
26774             The default value is <c>(null)</c>. This value can be overridden by specifying
26775             a value for the <c>log4net.NullText</c> appSetting in the application's
26776             .config file.
26777             </para>
26778             </remarks>
26779         </member>
26780         <member name="P:log4net.Util.SystemInfo.NotAvailableText">
26781             <summary>
26782             Text to output when an unsupported feature is requested.
26783             </summary>
26784             <remarks>
26785             <para>
26786             Use this value when an unsupported feature is requested.
26787             </para>
26788             <para>
26789             The default value is <c>NOT AVAILABLE</c>. This value can be overridden by specifying
26790             a value for the <c>log4net.NotAvailableText</c> appSetting in the application's
26791             .config file.
26792             </para>
26793             </remarks>
26794         </member>
26795         <member name="T:log4net.Util.SystemStringFormat">
26796             <summary>
26797             Utility class that represents a format string.
26798             </summary>
26799             <remarks>
26800             <para>
26801             Utility class that represents a format string.
26802             </para>
26803             </remarks>
26804             <author>Nicko Cadell</author>
26805         </member>
26806         <member name="M:log4net.Util.SystemStringFormat.#ctor(System.IFormatProvider,System.String,System.Object[])">
26807             <summary>
26808             Initialise the <see cref="T:log4net.Util.SystemStringFormat"/>
26809             </summary>
26810             <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
26811             <param name="format">A <see cref="T:System.String"/> containing zero or more format items.</param>
26812             <param name="args">An <see cref="T:System.Object"/> array containing zero or more objects to format.</param>
26813         </member>
26814         <member name="M:log4net.Util.SystemStringFormat.ToString">
26815             <summary>
26816             Format the string and arguments
26817             </summary>
26818             <returns>the formatted string</returns>
26819         </member>
26820         <member name="M:log4net.Util.SystemStringFormat.StringFormat(System.IFormatProvider,System.String,System.Object[])">
26821             <summary>
26822             Replaces the format item in a specified <see cref="T:System.String"/> with the text equivalent 
26823             of the value of a corresponding <see cref="T:System.Object"/> instance in a specified array.
26824             A specified parameter supplies culture-specific formatting information.
26825             </summary>
26826             <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
26827             <param name="format">A <see cref="T:System.String"/> containing zero or more format items.</param>
26828             <param name="args">An <see cref="T:System.Object"/> array containing zero or more objects to format.</param>
26829             <returns>
26830             A copy of format in which the format items have been replaced by the <see cref="T:System.String"/> 
26831             equivalent of the corresponding instances of <see cref="T:System.Object"/> in args.
26832             </returns>
26833             <remarks>
26834             <para>
26835             This method does not throw exceptions. If an exception thrown while formatting the result the
26836             exception and arguments are returned in the result string.
26837             </para>
26838             </remarks>
26839         </member>
26840         <member name="M:log4net.Util.SystemStringFormat.StringFormatError(System.Exception,System.String,System.Object[])">
26841             <summary>
26842             Process an error during StringFormat
26843             </summary>
26844         </member>
26845         <member name="M:log4net.Util.SystemStringFormat.RenderArray(System.Array,System.Text.StringBuilder)">
26846             <summary>
26847             Dump the contents of an array into a string builder
26848             </summary>
26849         </member>
26850         <member name="M:log4net.Util.SystemStringFormat.RenderObject(System.Object,System.Text.StringBuilder)">
26851             <summary>
26852             Dump an object to a string
26853             </summary>
26854         </member>
26855         <member name="T:log4net.Util.ThreadContextProperties">
26856             <summary>
26857             Implementation of Properties collection for the <see cref="T:log4net.ThreadContext"/>
26858             </summary>
26859             <remarks>
26860             <para>
26861             Class implements a collection of properties that is specific to each thread.
26862             The class is not synchronized as each thread has its own <see cref="T:log4net.Util.PropertiesDictionary"/>.
26863             </para>
26864             </remarks>
26865             <author>Nicko Cadell</author>
26866         </member>
26867         <member name="F:log4net.Util.ThreadContextProperties.s_threadLocalSlot">
26868             <summary>
26869             The thread local data slot to use to store a PropertiesDictionary.
26870             </summary>
26871         </member>
26872         <member name="M:log4net.Util.ThreadContextProperties.#ctor">
26873             <summary>
26874             Internal constructor
26875             </summary>
26876             <remarks>
26877             <para>
26878             Initializes a new instance of the <see cref="T:log4net.Util.ThreadContextProperties"/> class.
26879             </para>
26880             </remarks>
26881         </member>
26882         <member name="M:log4net.Util.ThreadContextProperties.Remove(System.String)">
26883             <summary>
26884             Remove a property
26885             </summary>
26886             <param name="key">the key for the entry to remove</param>
26887             <remarks>
26888             <para>
26889             Remove a property
26890             </para>
26891             </remarks>
26892         </member>
26893         <member name="M:log4net.Util.ThreadContextProperties.Clear">
26894             <summary>
26895             Clear all properties
26896             </summary>
26897             <remarks>
26898             <para>
26899             Clear all properties
26900             </para>
26901             </remarks>
26902         </member>
26903         <member name="M:log4net.Util.ThreadContextProperties.GetProperties(System.Boolean)">
26904             <summary>
26905             Get the <c>PropertiesDictionary</c> for this thread.
26906             </summary>
26907             <param name="create">create the dictionary if it does not exist, otherwise return null if is does not exist</param>
26908             <returns>the properties for this thread</returns>
26909             <remarks>
26910             <para>
26911             The collection returned is only to be used on the calling thread. If the
26912             caller needs to share the collection between different threads then the 
26913             caller must clone the collection before doing so.
26914             </para>
26915             </remarks>
26916         </member>
26917         <member name="P:log4net.Util.ThreadContextProperties.Item(System.String)">
26918             <summary>
26919             Gets or sets the value of a property
26920             </summary>
26921             <value>
26922             The value for the property with the specified key
26923             </value>
26924             <remarks>
26925             <para>
26926             Gets or sets the value of a property
26927             </para>
26928             </remarks>
26929         </member>
26930         <member name="T:log4net.Util.ThreadContextStack">
26931             <summary>
26932             Implementation of Stack for the <see cref="T:log4net.ThreadContext"/>
26933             </summary>
26934             <remarks>
26935             <para>
26936             Implementation of Stack for the <see cref="T:log4net.ThreadContext"/>
26937             </para>
26938             </remarks>
26939             <author>Nicko Cadell</author>
26940         </member>
26941         <member name="F:log4net.Util.ThreadContextStack.m_stack">
26942             <summary>
26943             The stack store.
26944             </summary>
26945         </member>
26946         <member name="M:log4net.Util.ThreadContextStack.#ctor">
26947             <summary>
26948             Internal constructor
26949             </summary>
26950             <remarks>
26951             <para>
26952             Initializes a new instance of the <see cref="T:log4net.Util.ThreadContextStack"/> class. 
26953             </para>
26954             </remarks>
26955         </member>
26956         <member name="M:log4net.Util.ThreadContextStack.Clear">
26957             <summary>
26958             Clears all the contextual information held in this stack.
26959             </summary>
26960             <remarks>
26961             <para>
26962             Clears all the contextual information held in this stack.
26963             Only call this if you think that this tread is being reused after
26964             a previous call execution which may not have completed correctly.
26965             You do not need to use this method if you always guarantee to call
26966             the <see cref="M:System.IDisposable.Dispose"/> method of the <see cref="T:System.IDisposable"/>
26967             returned from <see cref="M:log4net.Util.ThreadContextStack.Push(System.String)"/> even in exceptional circumstances,
26968             for example by using the <c>using(log4net.ThreadContext.Stacks["NDC"].Push("Stack_Message"))</c> 
26969             syntax.
26970             </para>
26971             </remarks>
26972         </member>
26973         <member name="M:log4net.Util.ThreadContextStack.Pop">
26974             <summary>
26975             Removes the top context from this stack.
26976             </summary>
26977             <returns>The message in the context that was removed from the top of this stack.</returns>
26978             <remarks>
26979             <para>
26980             Remove the top context from this stack, and return
26981             it to the caller. If this stack is empty then an
26982             empty string (not <see langword="null"/>) is returned.
26983             </para>
26984             </remarks>
26985         </member>
26986         <member name="M:log4net.Util.ThreadContextStack.Push(System.String)">
26987             <summary>
26988             Pushes a new context message into this stack.
26989             </summary>
26990             <param name="message">The new context message.</param>
26991             <returns>
26992             An <see cref="T:System.IDisposable"/> that can be used to clean up the context stack.
26993             </returns>
26994             <remarks>
26995             <para>
26996             Pushes a new context onto this stack. An <see cref="T:System.IDisposable"/>
26997             is returned that can be used to clean up this stack. This
26998             can be easily combined with the <c>using</c> keyword to scope the
26999             context.
27000             </para>
27001             </remarks>
27002             <example>Simple example of using the <c>Push</c> method with the <c>using</c> keyword.
27003             <code lang="C#">
27004             using(log4net.ThreadContext.Stacks["NDC"].Push("Stack_Message"))
27005             {
27006                 log.Warn("This should have an ThreadContext Stack message");
27007             }
27008             </code>
27009             </example>
27010         </member>
27011         <member name="M:log4net.Util.ThreadContextStack.GetFullMessage">
27012             <summary>
27013             Gets the current context information for this stack.
27014             </summary>
27015             <returns>The current context information.</returns>
27016         </member>
27017         <member name="M:log4net.Util.ThreadContextStack.ToString">
27018             <summary>
27019             Gets the current context information for this stack.
27020             </summary>
27021             <returns>Gets the current context information</returns>
27022             <remarks>
27023             <para>
27024             Gets the current context information for this stack.
27025             </para>
27026             </remarks>
27027         </member>
27028         <member name="M:log4net.Util.ThreadContextStack.log4net#Core#IFixingRequired#GetFixedObject">
27029             <summary>
27030             Get a portable version of this object
27031             </summary>
27032             <returns>the portable instance of this object</returns>
27033             <remarks>
27034             <para>
27035             Get a cross thread portable version of this object
27036             </para>
27037             </remarks>
27038         </member>
27039         <member name="P:log4net.Util.ThreadContextStack.Count">
27040             <summary>
27041             The number of messages in the stack
27042             </summary>
27043             <value>
27044             The current number of messages in the stack
27045             </value>
27046             <remarks>
27047             <para>
27048             The current number of messages in the stack. That is
27049             the number of times <see cref="M:log4net.Util.ThreadContextStack.Push(System.String)"/> has been called
27050             minus the number of times <see cref="M:log4net.Util.ThreadContextStack.Pop"/> has been called.
27051             </para>
27052             </remarks>
27053         </member>
27054         <member name="P:log4net.Util.ThreadContextStack.InternalStack">
27055             <summary>
27056             Gets and sets the internal stack used by this <see cref="T:log4net.Util.ThreadContextStack"/>
27057             </summary>
27058             <value>The internal storage stack</value>
27059             <remarks>
27060             <para>
27061             This property is provided only to support backward compatability 
27062             of the <see cref="T:log4net.NDC"/>. Tytpically the internal stack should not
27063             be modified.
27064             </para>
27065             </remarks>
27066         </member>
27067         <member name="T:log4net.Util.ThreadContextStack.StackFrame">
27068             <summary>
27069             Inner class used to represent a single context frame in the stack.
27070             </summary>
27071             <remarks>
27072             <para>
27073             Inner class used to represent a single context frame in the stack.
27074             </para>
27075             </remarks>
27076         </member>
27077         <member name="M:log4net.Util.ThreadContextStack.StackFrame.#ctor(System.String,log4net.Util.ThreadContextStack.StackFrame)">
27078             <summary>
27079             Constructor
27080             </summary>
27081             <param name="message">The message for this context.</param>
27082             <param name="parent">The parent context in the chain.</param>
27083             <remarks>
27084             <para>
27085             Initializes a new instance of the <see cref="T:log4net.Util.ThreadContextStack.StackFrame"/> class
27086             with the specified message and parent context.
27087             </para>
27088             </remarks>
27089         </member>
27090         <member name="P:log4net.Util.ThreadContextStack.StackFrame.Message">
27091             <summary>
27092             Get the message.
27093             </summary>
27094             <value>The message.</value>
27095             <remarks>
27096             <para>
27097             Get the message.
27098             </para>
27099             </remarks>
27100         </member>
27101         <member name="P:log4net.Util.ThreadContextStack.StackFrame.FullMessage">
27102             <summary>
27103             Gets the full text of the context down to the root level.
27104             </summary>
27105             <value>
27106             The full text of the context down to the root level.
27107             </value>
27108             <remarks>
27109             <para>
27110             Gets the full text of the context down to the root level.
27111             </para>
27112             </remarks>
27113         </member>
27114         <member name="T:log4net.Util.ThreadContextStack.AutoPopStackFrame">
27115             <summary>
27116             Struct returned from the <see cref="M:log4net.Util.ThreadContextStack.Push(System.String)"/> method.
27117             </summary>
27118             <remarks>
27119             <para>
27120             This struct implements the <see cref="T:System.IDisposable"/> and is designed to be used
27121             with the <see langword="using"/> pattern to remove the stack frame at the end of the scope.
27122             </para>
27123             </remarks>
27124         </member>
27125         <member name="F:log4net.Util.ThreadContextStack.AutoPopStackFrame.m_frameStack">
27126             <summary>
27127             The ThreadContextStack internal stack
27128             </summary>
27129         </member>
27130         <member name="F:log4net.Util.ThreadContextStack.AutoPopStackFrame.m_frameDepth">
27131             <summary>
27132             The depth to trim the stack to when this instance is disposed
27133             </summary>
27134         </member>
27135         <member name="M:log4net.Util.ThreadContextStack.AutoPopStackFrame.#ctor(System.Collections.Stack,System.Int32)">
27136             <summary>
27137             Constructor
27138             </summary>
27139             <param name="frameStack">The internal stack used by the ThreadContextStack.</param>
27140             <param name="frameDepth">The depth to return the stack to when this object is disposed.</param>
27141             <remarks>
27142             <para>
27143             Initializes a new instance of the <see cref="T:log4net.Util.ThreadContextStack.AutoPopStackFrame"/> class with
27144             the specified stack and return depth.
27145             </para>
27146             </remarks>
27147         </member>
27148         <member name="M:log4net.Util.ThreadContextStack.AutoPopStackFrame.Dispose">
27149             <summary>
27150             Returns the stack to the correct depth.
27151             </summary>
27152             <remarks>
27153             <para>
27154             Returns the stack to the correct depth.
27155             </para>
27156             </remarks>
27157         </member>
27158         <member name="T:log4net.Util.ThreadContextStacks">
27159             <summary>
27160             Implementation of Stacks collection for the <see cref="T:log4net.ThreadContext"/>
27161             </summary>
27162             <remarks>
27163             <para>
27164             Implementation of Stacks collection for the <see cref="T:log4net.ThreadContext"/>
27165             </para>
27166             </remarks>
27167             <author>Nicko Cadell</author>
27168         </member>
27169         <member name="M:log4net.Util.ThreadContextStacks.#ctor(log4net.Util.ContextPropertiesBase)">
27170             <summary>
27171             Internal constructor
27172             </summary>
27173             <remarks>
27174             <para>
27175             Initializes a new instance of the <see cref="T:log4net.Util.ThreadContextStacks"/> class.
27176             </para>
27177             </remarks>
27178         </member>
27179         <member name="P:log4net.Util.ThreadContextStacks.Item(System.String)">
27180             <summary>
27181             Gets the named thread context stack
27182             </summary>
27183             <value>
27184             The named stack
27185             </value>
27186             <remarks>
27187             <para>
27188             Gets the named thread context stack
27189             </para>
27190             </remarks>
27191         </member>
27192         <member name="T:log4net.Util.Transform">
27193             <summary>
27194             Utility class for transforming strings.
27195             </summary>
27196             <remarks>
27197             <para>
27198             Utility class for transforming strings.
27199             </para>
27200             </remarks>
27201             <author>Nicko Cadell</author>
27202             <author>Gert Driesen</author>
27203         </member>
27204         <member name="M:log4net.Util.Transform.#ctor">
27205             <summary>
27206             Initializes a new instance of the <see cref="T:log4net.Util.Transform"/> class. 
27207             </summary>
27208             <remarks>
27209             <para>
27210             Uses a private access modifier to prevent instantiation of this class.
27211             </para>
27212             </remarks>
27213         </member>
27214         <member name="M:log4net.Util.Transform.WriteEscapedXmlString(System.Xml.XmlWriter,System.String,System.String)">
27215             <summary>
27216             Write a string to an <see cref="T:System.Xml.XmlWriter"/>
27217             </summary>
27218             <param name="writer">the writer to write to</param>
27219             <param name="textData">the string to write</param>
27220             <param name="invalidCharReplacement">The string to replace non XML compliant chars with</param>
27221             <remarks>
27222             <para>
27223             The test is escaped either using XML escape entities
27224             or using CDATA sections.
27225             </para>
27226             </remarks>
27227         </member>
27228         <member name="M:log4net.Util.Transform.MaskXmlInvalidCharacters(System.String,System.String)">
27229             <summary>
27230             Replace invalid XML characters in text string
27231             </summary>
27232             <param name="textData">the XML text input string</param>
27233             <param name="mask">the string to use in place of invalid characters</param>
27234             <returns>A string that does not contain invalid XML characters.</returns>
27235             <remarks>
27236             <para>
27237             Certain Unicode code points are not allowed in the XML InfoSet, for
27238             details see: <a href="http://www.w3.org/TR/REC-xml/#charsets">http://www.w3.org/TR/REC-xml/#charsets</a>.
27239             </para>
27240             <para>
27241             This method replaces any illegal characters in the input string
27242             with the mask string specified.
27243             </para>
27244             </remarks>
27245         </member>
27246         <member name="M:log4net.Util.Transform.CountSubstrings(System.String,System.String)">
27247             <summary>
27248             Count the number of times that the substring occurs in the text
27249             </summary>
27250             <param name="text">the text to search</param>
27251             <param name="substring">the substring to find</param>
27252             <returns>the number of times the substring occurs in the text</returns>
27253             <remarks>
27254             <para>
27255             The substring is assumed to be non repeating within itself.
27256             </para>
27257             </remarks>
27258         </member>
27259         <member name="T:log4net.Util.WindowsSecurityContext">
27260             <summary>
27261             Impersonate a Windows Account
27262             </summary>
27263             <remarks>
27264             <para>
27265             This <see cref="T:log4net.Core.SecurityContext"/> impersonates a Windows account.
27266             </para>
27267             <para>
27268             How the impersonation is done depends on the value of <see cref="M:log4net.Util.WindowsSecurityContext.Impersonate(System.Object)"/>.
27269             This allows the context to either impersonate a set of user credentials specified 
27270             using username, domain name and password or to revert to the process credentials.
27271             </para>
27272             </remarks>
27273         </member>
27274         <member name="M:log4net.Util.WindowsSecurityContext.#ctor">
27275             <summary>
27276             Default constructor
27277             </summary>
27278             <remarks>
27279             <para>
27280             Default constructor
27281             </para>
27282             </remarks>
27283         </member>
27284         <member name="M:log4net.Util.WindowsSecurityContext.ActivateOptions">
27285             <summary>
27286             Initialize the SecurityContext based on the options set.
27287             </summary>
27288             <remarks>
27289             <para>
27290             This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
27291             activation scheme. The <see cref="M:log4net.Util.WindowsSecurityContext.ActivateOptions"/> method must 
27292             be called on this object after the configuration properties have
27293             been set. Until <see cref="M:log4net.Util.WindowsSecurityContext.ActivateOptions"/> is called this
27294             object is in an undefined state and must not be used. 
27295             </para>
27296             <para>
27297             If any of the configuration properties are modified then 
27298             <see cref="M:log4net.Util.WindowsSecurityContext.ActivateOptions"/> must be called again.
27299             </para>
27300             <para>
27301             The security context will try to Logon the specified user account and
27302             capture a primary token for impersonation.
27303             </para>
27304             </remarks>
27305             <exception cref="T:System.ArgumentNullException">The required <see cref="P:log4net.Util.WindowsSecurityContext.UserName"/>, 
27306             <see cref="P:log4net.Util.WindowsSecurityContext.DomainName"/> or <see cref="P:log4net.Util.WindowsSecurityContext.Password"/> properties were not specified.</exception>
27307         </member>
27308         <member name="M:log4net.Util.WindowsSecurityContext.Impersonate(System.Object)">
27309             <summary>
27310             Impersonate the Windows account specified by the <see cref="P:log4net.Util.WindowsSecurityContext.UserName"/> and <see cref="P:log4net.Util.WindowsSecurityContext.DomainName"/> properties.
27311             </summary>
27312             <param name="state">caller provided state</param>
27313             <returns>
27314             An <see cref="T:System.IDisposable"/> instance that will revoke the impersonation of this SecurityContext
27315             </returns>
27316             <remarks>
27317             <para>
27318             Depending on the <see cref="P:log4net.Util.WindowsSecurityContext.Credentials"/> property either
27319             impersonate a user using credentials supplied or revert 
27320             to the process credentials.
27321             </para>
27322             </remarks>
27323         </member>
27324         <member name="M:log4net.Util.WindowsSecurityContext.LogonUser(System.String,System.String,System.String)">
27325             <summary>
27326             Create a <see cref="T:System.Security.Principal.WindowsIdentity"/> given the userName, domainName and password.
27327             </summary>
27328             <param name="userName">the user name</param>
27329             <param name="domainName">the domain name</param>
27330             <param name="password">the password</param>
27331             <returns>the <see cref="T:System.Security.Principal.WindowsIdentity"/> for the account specified</returns>
27332             <remarks>
27333             <para>
27334             Uses the Windows API call LogonUser to get a principal token for the account. This
27335             token is used to initialize the WindowsIdentity.
27336             </para>
27337             </remarks>
27338         </member>
27339         <member name="P:log4net.Util.WindowsSecurityContext.Credentials">
27340             <summary>
27341             Gets or sets the impersonation mode for this security context
27342             </summary>
27343             <value>
27344             The impersonation mode for this security context
27345             </value>
27346             <remarks>
27347             <para>
27348             Impersonate either a user with user credentials or
27349             revert this thread to the credentials of the process.
27350             The value is one of the <see cref="T:log4net.Util.WindowsSecurityContext.ImpersonationMode"/>
27351             enum.
27352             </para>
27353             <para>
27354             The default value is <see cref="F:log4net.Util.WindowsSecurityContext.ImpersonationMode.User"/>
27355             </para>
27356             <para>
27357             When the mode is set to <see cref="F:log4net.Util.WindowsSecurityContext.ImpersonationMode.User"/>
27358             the user's credentials are established using the
27359             <see cref="P:log4net.Util.WindowsSecurityContext.UserName"/>, <see cref="P:log4net.Util.WindowsSecurityContext.DomainName"/> and <see cref="P:log4net.Util.WindowsSecurityContext.Password"/>
27360             values.
27361             </para>
27362             <para>
27363             When the mode is set to <see cref="F:log4net.Util.WindowsSecurityContext.ImpersonationMode.Process"/>
27364             no other properties need to be set. If the calling thread is 
27365             impersonating then it will be reverted back to the process credentials.
27366             </para>
27367             </remarks>
27368         </member>
27369         <member name="P:log4net.Util.WindowsSecurityContext.UserName">
27370             <summary>
27371             Gets or sets the Windows username for this security context
27372             </summary>
27373             <value>
27374             The Windows username for this security context
27375             </value>
27376             <remarks>
27377             <para>
27378             This property must be set if <see cref="P:log4net.Util.WindowsSecurityContext.Credentials"/>
27379             is set to <see cref="F:log4net.Util.WindowsSecurityContext.ImpersonationMode.User"/> (the default setting).
27380             </para>
27381             </remarks>
27382         </member>
27383         <member name="P:log4net.Util.WindowsSecurityContext.DomainName">
27384             <summary>
27385             Gets or sets the Windows domain name for this security context
27386             </summary>
27387             <value>
27388             The Windows domain name for this security context
27389             </value>
27390             <remarks>
27391             <para>
27392             The default value for <see cref="P:log4net.Util.WindowsSecurityContext.DomainName"/> is the local machine name
27393             taken from the <see cref="P:System.Environment.MachineName"/> property.
27394             </para>
27395             <para>
27396             This property must be set if <see cref="P:log4net.Util.WindowsSecurityContext.Credentials"/>
27397             is set to <see cref="F:log4net.Util.WindowsSecurityContext.ImpersonationMode.User"/> (the default setting).
27398             </para>
27399             </remarks>
27400         </member>
27401         <member name="P:log4net.Util.WindowsSecurityContext.Password">
27402             <summary>
27403             Sets the password for the Windows account specified by the <see cref="P:log4net.Util.WindowsSecurityContext.UserName"/> and <see cref="P:log4net.Util.WindowsSecurityContext.DomainName"/> properties.
27404             </summary>
27405             <value>
27406             The password for the Windows account specified by the <see cref="P:log4net.Util.WindowsSecurityContext.UserName"/> and <see cref="P:log4net.Util.WindowsSecurityContext.DomainName"/> properties.
27407             </value>
27408             <remarks>
27409             <para>
27410             This property must be set if <see cref="P:log4net.Util.WindowsSecurityContext.Credentials"/>
27411             is set to <see cref="F:log4net.Util.WindowsSecurityContext.ImpersonationMode.User"/> (the default setting).
27412             </para>
27413             </remarks>
27414         </member>
27415         <member name="T:log4net.Util.WindowsSecurityContext.ImpersonationMode">
27416             <summary>
27417             The impersonation modes for the <see cref="T:log4net.Util.WindowsSecurityContext"/>
27418             </summary>
27419             <remarks>
27420             <para>
27421             See the <see cref="P:log4net.Util.WindowsSecurityContext.Credentials"/> property for
27422             details.
27423             </para>
27424             </remarks>
27425         </member>
27426         <member name="F:log4net.Util.WindowsSecurityContext.ImpersonationMode.User">
27427             <summary>
27428             Impersonate a user using the credentials supplied
27429             </summary>
27430         </member>
27431         <member name="F:log4net.Util.WindowsSecurityContext.ImpersonationMode.Process">
27432             <summary>
27433             Revert this the thread to the credentials of the process
27434             </summary>
27435         </member>
27436         <member name="T:log4net.Util.WindowsSecurityContext.DisposableImpersonationContext">
27437             <summary>
27438             Adds <see cref="T:System.IDisposable"/> to <see cref="T:System.Security.Principal.WindowsImpersonationContext"/>
27439             </summary>
27440             <remarks>
27441             <para>
27442             Helper class to expose the <see cref="T:System.Security.Principal.WindowsImpersonationContext"/>
27443             through the <see cref="T:System.IDisposable"/> interface.
27444             </para>
27445             </remarks>
27446         </member>
27447         <member name="M:log4net.Util.WindowsSecurityContext.DisposableImpersonationContext.#ctor(System.Security.Principal.WindowsImpersonationContext)">
27448             <summary>
27449             Constructor
27450             </summary>
27451             <param name="impersonationContext">the impersonation context being wrapped</param>
27452             <remarks>
27453             <para>
27454             Constructor
27455             </para>
27456             </remarks>
27457         </member>
27458         <member name="M:log4net.Util.WindowsSecurityContext.DisposableImpersonationContext.Dispose">
27459             <summary>
27460             Revert the impersonation
27461             </summary>
27462             <remarks>
27463             <para>
27464             Revert the impersonation
27465             </para>
27466             </remarks>
27467         </member>
27468         <member name="T:log4net.GlobalContext">
27469             <summary>
27470             The log4net Global Context.
27471             </summary>
27472             <remarks>
27473             <para>
27474             The <c>GlobalContext</c> provides a location for global debugging 
27475             information to be stored.
27476             </para>
27477             <para>
27478             The global context has a properties map and these properties can 
27479             be included in the output of log messages. The <see cref="T:log4net.Layout.PatternLayout"/>
27480             supports selecting and outputing these properties.
27481             </para>
27482             <para>
27483             By default the <c>log4net:HostName</c> property is set to the name of 
27484             the current machine.
27485             </para>
27486             </remarks>
27487             <example>
27488             <code lang="C#">
27489             GlobalContext.Properties["hostname"] = Environment.MachineName;
27490             </code>
27491             </example>
27492             <threadsafety static="true" instance="true"/>
27493             <author>Nicko Cadell</author>
27494         </member>
27495         <member name="M:log4net.GlobalContext.#ctor">
27496             <summary>
27497             Private Constructor. 
27498             </summary>
27499             <remarks>
27500             Uses a private access modifier to prevent instantiation of this class.
27501             </remarks>
27502         </member>
27503         <member name="F:log4net.GlobalContext.s_properties">
27504             <summary>
27505             The global context properties instance
27506             </summary>
27507         </member>
27508         <member name="P:log4net.GlobalContext.Properties">
27509             <summary>
27510             The global properties map.
27511             </summary>
27512             <value>
27513             The global properties map.
27514             </value>
27515             <remarks>
27516             <para>
27517             The global properties map.
27518             </para>
27519             </remarks>
27520         </member>
27521         <member name="T:log4net.LogicalThreadContext">
27522             <summary>
27523             The log4net Logical Thread Context.
27524             </summary>
27525             <remarks>
27526             <para>
27527             The <c>LogicalThreadContext</c> provides a location for <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/> specific debugging 
27528             information to be stored.
27529             The <c>LogicalThreadContext</c> properties override any <see cref="T:log4net.ThreadContext"/> or <see cref="T:log4net.GlobalContext"/>
27530             properties with the same name.
27531             </para>
27532             <para>
27533             The Logical Thread Context has a properties map and a stack.
27534             The properties and stack can 
27535             be included in the output of log messages. The <see cref="T:log4net.Layout.PatternLayout"/>
27536             supports selecting and outputting these properties.
27537             </para>
27538             <para>
27539             The Logical Thread Context provides a diagnostic context for the current call context. 
27540             This is an instrument for distinguishing interleaved log
27541             output from different sources. Log output is typically interleaved
27542             when a server handles multiple clients near-simultaneously.
27543             </para>
27544             <para>
27545             The Logical Thread Context is managed on a per <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/> basis.
27546             </para>
27547             </remarks>
27548             <example>Example of using the thread context properties to store a username.
27549             <code lang="C#">
27550             LogicalThreadContext.Properties["user"] = userName;
27551             log.Info("This log message has a LogicalThreadContext Property called 'user'");
27552             </code>
27553             </example>
27554             <example>Example of how to push a message into the context stack
27555             <code lang="C#">
27556             using(LogicalThreadContext.Stacks["LDC"].Push("my context message"))
27557             {
27558                 log.Info("This log message has a LogicalThreadContext Stack message that includes 'my context message'");
27559             
27560             } // at the end of the using block the message is automatically popped 
27561             </code>
27562             </example>
27563             <threadsafety static="true" instance="true"/>
27564             <author>Nicko Cadell</author>
27565         </member>
27566         <member name="M:log4net.LogicalThreadContext.#ctor">
27567             <summary>
27568             Private Constructor. 
27569             </summary>
27570             <remarks>
27571             <para>
27572             Uses a private access modifier to prevent instantiation of this class.
27573             </para>
27574             </remarks>
27575         </member>
27576         <member name="F:log4net.LogicalThreadContext.s_properties">
27577             <summary>
27578             The thread context properties instance
27579             </summary>
27580         </member>
27581         <member name="F:log4net.LogicalThreadContext.s_stacks">
27582             <summary>
27583             The thread context stacks instance
27584             </summary>
27585         </member>
27586         <member name="P:log4net.LogicalThreadContext.Properties">
27587             <summary>
27588             The thread properties map
27589             </summary>
27590             <value>
27591             The thread properties map
27592             </value>
27593             <remarks>
27594             <para>
27595             The <c>LogicalThreadContext</c> properties override any <see cref="T:log4net.ThreadContext"/> 
27596             or <see cref="T:log4net.GlobalContext"/> properties with the same name.
27597             </para>
27598             </remarks>
27599         </member>
27600         <member name="P:log4net.LogicalThreadContext.Stacks">
27601             <summary>
27602             The thread stacks
27603             </summary>
27604             <value>
27605             stack map
27606             </value>
27607             <remarks>
27608             <para>
27609             The logical thread stacks.
27610             </para>
27611             </remarks>
27612         </member>
27613         <member name="T:log4net.LogManager">
27614             <summary>
27615             This class is used by client applications to request logger instances.
27616             </summary>
27617             <remarks>
27618             <para>
27619             This class has static methods that are used by a client to request
27620             a logger instance. The <see cref="M:log4net.LogManager.GetLogger(System.String)"/> method is 
27621             used to retrieve a logger.
27622             </para>
27623             <para>
27624             See the <see cref="T:log4net.ILog"/> interface for more details.
27625             </para>
27626             </remarks>
27627             <example>Simple example of logging messages
27628             <code lang="C#">
27629             ILog log = LogManager.GetLogger("application-log");
27630             
27631             log.Info("Application Start");
27632             log.Debug("This is a debug message");
27633             
27634             if (log.IsDebugEnabled)
27635             {
27636                 log.Debug("This is another debug message");
27637             }
27638             </code>
27639             </example>
27640             <threadsafety static="true" instance="true"/>
27641             <seealso cref="T:log4net.ILog"/>
27642             <author>Nicko Cadell</author>
27643             <author>Gert Driesen</author>
27644         </member>
27645         <member name="M:log4net.LogManager.#ctor">
27646             <summary>
27647             Initializes a new instance of the <see cref="T:log4net.LogManager"/> class. 
27648             </summary>
27649             <remarks>
27650             Uses a private access modifier to prevent instantiation of this class.
27651             </remarks>
27652         </member>
27653         <member name="M:log4net.LogManager.Exists(System.String)">
27654             <overloads>Returns the named logger if it exists.</overloads>
27655             <summary>
27656             Returns the named logger if it exists.
27657             </summary>
27658             <remarks>
27659             <para>
27660             If the named logger exists (in the default repository) then it
27661             returns a reference to the logger, otherwise it returns <c>null</c>.
27662             </para>
27663             </remarks>
27664             <param name="name">The fully qualified logger name to look for.</param>
27665             <returns>The logger found, or <c>null</c> if no logger could be found.</returns>
27666         </member>
27667         <member name="M:log4net.LogManager.Exists(System.String,System.String)">
27668             <summary>
27669             Returns the named logger if it exists.
27670             </summary>
27671             <remarks>
27672             <para>
27673             If the named logger exists (in the specified repository) then it
27674             returns a reference to the logger, otherwise it returns
27675             <c>null</c>.
27676             </para>
27677             </remarks>
27678             <param name="repository">The repository to lookup in.</param>
27679             <param name="name">The fully qualified logger name to look for.</param>
27680             <returns>
27681             The logger found, or <c>null</c> if the logger doesn't exist in the specified 
27682             repository.
27683             </returns>
27684         </member>
27685         <member name="M:log4net.LogManager.Exists(System.Reflection.Assembly,System.String)">
27686             <summary>
27687             Returns the named logger if it exists.
27688             </summary>
27689             <remarks>
27690             <para>
27691             If the named logger exists (in the repository for the specified assembly) then it
27692             returns a reference to the logger, otherwise it returns
27693             <c>null</c>.
27694             </para>
27695             </remarks>
27696             <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
27697             <param name="name">The fully qualified logger name to look for.</param>
27698             <returns>
27699             The logger, or <c>null</c> if the logger doesn't exist in the specified
27700             assembly's repository.
27701             </returns>
27702         </member>
27703         <member name="M:log4net.LogManager.GetCurrentLoggers">
27704             <overloads>Get the currently defined loggers.</overloads>
27705             <summary>
27706             Returns all the currently defined loggers in the default repository.
27707             </summary>
27708             <remarks>
27709             <para>The root logger is <b>not</b> included in the returned array.</para>
27710             </remarks>
27711             <returns>All the defined loggers.</returns>
27712         </member>
27713         <member name="M:log4net.LogManager.GetCurrentLoggers(System.String)">
27714             <summary>
27715             Returns all the currently defined loggers in the specified repository.
27716             </summary>
27717             <param name="repository">The repository to lookup in.</param>
27718             <remarks>
27719             The root logger is <b>not</b> included in the returned array.
27720             </remarks>
27721             <returns>All the defined loggers.</returns>
27722         </member>
27723         <member name="M:log4net.LogManager.GetCurrentLoggers(System.Reflection.Assembly)">
27724             <summary>
27725             Returns all the currently defined loggers in the specified assembly's repository.
27726             </summary>
27727             <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
27728             <remarks>
27729             The root logger is <b>not</b> included in the returned array.
27730             </remarks>
27731             <returns>All the defined loggers.</returns>
27732         </member>
27733         <member name="M:log4net.LogManager.GetLogger(System.String)">
27734             <overloads>Get or create a logger.</overloads>
27735             <summary>
27736             Retrieves or creates a named logger.
27737             </summary>
27738             <remarks>
27739             <para>
27740             Retrieves a logger named as the <paramref name="name"/>
27741             parameter. If the named logger already exists, then the
27742             existing instance will be returned. Otherwise, a new instance is
27743             created.
27744             </para>
27745             <para>By default, loggers do not have a set level but inherit
27746             it from the hierarchy. This is one of the central features of
27747             log4net.
27748             </para>
27749             </remarks>
27750             <param name="name">The name of the logger to retrieve.</param>
27751             <returns>The logger with the name specified.</returns>
27752         </member>
27753         <member name="M:log4net.LogManager.GetLogger(System.String,System.String)">
27754             <summary>
27755             Retrieves or creates a named logger.
27756             </summary>
27757             <remarks>
27758             <para>
27759             Retrieve a logger named as the <paramref name="name"/>
27760             parameter. If the named logger already exists, then the
27761             existing instance will be returned. Otherwise, a new instance is
27762             created.
27763             </para>
27764             <para>
27765             By default, loggers do not have a set level but inherit
27766             it from the hierarchy. This is one of the central features of
27767             log4net.
27768             </para>
27769             </remarks>
27770             <param name="repository">The repository to lookup in.</param>
27771             <param name="name">The name of the logger to retrieve.</param>
27772             <returns>The logger with the name specified.</returns>
27773         </member>
27774         <member name="M:log4net.LogManager.GetLogger(System.Reflection.Assembly,System.String)">
27775             <summary>
27776             Retrieves or creates a named logger.
27777             </summary>
27778             <remarks>
27779             <para>
27780             Retrieve a logger named as the <paramref name="name"/>
27781             parameter. If the named logger already exists, then the
27782             existing instance will be returned. Otherwise, a new instance is
27783             created.
27784             </para>
27785             <para>
27786             By default, loggers do not have a set level but inherit
27787             it from the hierarchy. This is one of the central features of
27788             log4net.
27789             </para>
27790             </remarks>
27791             <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
27792             <param name="name">The name of the logger to retrieve.</param>
27793             <returns>The logger with the name specified.</returns>
27794         </member>
27795         <member name="M:log4net.LogManager.GetLogger(System.Type)">
27796             <summary>
27797             Shorthand for <see cref="M:log4net.LogManager.GetLogger(System.String)"/>.
27798             </summary>
27799             <remarks>
27800             Get the logger for the fully qualified name of the type specified.
27801             </remarks>
27802             <param name="type">The full name of <paramref name="type"/> will be used as the name of the logger to retrieve.</param>
27803             <returns>The logger with the name specified.</returns>
27804         </member>
27805         <member name="M:log4net.LogManager.GetLogger(System.String,System.Type)">
27806             <summary>
27807             Shorthand for <see cref="M:log4net.LogManager.GetLogger(System.String)"/>.
27808             </summary>
27809             <remarks>
27810             Gets the logger for the fully qualified name of the type specified.
27811             </remarks>
27812             <param name="repository">The repository to lookup in.</param>
27813             <param name="type">The full name of <paramref name="type"/> will be used as the name of the logger to retrieve.</param>
27814             <returns>The logger with the name specified.</returns>
27815         </member>
27816         <member name="M:log4net.LogManager.GetLogger(System.Reflection.Assembly,System.Type)">
27817             <summary>
27818             Shorthand for <see cref="M:log4net.LogManager.GetLogger(System.String)"/>.
27819             </summary>
27820             <remarks>
27821             Gets the logger for the fully qualified name of the type specified.
27822             </remarks>
27823             <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
27824             <param name="type">The full name of <paramref name="type"/> will be used as the name of the logger to retrieve.</param>
27825             <returns>The logger with the name specified.</returns>
27826         </member>
27827         <member name="M:log4net.LogManager.Shutdown">
27828             <summary>
27829             Shuts down the log4net system.
27830             </summary>
27831             <remarks>
27832             <para>
27833             Calling this method will <b>safely</b> close and remove all
27834             appenders in all the loggers including root contained in all the
27835             default repositories.
27836             </para>
27837             <para>
27838             Some appenders need to be closed before the application exists. 
27839             Otherwise, pending logging events might be lost.
27840             </para>
27841             <para>The <c>shutdown</c> method is careful to close nested
27842             appenders before closing regular appenders. This is allows
27843             configurations where a regular appender is attached to a logger
27844             and again to a nested appender.
27845             </para>
27846             </remarks>
27847         </member>
27848         <member name="M:log4net.LogManager.ShutdownRepository">
27849             <overloads>Shutdown a logger repository.</overloads>
27850             <summary>
27851             Shuts down the default repository.
27852             </summary>
27853             <remarks>
27854             <para>
27855             Calling this method will <b>safely</b> close and remove all
27856             appenders in all the loggers including root contained in the
27857             default repository.
27858             </para>
27859             <para>Some appenders need to be closed before the application exists. 
27860             Otherwise, pending logging events might be lost.
27861             </para>
27862             <para>The <c>shutdown</c> method is careful to close nested
27863             appenders before closing regular appenders. This is allows
27864             configurations where a regular appender is attached to a logger
27865             and again to a nested appender.
27866             </para>
27867             </remarks>
27868         </member>
27869         <member name="M:log4net.LogManager.ShutdownRepository(System.String)">
27870             <summary>
27871             Shuts down the repository for the repository specified.
27872             </summary>
27873             <remarks>
27874             <para>
27875             Calling this method will <b>safely</b> close and remove all
27876             appenders in all the loggers including root contained in the
27877             <paramref name="repository"/> specified.
27878             </para>
27879             <para>
27880             Some appenders need to be closed before the application exists. 
27881             Otherwise, pending logging events might be lost.
27882             </para>
27883             <para>The <c>shutdown</c> method is careful to close nested
27884             appenders before closing regular appenders. This is allows
27885             configurations where a regular appender is attached to a logger
27886             and again to a nested appender.
27887             </para>
27888             </remarks>
27889             <param name="repository">The repository to shutdown.</param>
27890         </member>
27891         <member name="M:log4net.LogManager.ShutdownRepository(System.Reflection.Assembly)">
27892             <summary>
27893             Shuts down the repository specified.
27894             </summary>
27895             <remarks>
27896             <para>
27897             Calling this method will <b>safely</b> close and remove all
27898             appenders in all the loggers including root contained in the
27899             repository. The repository is looked up using
27900             the <paramref name="repositoryAssembly"/> specified.
27901             </para>
27902             <para>
27903             Some appenders need to be closed before the application exists. 
27904             Otherwise, pending logging events might be lost.
27905             </para>
27906             <para>
27907             The <c>shutdown</c> method is careful to close nested
27908             appenders before closing regular appenders. This is allows
27909             configurations where a regular appender is attached to a logger
27910             and again to a nested appender.
27911             </para>
27912             </remarks>
27913             <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
27914         </member>
27915         <member name="M:log4net.LogManager.ResetConfiguration">
27916             <overloads>Reset the configuration of a repository</overloads>
27917             <summary>
27918             Resets all values contained in this repository instance to their defaults.
27919             </summary>
27920             <remarks>
27921             <para>
27922             Resets all values contained in the repository instance to their
27923             defaults.  This removes all appenders from all loggers, sets
27924             the level of all non-root loggers to <c>null</c>,
27925             sets their additivity flag to <c>true</c> and sets the level
27926             of the root logger to <see cref="F:log4net.Core.Level.Debug"/>. Moreover,
27927             message disabling is set to its default "off" value.
27928             </para>             
27929             </remarks>
27930         </member>
27931         <member name="M:log4net.LogManager.ResetConfiguration(System.String)">
27932             <summary>
27933             Resets all values contained in this repository instance to their defaults.
27934             </summary>
27935             <remarks>
27936             <para>
27937             Reset all values contained in the repository instance to their
27938             defaults.  This removes all appenders from all loggers, sets
27939             the level of all non-root loggers to <c>null</c>,
27940             sets their additivity flag to <c>true</c> and sets the level
27941             of the root logger to <see cref="F:log4net.Core.Level.Debug"/>. Moreover,
27942             message disabling is set to its default "off" value.
27943             </para>             
27944             </remarks>
27945             <param name="repository">The repository to reset.</param>
27946         </member>
27947         <member name="M:log4net.LogManager.ResetConfiguration(System.Reflection.Assembly)">
27948             <summary>
27949             Resets all values contained in this repository instance to their defaults.
27950             </summary>
27951             <remarks>
27952             <para>
27953             Reset all values contained in the repository instance to their
27954             defaults.  This removes all appenders from all loggers, sets
27955             the level of all non-root loggers to <c>null</c>,
27956             sets their additivity flag to <c>true</c> and sets the level
27957             of the root logger to <see cref="F:log4net.Core.Level.Debug"/>. Moreover,
27958             message disabling is set to its default "off" value.
27959             </para>             
27960             </remarks>
27961             <param name="repositoryAssembly">The assembly to use to lookup the repository to reset.</param>
27962         </member>
27963         <member name="M:log4net.LogManager.GetLoggerRepository">
27964             <overloads>Get the logger repository.</overloads>
27965             <summary>
27966             Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
27967             </summary>
27968             <remarks>
27969             <para>
27970             Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified
27971             by the callers assembly (<see cref="M:System.Reflection.Assembly.GetCallingAssembly"/>).
27972             </para>
27973             </remarks>
27974             <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> instance for the default repository.</returns>
27975         </member>
27976         <member name="M:log4net.LogManager.GetLoggerRepository(System.String)">
27977             <summary>
27978             Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
27979             </summary>
27980             <returns>The default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.</returns>
27981             <remarks>
27982             <para>
27983             Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified
27984             by the <paramref name="repository"/> argument.
27985             </para>
27986             </remarks>
27987             <param name="repository">The repository to lookup in.</param>
27988         </member>
27989         <member name="M:log4net.LogManager.GetLoggerRepository(System.Reflection.Assembly)">
27990             <summary>
27991             Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
27992             </summary>
27993             <returns>The default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.</returns>
27994             <remarks>
27995             <para>
27996             Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified
27997             by the <paramref name="repositoryAssembly"/> argument.
27998             </para>
27999             </remarks>
28000             <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
28001         </member>
28002         <member name="M:log4net.LogManager.GetRepository">
28003             <overloads>Get a logger repository.</overloads>
28004             <summary>
28005             Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
28006             </summary>
28007             <remarks>
28008             <para>
28009             Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified
28010             by the callers assembly (<see cref="M:System.Reflection.Assembly.GetCallingAssembly"/>).
28011             </para>
28012             </remarks>
28013             <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> instance for the default repository.</returns>
28014         </member>
28015         <member name="M:log4net.LogManager.GetRepository(System.String)">
28016             <summary>
28017             Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
28018             </summary>
28019             <returns>The default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.</returns>
28020             <remarks>
28021             <para>
28022             Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified
28023             by the <paramref name="repository"/> argument.
28024             </para>
28025             </remarks>
28026             <param name="repository">The repository to lookup in.</param>
28027         </member>
28028         <member name="M:log4net.LogManager.GetRepository(System.Reflection.Assembly)">
28029             <summary>
28030             Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
28031             </summary>
28032             <returns>The default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.</returns>
28033             <remarks>
28034             <para>
28035             Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified
28036             by the <paramref name="repositoryAssembly"/> argument.
28037             </para>
28038             </remarks>
28039             <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
28040         </member>
28041         <member name="M:log4net.LogManager.CreateDomain(System.Type)">
28042             <overloads>Create a domain</overloads>
28043             <summary>
28044             Creates a repository with the specified repository type.
28045             </summary>
28046             <remarks>
28047             <para>
28048             <b>CreateDomain is obsolete. Use CreateRepository instead of CreateDomain.</b>
28049             </para>
28050             <para>
28051             The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the repository
28052             specified such that a call to <see cref="M:log4net.LogManager.GetRepository"/> will return 
28053             the same repository instance.
28054             </para>
28055             </remarks>
28056             <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
28057             and has a no arg constructor. An instance of this type will be created to act
28058             as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
28059             <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
28060         </member>
28061         <member name="M:log4net.LogManager.CreateRepository(System.Type)">
28062             <overloads>Create a logger repository.</overloads>
28063             <summary>
28064             Creates a repository with the specified repository type.
28065             </summary>
28066             <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
28067             and has a no arg constructor. An instance of this type will be created to act
28068             as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
28069             <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
28070             <remarks>
28071             <para>
28072             The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the repository
28073             specified such that a call to <see cref="M:log4net.LogManager.GetRepository"/> will return 
28074             the same repository instance.
28075             </para>
28076             </remarks>
28077         </member>
28078         <member name="M:log4net.LogManager.CreateDomain(System.String)">
28079             <summary>
28080             Creates a repository with the specified name.
28081             </summary>
28082             <remarks>
28083             <para>
28084             <b>CreateDomain is obsolete. Use CreateRepository instead of CreateDomain.</b>
28085             </para>
28086             <para>
28087             Creates the default type of <see cref="T:log4net.Repository.ILoggerRepository"/> which is a
28088             <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> object.
28089             </para>
28090             <para>
28091             The <paramref name="repository"/> name must be unique. Repositories cannot be redefined.
28092             An <see cref="T:System.Exception"/> will be thrown if the repository already exists.
28093             </para>
28094             </remarks>
28095             <param name="repository">The name of the repository, this must be unique amongst repositories.</param>
28096             <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
28097             <exception cref="T:log4net.Core.LogException">The specified repository already exists.</exception>
28098         </member>
28099         <member name="M:log4net.LogManager.CreateRepository(System.String)">
28100             <summary>
28101             Creates a repository with the specified name.
28102             </summary>
28103             <remarks>
28104             <para>
28105             Creates the default type of <see cref="T:log4net.Repository.ILoggerRepository"/> which is a
28106             <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> object.
28107             </para>
28108             <para>
28109             The <paramref name="repository"/> name must be unique. Repositories cannot be redefined.
28110             An <see cref="T:System.Exception"/> will be thrown if the repository already exists.
28111             </para>
28112             </remarks>
28113             <param name="repository">The name of the repository, this must be unique amongst repositories.</param>
28114             <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
28115             <exception cref="T:log4net.Core.LogException">The specified repository already exists.</exception>
28116         </member>
28117         <member name="M:log4net.LogManager.CreateDomain(System.String,System.Type)">
28118             <summary>
28119             Creates a repository with the specified name and repository type.
28120             </summary>
28121             <remarks>
28122             <para>
28123             <b>CreateDomain is obsolete. Use CreateRepository instead of CreateDomain.</b>
28124             </para>
28125             <para>
28126             The <paramref name="repository"/> name must be unique. Repositories cannot be redefined.
28127             An <see cref="T:System.Exception"/> will be thrown if the repository already exists.
28128             </para>
28129             </remarks>
28130             <param name="repository">The name of the repository, this must be unique to the repository.</param>
28131             <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
28132             and has a no arg constructor. An instance of this type will be created to act
28133             as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
28134             <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
28135             <exception cref="T:log4net.Core.LogException">The specified repository already exists.</exception>
28136         </member>
28137         <member name="M:log4net.LogManager.CreateRepository(System.String,System.Type)">
28138             <summary>
28139             Creates a repository with the specified name and repository type.
28140             </summary>
28141             <remarks>
28142             <para>
28143             The <paramref name="repository"/> name must be unique. Repositories cannot be redefined.
28144             An <see cref="T:System.Exception"/> will be thrown if the repository already exists.
28145             </para>
28146             </remarks>
28147             <param name="repository">The name of the repository, this must be unique to the repository.</param>
28148             <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
28149             and has a no arg constructor. An instance of this type will be created to act
28150             as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
28151             <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
28152             <exception cref="T:log4net.Core.LogException">The specified repository already exists.</exception>
28153         </member>
28154         <member name="M:log4net.LogManager.CreateDomain(System.Reflection.Assembly,System.Type)">
28155             <summary>
28156             Creates a repository for the specified assembly and repository type.
28157             </summary>
28158             <remarks>
28159             <para>
28160             <b>CreateDomain is obsolete. Use CreateRepository instead of CreateDomain.</b>
28161             </para>
28162             <para>
28163             The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the repository
28164             specified such that a call to <see cref="M:log4net.LogManager.GetRepository(System.Reflection.Assembly)"/> with the
28165             same assembly specified will return the same repository instance.
28166             </para>
28167             </remarks>
28168             <param name="repositoryAssembly">The assembly to use to get the name of the repository.</param>
28169             <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
28170             and has a no arg constructor. An instance of this type will be created to act
28171             as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
28172             <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
28173         </member>
28174         <member name="M:log4net.LogManager.CreateRepository(System.Reflection.Assembly,System.Type)">
28175             <summary>
28176             Creates a repository for the specified assembly and repository type.
28177             </summary>
28178             <remarks>
28179             <para>
28180             The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the repository
28181             specified such that a call to <see cref="M:log4net.LogManager.GetRepository(System.Reflection.Assembly)"/> with the
28182             same assembly specified will return the same repository instance.
28183             </para>
28184             </remarks>
28185             <param name="repositoryAssembly">The assembly to use to get the name of the repository.</param>
28186             <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
28187             and has a no arg constructor. An instance of this type will be created to act
28188             as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
28189             <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
28190         </member>
28191         <member name="M:log4net.LogManager.GetAllRepositories">
28192             <summary>
28193             Gets the list of currently defined repositories.
28194             </summary>
28195             <remarks>
28196             <para>
28197             Get an array of all the <see cref="T:log4net.Repository.ILoggerRepository"/> objects that have been created.
28198             </para>
28199             </remarks>
28200             <returns>An array of all the known <see cref="T:log4net.Repository.ILoggerRepository"/> objects.</returns>
28201         </member>
28202         <member name="M:log4net.LogManager.WrapLogger(log4net.Core.ILogger)">
28203             <summary>
28204             Looks up the wrapper object for the logger specified.
28205             </summary>
28206             <param name="logger">The logger to get the wrapper for.</param>
28207             <returns>The wrapper for the logger specified.</returns>
28208         </member>
28209         <member name="M:log4net.LogManager.WrapLoggers(log4net.Core.ILogger[])">
28210             <summary>
28211             Looks up the wrapper objects for the loggers specified.
28212             </summary>
28213             <param name="loggers">The loggers to get the wrappers for.</param>
28214             <returns>The wrapper objects for the loggers specified.</returns>
28215         </member>
28216         <member name="M:log4net.LogManager.WrapperCreationHandler(log4net.Core.ILogger)">
28217             <summary>
28218             Create the <see cref="T:log4net.Core.ILoggerWrapper"/> objects used by
28219             this manager.
28220             </summary>
28221             <param name="logger">The logger to wrap.</param>
28222             <returns>The wrapper for the logger specified.</returns>
28223         </member>
28224         <member name="F:log4net.LogManager.s_wrapperMap">
28225             <summary>
28226             The wrapper map to use to hold the <see cref="T:log4net.Core.LogImpl"/> objects.
28227             </summary>
28228         </member>
28229         <member name="T:log4net.MDC">
28230             <summary>
28231             Implementation of Mapped Diagnostic Contexts.
28232             </summary>
28233             <remarks>
28234             <note>
28235             <para>
28236             The MDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Properties"/>.
28237             The current MDC implementation forwards to the <c>ThreadContext.Properties</c>.
28238             </para>
28239             </note>
28240             <para>
28241             The MDC class is similar to the <see cref="T:log4net.NDC"/> class except that it is
28242             based on a map instead of a stack. It provides <i>mapped
28243             diagnostic contexts</i>. A <i>Mapped Diagnostic Context</i>, or
28244             MDC in short, is an instrument for distinguishing interleaved log
28245             output from different sources. Log output is typically interleaved
28246             when a server handles multiple clients near-simultaneously.
28247             </para>
28248             <para>
28249             The MDC is managed on a per thread basis.
28250             </para>
28251             </remarks>
28252             <threadsafety static="true" instance="true"/>
28253             <author>Nicko Cadell</author>
28254             <author>Gert Driesen</author>
28255         </member>
28256         <member name="M:log4net.MDC.#ctor">
28257             <summary>
28258             Initializes a new instance of the <see cref="T:log4net.MDC"/> class. 
28259             </summary>
28260             <remarks>
28261             Uses a private access modifier to prevent instantiation of this class.
28262             </remarks>
28263         </member>
28264         <member name="M:log4net.MDC.Get(System.String)">
28265             <summary>
28266             Gets the context value identified by the <paramref name="key"/> parameter.
28267             </summary>
28268             <param name="key">The key to lookup in the MDC.</param>
28269             <returns>The string value held for the key, or a <c>null</c> reference if no corresponding value is found.</returns>
28270             <remarks>
28271             <note>
28272             <para>
28273             The MDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Properties"/>.
28274             The current MDC implementation forwards to the <c>ThreadContext.Properties</c>.
28275             </para>
28276             </note>
28277             <para>
28278             If the <paramref name="key"/> parameter does not look up to a
28279             previously defined context then <c>null</c> will be returned.
28280             </para>
28281             </remarks>
28282         </member>
28283         <member name="M:log4net.MDC.Set(System.String,System.String)">
28284             <summary>
28285             Add an entry to the MDC
28286             </summary>
28287             <param name="key">The key to store the value under.</param>
28288             <param name="value">The value to store.</param>
28289             <remarks>
28290             <note>
28291             <para>
28292             The MDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Properties"/>.
28293             The current MDC implementation forwards to the <c>ThreadContext.Properties</c>.
28294             </para>
28295             </note>
28296             <para>
28297             Puts a context value (the <paramref name="val"/> parameter) as identified
28298             with the <paramref name="key"/> parameter into the current thread's
28299             context map.
28300             </para>
28301             <para>
28302             If a value is already defined for the <paramref name="key"/>
28303             specified then the value will be replaced. If the <paramref name="val"/> 
28304             is specified as <c>null</c> then the key value mapping will be removed.
28305             </para>
28306             </remarks>
28307         </member>
28308         <member name="M:log4net.MDC.Remove(System.String)">
28309             <summary>
28310             Removes the key value mapping for the key specified.
28311             </summary>
28312             <param name="key">The key to remove.</param>
28313             <remarks>
28314             <note>
28315             <para>
28316             The MDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Properties"/>.
28317             The current MDC implementation forwards to the <c>ThreadContext.Properties</c>.
28318             </para>
28319             </note>
28320             <para>
28321             Remove the specified entry from this thread's MDC
28322             </para>
28323             </remarks>
28324         </member>
28325         <member name="M:log4net.MDC.Clear">
28326             <summary>
28327             Clear all entries in the MDC
28328             </summary>
28329             <remarks>
28330             <note>
28331             <para>
28332             The MDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Properties"/>.
28333             The current MDC implementation forwards to the <c>ThreadContext.Properties</c>.
28334             </para>
28335             </note>
28336             <para>
28337             Remove all the entries from this thread's MDC
28338             </para>
28339             </remarks>
28340         </member>
28341         <member name="T:log4net.NDC">
28342             <summary>
28343             Implementation of Nested Diagnostic Contexts.
28344             </summary>
28345             <remarks>
28346             <note>
28347             <para>
28348             The NDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Stacks"/>.
28349             The current NDC implementation forwards to the <c>ThreadContext.Stacks["NDC"]</c>.
28350             </para>
28351             </note>
28352             <para>
28353             A Nested Diagnostic Context, or NDC in short, is an instrument
28354             to distinguish interleaved log output from different sources. Log
28355             output is typically interleaved when a server handles multiple
28356             clients near-simultaneously.
28357             </para>
28358             <para>
28359             Interleaved log output can still be meaningful if each log entry
28360             from different contexts had a distinctive stamp. This is where NDCs
28361             come into play.
28362             </para>
28363             <para>
28364             Note that NDCs are managed on a per thread basis. The NDC class
28365             is made up of static methods that operate on the context of the
28366             calling thread.
28367             </para>
28368             </remarks>
28369             <example>How to push a message into the context
28370             <code lang="C#">
28371             using(NDC.Push("my context message"))
28372             {
28373                 ... all log calls will have 'my context message' included ...
28374             
28375             } // at the end of the using block the message is automatically removed 
28376             </code>
28377             </example>
28378             <threadsafety static="true" instance="true"/>
28379             <author>Nicko Cadell</author>
28380             <author>Gert Driesen</author>
28381         </member>
28382         <member name="M:log4net.NDC.#ctor">
28383             <summary>
28384             Initializes a new instance of the <see cref="T:log4net.NDC"/> class. 
28385             </summary>
28386             <remarks>
28387             Uses a private access modifier to prevent instantiation of this class.
28388             </remarks>
28389         </member>
28390         <member name="M:log4net.NDC.Clear">
28391             <summary>
28392             Clears all the contextual information held on the current thread.
28393             </summary>
28394             <remarks>
28395             <note>
28396             <para>
28397             The NDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Stacks"/>.
28398             The current NDC implementation forwards to the <c>ThreadContext.Stacks["NDC"]</c>.
28399             </para>
28400             </note>
28401             <para>
28402             Clears the stack of NDC data held on the current thread.
28403             </para>
28404             </remarks>
28405         </member>
28406         <member name="M:log4net.NDC.CloneStack">
28407             <summary>
28408             Creates a clone of the stack of context information.
28409             </summary>
28410             <returns>A clone of the context info for this thread.</returns>
28411             <remarks>
28412             <note>
28413             <para>
28414             The NDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Stacks"/>.
28415             The current NDC implementation forwards to the <c>ThreadContext.Stacks["NDC"]</c>.
28416             </para>
28417             </note>
28418             <para>
28419             The results of this method can be passed to the <see cref="M:log4net.NDC.Inherit(System.Collections.Stack)"/> 
28420             method to allow child threads to inherit the context of their 
28421             parent thread.
28422             </para>
28423             </remarks>
28424         </member>
28425         <member name="M:log4net.NDC.Inherit(System.Collections.Stack)">
28426             <summary>
28427             Inherits the contextual information from another thread.
28428             </summary>
28429             <param name="stack">The context stack to inherit.</param>
28430             <remarks>
28431             <note>
28432             <para>
28433             The NDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Stacks"/>.
28434             The current NDC implementation forwards to the <c>ThreadContext.Stacks["NDC"]</c>.
28435             </para>
28436             </note>
28437             <para>
28438             This thread will use the context information from the stack
28439             supplied. This can be used to initialize child threads with
28440             the same contextual information as their parent threads. These
28441             contexts will <b>NOT</b> be shared. Any further contexts that
28442             are pushed onto the stack will not be visible to the other.
28443             Call <see cref="M:log4net.NDC.CloneStack"/> to obtain a stack to pass to
28444             this method.
28445             </para>
28446             </remarks>
28447         </member>
28448         <member name="M:log4net.NDC.Pop">
28449             <summary>
28450             Removes the top context from the stack.
28451             </summary>
28452             <returns>
28453             The message in the context that was removed from the top 
28454             of the stack.
28455             </returns>
28456             <remarks>
28457             <note>
28458             <para>
28459             The NDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Stacks"/>.
28460             The current NDC implementation forwards to the <c>ThreadContext.Stacks["NDC"]</c>.
28461             </para>
28462             </note>
28463             <para>
28464             Remove the top context from the stack, and return
28465             it to the caller. If the stack is empty then an
28466             empty string (not <c>null</c>) is returned.
28467             </para>
28468             </remarks>
28469         </member>
28470         <member name="M:log4net.NDC.Push(System.String)">
28471             <summary>
28472             Pushes a new context message.
28473             </summary>
28474             <param name="message">The new context message.</param>
28475             <returns>
28476             An <see cref="T:System.IDisposable"/> that can be used to clean up 
28477             the context stack.
28478             </returns>
28479             <remarks>
28480             <note>
28481             <para>
28482             The NDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Stacks"/>.
28483             The current NDC implementation forwards to the <c>ThreadContext.Stacks["NDC"]</c>.
28484             </para>
28485             </note>
28486             <para>
28487             Pushes a new context onto the context stack. An <see cref="T:System.IDisposable"/>
28488             is returned that can be used to clean up the context stack. This
28489             can be easily combined with the <c>using</c> keyword to scope the
28490             context.
28491             </para>
28492             </remarks>
28493             <example>Simple example of using the <c>Push</c> method with the <c>using</c> keyword.
28494             <code lang="C#">
28495             using(log4net.NDC.Push("NDC_Message"))
28496             {
28497                 log.Warn("This should have an NDC message");
28498             }
28499             </code>
28500             </example>
28501         </member>
28502         <member name="M:log4net.NDC.Remove">
28503             <summary>
28504             Removes the context information for this thread. It is
28505             not required to call this method.
28506             </summary>
28507             <remarks>
28508             <note>
28509             <para>
28510             The NDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Stacks"/>.
28511             The current NDC implementation forwards to the <c>ThreadContext.Stacks["NDC"]</c>.
28512             </para>
28513             </note>
28514             <para>
28515             This method is not implemented.
28516             </para>
28517             </remarks>
28518         </member>
28519         <member name="M:log4net.NDC.SetMaxDepth(System.Int32)">
28520             <summary>
28521             Forces the stack depth to be at most <paramref name="maxDepth"/>.
28522             </summary>
28523             <param name="maxDepth">The maximum depth of the stack</param>
28524             <remarks>
28525             <note>
28526             <para>
28527             The NDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Stacks"/>.
28528             The current NDC implementation forwards to the <c>ThreadContext.Stacks["NDC"]</c>.
28529             </para>
28530             </note>
28531             <para>
28532             Forces the stack depth to be at most <paramref name="maxDepth"/>.
28533             This may truncate the head of the stack. This only affects the 
28534             stack in the current thread. Also it does not prevent it from
28535             growing, it only sets the maximum depth at the time of the
28536             call. This can be used to return to a known context depth.
28537             </para>
28538             </remarks>
28539         </member>
28540         <member name="P:log4net.NDC.Depth">
28541             <summary>
28542             Gets the current context depth.
28543             </summary>
28544             <value>The current context depth.</value>
28545             <remarks>
28546             <note>
28547             <para>
28548             The NDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Stacks"/>.
28549             The current NDC implementation forwards to the <c>ThreadContext.Stacks["NDC"]</c>.
28550             </para>
28551             </note>
28552             <para>
28553             The number of context values pushed onto the context stack.
28554             </para>
28555             <para>
28556             Used to record the current depth of the context. This can then 
28557             be restored using the <see cref="M:log4net.NDC.SetMaxDepth(System.Int32)"/> method.
28558             </para>
28559             </remarks>
28560             <seealso cref="M:log4net.NDC.SetMaxDepth(System.Int32)"/>
28561         </member>
28562         <member name="T:log4net.ThreadContext">
28563             <summary>
28564             The log4net Thread Context.
28565             </summary>
28566             <remarks>
28567             <para>
28568             The <c>ThreadContext</c> provides a location for thread specific debugging 
28569             information to be stored.
28570             The <c>ThreadContext</c> properties override any <see cref="T:log4net.GlobalContext"/>
28571             properties with the same name.
28572             </para>
28573             <para>
28574             The thread context has a properties map and a stack.
28575             The properties and stack can 
28576             be included in the output of log messages. The <see cref="T:log4net.Layout.PatternLayout"/>
28577             supports selecting and outputting these properties.
28578             </para>
28579             <para>
28580             The Thread Context provides a diagnostic context for the current thread. 
28581             This is an instrument for distinguishing interleaved log
28582             output from different sources. Log output is typically interleaved
28583             when a server handles multiple clients near-simultaneously.
28584             </para>
28585             <para>
28586             The Thread Context is managed on a per thread basis.
28587             </para>
28588             </remarks>
28589             <example>Example of using the thread context properties to store a username.
28590             <code lang="C#">
28591             ThreadContext.Properties["user"] = userName;
28592             log.Info("This log message has a ThreadContext Property called 'user'");
28593             </code>
28594             </example>
28595             <example>Example of how to push a message into the context stack
28596             <code lang="C#">
28597             using(ThreadContext.Stacks["NDC"].Push("my context message"))
28598             {
28599                 log.Info("This log message has a ThreadContext Stack message that includes 'my context message'");
28600             
28601             } // at the end of the using block the message is automatically popped 
28602             </code>
28603             </example>
28604             <threadsafety static="true" instance="true"/>
28605             <author>Nicko Cadell</author>
28606         </member>
28607         <member name="M:log4net.ThreadContext.#ctor">
28608             <summary>
28609             Private Constructor. 
28610             </summary>
28611             <remarks>
28612             <para>
28613             Uses a private access modifier to prevent instantiation of this class.
28614             </para>
28615             </remarks>
28616         </member>
28617         <member name="F:log4net.ThreadContext.s_properties">
28618             <summary>
28619             The thread context properties instance
28620             </summary>
28621         </member>
28622         <member name="F:log4net.ThreadContext.s_stacks">
28623             <summary>
28624             The thread context stacks instance
28625             </summary>
28626         </member>
28627         <member name="P:log4net.ThreadContext.Properties">
28628             <summary>
28629             The thread properties map
28630             </summary>
28631             <value>
28632             The thread properties map
28633             </value>
28634             <remarks>
28635             <para>
28636             The <c>ThreadContext</c> properties override any <see cref="T:log4net.GlobalContext"/>
28637             properties with the same name.
28638             </para>
28639             </remarks>
28640         </member>
28641         <member name="P:log4net.ThreadContext.Stacks">
28642             <summary>
28643             The thread stacks
28644             </summary>
28645             <value>
28646             stack map
28647             </value>
28648             <remarks>
28649             <para>
28650             The thread local stacks.
28651             </para>
28652             </remarks>
28653         </member>
28654     </members>
28655 </doc>