7 <member name="T:log4net.Appender.AdoNetAppender">
9 Appender that logs to a database.
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>.
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
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.
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"/>.
43 An example of a SQL Server table that could be logged to:
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
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)"/>
63 <parameterName value="@log_date"/>
64 <dbType value="DateTime"/>
65 <layout type="log4net.Layout.PatternLayout" value="%date{yyyy'-'MM'-'dd HH':'mm':'ss'.'fff}"/>
68 <parameterName value="@thread"/>
69 <dbType value="String"/>
71 <layout type="log4net.Layout.PatternLayout" value="%thread"/>
74 <parameterName value="@log_level"/>
75 <dbType value="String"/>
77 <layout type="log4net.Layout.PatternLayout" value="%level"/>
80 <parameterName value="@logger"/>
81 <dbType value="String"/>
83 <layout type="log4net.Layout.PatternLayout" value="%logger"/>
86 <parameterName value="@message"/>
87 <dbType value="String"/>
89 <layout type="log4net.Layout.PatternLayout" value="%message"/>
94 <author>Julian Biddle</author>
95 <author>Nicko Cadell</author>
96 <author>Gert Driesen</author>
97 <author>Lance Nehring</author>
99 <member name="T:log4net.Appender.BufferingAppenderSkeleton">
101 Abstract base class implementation of <see cref="T:log4net.Appender.IAppender"/> that
102 buffers events in a fixed size buffer.
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.
112 Subclasses should override the <see cref="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.Core.LoggingEvent[])"/>
113 method to deliver the buffered events.
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.
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.
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
141 <author>Nicko Cadell</author>
142 <author>Gert Driesen</author>
144 <member name="T:log4net.Appender.AppenderSkeleton">
146 Abstract base class implementation of <see cref="T:log4net.Appender.IAppender"/>.
150 This class provides the code for common functionality, such
151 as support for threshold filtering and support for general filters.
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.
159 <author>Nicko Cadell</author>
160 <author>Gert Driesen</author>
162 <member name="T:log4net.Appender.IAppender">
164 Implement this interface for your own strategies for printing log statements.
168 Implementors should consider extending the <see cref="T:log4net.Appender.AppenderSkeleton"/>
169 class which provides a default implementation of this interface.
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.
177 <author>Nicko Cadell</author>
178 <author>Gert Driesen</author>
180 <member name="M:log4net.Appender.IAppender.Close">
182 Closes the appender and releases resources.
186 Releases any resources allocated within the appender such as file handles,
187 network connections, etc.
190 It is a programming error to append to a closed appender.
194 <member name="M:log4net.Appender.IAppender.DoAppend(log4net.Core.LoggingEvent)">
196 Log the logging event in Appender specific way.
198 <param name="loggingEvent">The event to log</param>
201 This method is called to log a message into this appender.
205 <member name="P:log4net.Appender.IAppender.Name">
207 Gets or sets the name of this appender.
209 <value>The name of the appender.</value>
211 <para>The name uniquely identifies the appender.</para>
214 <member name="T:log4net.Appender.IBulkAppender">
216 Interface for appenders that support bulk logging.
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.
225 <author>Nicko Cadell</author>
227 <member name="M:log4net.Appender.IBulkAppender.DoAppend(log4net.Core.LoggingEvent[])">
229 Log the array of logging events in Appender specific way.
231 <param name="loggingEvents">The events to log</param>
234 This method is called to log an array of events into this appender.
238 <member name="T:log4net.Core.IOptionHandler">
240 Interface used to delay activate a configured object.
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.
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.
254 <author>Nicko Cadell</author>
256 <member name="M:log4net.Core.IOptionHandler.ActivateOptions">
258 Activate the options that were previously set with calls to properties.
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.
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.
272 <member name="F:log4net.Appender.AppenderSkeleton.c_renderBufferSize">
277 <member name="F:log4net.Appender.AppenderSkeleton.c_renderBufferMaxCapacity">
279 Maximum buffer size before it is recycled
282 <member name="M:log4net.Appender.AppenderSkeleton.#ctor">
287 <para>Empty default constructor</para>
290 <member name="M:log4net.Appender.AppenderSkeleton.Finalize">
292 Finalizes this appender by calling the implementation's
293 <see cref="M:log4net.Appender.AppenderSkeleton.Close"/> method.
297 If this appender has not been closed then the <c>Finalize</c> method
298 will call <see cref="M:log4net.Appender.AppenderSkeleton.Close"/>.
302 <member name="M:log4net.Appender.AppenderSkeleton.ActivateOptions">
304 Initialize the appender based on the options set
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.
315 If any of the configuration properties are modified then
316 <see cref="M:log4net.Appender.AppenderSkeleton.ActivateOptions"/> must be called again.
320 <member name="M:log4net.Appender.AppenderSkeleton.Close">
322 Closes the appender and release resources.
326 Release any resources allocated within the appender such as file handles,
327 network connections, etc.
330 It is a programming error to append to a closed appender.
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.
339 <member name="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)">
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.
345 <param name="loggingEvent">The event to log.</param>
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.
353 The implementation of this method is as follows:
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>
365 Checks that the <see cref="T:log4net.Filter.IFilter"/> chain accepts the
366 <paramref name="loggingEvent"/>.
371 Calls <see cref="M:log4net.Appender.AppenderSkeleton.PreAppendCheck"/> and checks that
372 it returns <c>true</c>.</description>
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.
382 <member name="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent[])">
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.
388 <param name="loggingEvents">The array of events to log.</param>
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.
396 The implementation of this method is as follows:
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>
408 Checks that the <see cref="T:log4net.Filter.IFilter"/> chain accepts the
409 <paramref name="loggingEvent"/>.
414 Calls <see cref="M:log4net.Appender.AppenderSkeleton.PreAppendCheck"/> and checks that
415 it returns <c>true</c>.</description>
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.
425 <member name="M:log4net.Appender.AppenderSkeleton.FilterEvent(log4net.Core.LoggingEvent)">
427 Test if the logging event should we output by this appender
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>
433 This method checks the logging event against the threshold level set
434 on this appender and also against the filters specified on this
438 The implementation of this method is as follows:
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>
450 Checks that the <see cref="T:log4net.Filter.IFilter"/> chain accepts the
451 <paramref name="loggingEvent"/>.
458 <member name="M:log4net.Appender.AppenderSkeleton.AddFilter(log4net.Filter.IFilter)">
460 Adds a filter to the end of the filter chain.
462 <param name="filter">the filter to add to this appender</param>
465 The Filters are organized in a linked list.
468 Setting this property causes the new filter to be pushed onto the
469 back of the filter chain.
473 <member name="M:log4net.Appender.AppenderSkeleton.ClearFilters">
475 Clears the filter list for this appender.
479 Clears the filter list for this appender.
483 <member name="M:log4net.Appender.AppenderSkeleton.IsAsSevereAsThreshold(log4net.Core.Level)">
485 Checks if the message level is below this appender's threshold.
487 <param name="level"><see cref="T:log4net.Core.Level"/> to test against.</param>
490 If there is no threshold set, then the return value is always <c>true</c>.
494 <c>true</c> if the <paramref name="level"/> meets the <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/>
495 requirements of this appender.
498 <member name="M:log4net.Appender.AppenderSkeleton.OnClose">
500 Is called when the appender is closed. Derived classes should override
501 this method if resources need to be released.
505 Releases any resources allocated within the appender such as file handles,
506 network connections, etc.
509 It is a programming error to append to a closed appender.
513 <member name="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent)">
515 Subclasses of <see cref="T:log4net.Appender.AppenderSkeleton"/> should implement this method
516 to perform actual logging.
518 <param name="loggingEvent">The event to append.</param>
521 A subclass must implement this method to perform
522 logging of the <paramref name="loggingEvent"/>.
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.
528 To restrict the logging of events in the appender
529 override the <see cref="M:log4net.Appender.AppenderSkeleton.PreAppendCheck"/> method.
533 <member name="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent[])">
535 Append a bulk array of logging events.
537 <param name="loggingEvents">the array of logging events</param>
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.
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)"/>.
549 <member name="M:log4net.Appender.AppenderSkeleton.PreAppendCheck">
551 Called before <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent)"/> as a precondition.
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.
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.
563 A subclass should ensure that they delegate this call to
564 this base class if it is overridden.
567 <returns><c>true</c> if the call to <see cref="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent)"/> should proceed.</returns>
569 <member name="M:log4net.Appender.AppenderSkeleton.RenderLoggingEvent(log4net.Core.LoggingEvent)">
571 Renders the <see cref="T:log4net.Core.LoggingEvent"/> to a string.
573 <param name="loggingEvent">The event to render.</param>
574 <returns>The event rendered as a string.</returns>
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
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.
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.
595 <member name="M:log4net.Appender.AppenderSkeleton.RenderLoggingEvent(System.IO.TextWriter,log4net.Core.LoggingEvent)">
597 Renders the <see cref="T:log4net.Core.LoggingEvent"/> to a string.
599 <param name="loggingEvent">The event to render.</param>
600 <param name="writer">The TextWriter to write the formatted event to</param>
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
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.
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.
620 <member name="F:log4net.Appender.AppenderSkeleton.m_layout">
622 The layout of this appender.
625 See <see cref="P:log4net.Appender.AppenderSkeleton.Layout"/> for more information.
628 <member name="F:log4net.Appender.AppenderSkeleton.m_name">
630 The name of this appender.
633 See <see cref="P:log4net.Appender.AppenderSkeleton.Name"/> for more information.
636 <member name="F:log4net.Appender.AppenderSkeleton.m_threshold">
638 The level threshold of this appender.
642 There is no level threshold filtering by default.
645 See <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/> for more information.
649 <member name="F:log4net.Appender.AppenderSkeleton.m_errorHandler">
651 It is assumed and enforced that errorHandler is never null.
655 It is assumed and enforced that errorHandler is never null.
658 See <see cref="P:log4net.Appender.AppenderSkeleton.ErrorHandler"/> for more information.
662 <member name="F:log4net.Appender.AppenderSkeleton.m_headFilter">
664 The first filter in the filter chain.
668 Set to <c>null</c> initially.
671 See <see cref="T:log4net.Filter.IFilter"/> for more information.
675 <member name="F:log4net.Appender.AppenderSkeleton.m_tailFilter">
677 The last filter in the filter chain.
680 See <see cref="T:log4net.Filter.IFilter"/> for more information.
683 <member name="F:log4net.Appender.AppenderSkeleton.m_closed">
685 Flag indicating if this appender is closed.
688 See <see cref="M:log4net.Appender.AppenderSkeleton.Close"/> for more information.
691 <member name="F:log4net.Appender.AppenderSkeleton.m_recursiveGuard">
693 The guard prevents an appender from repeatedly calling its own DoAppend method
696 <member name="F:log4net.Appender.AppenderSkeleton.m_renderWriter">
698 StringWriter used to render events
701 <member name="P:log4net.Appender.AppenderSkeleton.Threshold">
703 Gets or sets the threshold <see cref="T:log4net.Core.Level"/> of this appender.
706 The threshold <see cref="T:log4net.Core.Level"/> of the appender.
710 All log events with lower level than the threshold level are ignored
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.
720 <member name="P:log4net.Appender.AppenderSkeleton.ErrorHandler">
722 Gets or sets the <see cref="T:log4net.Core.IErrorHandler"/> for this appender.
724 <value>The <see cref="T:log4net.Core.IErrorHandler"/> of the appender</value>
727 The <see cref="T:log4net.Appender.AppenderSkeleton"/> provides a default
728 implementation for the <see cref="P:log4net.Appender.AppenderSkeleton.ErrorHandler"/> property.
732 <member name="P:log4net.Appender.AppenderSkeleton.FilterHead">
736 <value>The head of the filter chain filter chain.</value>
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.
744 <member name="P:log4net.Appender.AppenderSkeleton.Layout">
746 Gets or sets the <see cref="T:log4net.Layout.ILayout"/> for this appender.
748 <value>The layout of the appender.</value>
751 See <see cref="P:log4net.Appender.AppenderSkeleton.RequiresLayout"/> for more information.
754 <seealso cref="P:log4net.Appender.AppenderSkeleton.RequiresLayout"/>
756 <member name="P:log4net.Appender.AppenderSkeleton.Name">
758 Gets or sets the name of this appender.
760 <value>The name of the appender.</value>
763 The name uniquely identifies the appender.
767 <member name="P:log4net.Appender.AppenderSkeleton.RequiresLayout">
769 Tests if this appender requires a <see cref="P:log4net.Appender.AppenderSkeleton.Layout"/> to be set.
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>.
778 This default implementation always returns <c>true</c>.
782 <c>true</c> if the appender requires a layout object, otherwise <c>false</c>.
785 <member name="F:log4net.Appender.BufferingAppenderSkeleton.DEFAULT_BUFFER_SIZE">
787 The default buffer size.
790 The default size of the cyclic buffer used to store events.
791 This is set to 512 by default.
794 <member name="M:log4net.Appender.BufferingAppenderSkeleton.#ctor">
796 Initializes a new instance of the <see cref="T:log4net.Appender.BufferingAppenderSkeleton"/> class.
800 Protected default constructor to allow subclassing.
804 <member name="M:log4net.Appender.BufferingAppenderSkeleton.#ctor(System.Boolean)">
806 Initializes a new instance of the <see cref="T:log4net.Appender.BufferingAppenderSkeleton"/> class.
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>
812 Protected constructor to allow subclassing.
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.
821 <member name="M:log4net.Appender.BufferingAppenderSkeleton.Flush">
823 Flush the currently buffered events
827 Flushes any events that have been buffered.
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.
835 <member name="M:log4net.Appender.BufferingAppenderSkeleton.Flush(System.Boolean)">
837 Flush the currently buffered events
839 <param name="flushLossyBuffer">set to <c>true</c> to flush the buffer of lossy events</param>
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.
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.
853 If <paramref name="flushLossyBuffer"/> is <c>true</c> then the buffer will always
854 be emptied by calling this method.
858 <member name="M:log4net.Appender.BufferingAppenderSkeleton.ActivateOptions">
860 Initialize the appender based on the options set
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.
871 If any of the configuration properties are modified then
872 <see cref="M:log4net.Appender.BufferingAppenderSkeleton.ActivateOptions"/> must be called again.
876 <member name="M:log4net.Appender.BufferingAppenderSkeleton.OnClose">
878 Close this appender instance.
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.
888 <member name="M:log4net.Appender.BufferingAppenderSkeleton.Append(log4net.Core.LoggingEvent)">
890 This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/> method.
892 <param name="loggingEvent">the event to log</param>
895 Stores the <paramref name="loggingEvent"/> in the cyclic buffer.
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:
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>
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>
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
920 <member name="M:log4net.Appender.BufferingAppenderSkeleton.SendFromBuffer(log4net.Core.LoggingEvent,log4net.Util.CyclicBuffer)">
922 Sends the contents of the buffer.
924 <param name="firstLoggingEvent">The first logging event.</param>
925 <param name="buffer">The buffer containing the events that need to be send.</param>
928 The subclass must override <see cref="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.Core.LoggingEvent[])"/>.
932 <member name="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.Core.LoggingEvent[])">
936 <param name="events">The events that need to be send.</param>
939 The subclass must override this method to process the buffered events.
943 <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_bufferSize">
945 The size of the cyclic buffer used to hold the logging events.
948 Set to <see cref="F:log4net.Appender.BufferingAppenderSkeleton.DEFAULT_BUFFER_SIZE"/> by default.
951 <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_cb">
953 The cyclic buffer used to store the logging events.
956 <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_evaluator">
958 The triggering event evaluator that causes the buffer to be sent immediately.
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.
969 <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_lossy">
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
976 If this field is set to <c>true</c> then an <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> must
980 <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_lossyEvaluator">
982 The triggering event evaluator filters discarded events.
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
991 <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_fixFlags">
993 Value indicating which fields in the event should be fixed
996 By default all fields are fixed
999 <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_eventMustBeFixed">
1001 The events delivered to the subclass must be fixed.
1004 <member name="P:log4net.Appender.BufferingAppenderSkeleton.Lossy">
1006 Gets or sets a value that indicates whether the appender is lossy.
1009 <c>true</c> if the appender is lossy, otherwise <c>false</c>. The default is <c>false</c>.
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
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>
1024 <member name="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize">
1026 Gets or sets the size of the cyclic buffer used to hold the
1030 The size of the cyclic buffer used to hold the logging events.
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.
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
1049 <member name="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator">
1051 Gets or sets the <see cref="T:log4net.Core.ITriggeringEventEvaluator"/> that causes the
1052 buffer to be sent immediately.
1055 The <see cref="T:log4net.Core.ITriggeringEventEvaluator"/> that causes the buffer to be
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[])"/>).
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>
1068 <member name="P:log4net.Appender.BufferingAppenderSkeleton.LossyEvaluator">
1070 Gets or sets the value of the <see cref="T:log4net.Core.ITriggeringEventEvaluator"/> to use.
1073 The value of the <see cref="T:log4net.Core.ITriggeringEventEvaluator"/> to use.
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[])"/>).
1083 <member name="P:log4net.Appender.BufferingAppenderSkeleton.OnlyFixPartialEventData">
1085 Gets or sets a value indicating if only part of the logging event data
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>.
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.
1098 See <see cref="M:log4net.Core.LoggingEvent.FixVolatileData(log4net.Core.FixFlags)"/> for more information.
1102 <member name="P:log4net.Appender.BufferingAppenderSkeleton.Fix">
1104 Gets or sets a the fields that will be fixed in the event
1107 The event fields that will be fixed before the event is buffered
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"/>
1116 <seealso cref="P:log4net.Core.LoggingEvent.Fix"/>
1118 <member name="M:log4net.Appender.AdoNetAppender.#ctor">
1120 Initializes a new instance of the <see cref="T:log4net.Appender.AdoNetAppender"/> class.
1123 Public default constructor to initialize a new instance of this class.
1126 <member name="M:log4net.Appender.AdoNetAppender.ActivateOptions">
1128 Initialize the appender based on the options set
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.
1139 If any of the configuration properties are modified then
1140 <see cref="M:log4net.Appender.AdoNetAppender.ActivateOptions"/> must be called again.
1144 <member name="M:log4net.Appender.AdoNetAppender.OnClose">
1146 Override the parent method to close the database
1150 Closes the database command and database connection.
1154 <member name="M:log4net.Appender.AdoNetAppender.SendBuffer(log4net.Core.LoggingEvent[])">
1156 Inserts the events into the database.
1158 <param name="events">The events to insert into the database.</param>
1161 Insert all the events specified in the <paramref name="events"/>
1162 array into the database.
1166 <member name="M:log4net.Appender.AdoNetAppender.AddParameter(log4net.Appender.AdoNetAppenderParameter)">
1168 Adds a parameter to the command.
1170 <param name="parameter">The parameter to add to the command.</param>
1173 Adds a parameter to the ordered list of command parameters.
1177 <member name="M:log4net.Appender.AdoNetAppender.SendBuffer(System.Data.IDbTransaction,log4net.Core.LoggingEvent[])">
1179 Writes the events to the database using the transaction specified.
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>
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.
1191 <member name="M:log4net.Appender.AdoNetAppender.GetLogStatement(log4net.Core.LoggingEvent)">
1193 Formats the log message into database statement text.
1195 <param name="logEvent">The event being logged.</param>
1197 This method can be overridden by subclasses to provide
1198 more control over the format of the database statement.
1201 Text that can be passed to a <see cref="T:System.Data.IDbCommand"/>.
1204 <member name="M:log4net.Appender.AdoNetAppender.InitializeDatabaseConnection">
1206 Connects to the database.
1209 <member name="M:log4net.Appender.AdoNetAppender.ResolveConnectionType">
1211 Retrieves the class type of the ADO.NET provider.
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.
1220 Subclasses can override this method to return a different type
1224 <returns>The <see cref="T:System.Type"/> of the ADO.NET provider</returns>
1226 <member name="M:log4net.Appender.AdoNetAppender.InitializeDatabaseCommand">
1228 Prepares the database command and initialize the parameters.
1231 <member name="F:log4net.Appender.AdoNetAppender.m_usePreparedCommand">
1233 Flag to indicate if we are using a command object
1237 Set to <c>true</c> when the appender is to use a prepared
1238 statement or stored procedure to insert into the database.
1242 <member name="F:log4net.Appender.AdoNetAppender.m_parameters">
1244 The list of <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> objects.
1248 The list of <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> objects.
1252 <member name="F:log4net.Appender.AdoNetAppender.m_securityContext">
1254 The security context to use for privileged calls
1257 <member name="F:log4net.Appender.AdoNetAppender.m_dbConnection">
1259 The <see cref="T:System.Data.IDbConnection"/> that will be used
1260 to insert logging events into a database.
1263 <member name="F:log4net.Appender.AdoNetAppender.m_dbCommand">
1265 The database command.
1268 <member name="F:log4net.Appender.AdoNetAppender.m_connectionString">
1270 Database connection string.
1273 <member name="F:log4net.Appender.AdoNetAppender.m_connectionType">
1275 String type name of the <see cref="T:System.Data.IDbConnection"/> type name.
1278 <member name="F:log4net.Appender.AdoNetAppender.m_commandText">
1280 The text of the command.
1283 <member name="F:log4net.Appender.AdoNetAppender.m_commandType">
1288 <member name="F:log4net.Appender.AdoNetAppender.m_useTransactions">
1290 Indicates whether to use transactions when writing to the database.
1293 <member name="F:log4net.Appender.AdoNetAppender.m_reconnectOnError">
1295 Indicates whether to use transactions when writing to the database.
1298 <member name="P:log4net.Appender.AdoNetAppender.ConnectionString">
1300 Gets or sets the database connection string that is used to connect to
1304 The database connection string used to connect to the database.
1308 The connections string is specific to the connection type.
1309 See <see cref="P:log4net.Appender.AdoNetAppender.ConnectionType"/> for more information.
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>
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>
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>
1322 <member name="P:log4net.Appender.AdoNetAppender.ConnectionType">
1324 Gets or sets the type name of the <see cref="T:System.Data.IDbConnection"/> connection
1325 that should be created.
1328 The type name of the <see cref="T:System.Data.IDbConnection"/> connection.
1332 The type name of the ADO.NET provider to use.
1335 The default is to use the OLE DB provider.
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>
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>
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>.
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>.
1357 <member name="P:log4net.Appender.AdoNetAppender.CommandText">
1359 Gets or sets the command text that is used to insert logging events
1363 The command text used to insert logging events into the database.
1367 Either the text of the prepared statement or the
1368 name of the stored procedure to execute to write into
1372 The <see cref="P:log4net.Appender.AdoNetAppender.CommandType"/> property determines if
1373 this text is a prepared statement or a stored procedure.
1377 <member name="P:log4net.Appender.AdoNetAppender.CommandType">
1379 Gets or sets the command type to execute.
1382 The command type to execute.
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
1393 The default value is <see cref="F:System.Data.CommandType.Text"/> (<c>System.Data.CommandType.Text</c>).
1397 <member name="P:log4net.Appender.AdoNetAppender.UseTransactions">
1399 Should transactions be used to insert logging events in the database.
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>.
1407 Gets or sets a value that indicates whether transactions should be used
1408 to insert logging events in the database.
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.
1417 <member name="P:log4net.Appender.AdoNetAppender.SecurityContext">
1419 Gets or sets the <see cref="P:log4net.Appender.AdoNetAppender.SecurityContext"/> used to call the NetSend method.
1422 The <see cref="P:log4net.Appender.AdoNetAppender.SecurityContext"/> used to call the NetSend method.
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.
1433 <member name="P:log4net.Appender.AdoNetAppender.ReconnectOnError">
1435 Should this appender try to reconnect to the database on error.
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.
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.
1448 To force the appender to attempt to reconnect to the database set this
1449 property to <c>true</c>.
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.
1459 <member name="P:log4net.Appender.AdoNetAppender.Connection">
1461 Gets or sets the underlying <see cref="T:System.Data.IDbConnection"/>.
1464 The underlying <see cref="T:System.Data.IDbConnection"/>.
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.
1474 <member name="T:log4net.Appender.AdoNetAppenderParameter">
1476 Parameter type used by the <see cref="T:log4net.Appender.AdoNetAppender"/>.
1480 This class provides the basic database parameter properties
1481 as defined by the <see cref="T:System.Data.IDbDataParameter"/> interface.
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)"/>.
1489 <member name="M:log4net.Appender.AdoNetAppenderParameter.#ctor">
1491 Initializes a new instance of the <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> class.
1494 Default constructor for the AdoNetAppenderParameter class.
1497 <member name="M:log4net.Appender.AdoNetAppenderParameter.Prepare(System.Data.IDbCommand)">
1499 Prepare the specified database command object.
1501 <param name="command">The command to prepare.</param>
1504 Prepares the database command object by adding
1505 this parameter to its collection of parameters.
1509 <member name="M:log4net.Appender.AdoNetAppenderParameter.FormatValue(System.Data.IDbCommand,log4net.Core.LoggingEvent)">
1511 Renders the logging event and set the parameter value in the command.
1513 <param name="command">The command containing the parameter.</param>
1514 <param name="loggingEvent">The event to be rendered.</param>
1517 Renders the logging event using this parameters layout
1518 object. Sets the value of the parameter on the command object.
1522 <member name="F:log4net.Appender.AdoNetAppenderParameter.m_parameterName">
1524 The name of this parameter.
1527 <member name="F:log4net.Appender.AdoNetAppenderParameter.m_dbType">
1529 The database type for this parameter.
1532 <member name="F:log4net.Appender.AdoNetAppenderParameter.m_inferType">
1534 Flag to infer type rather than use the DbType
1537 <member name="F:log4net.Appender.AdoNetAppenderParameter.m_precision">
1539 The precision for this parameter.
1542 <member name="F:log4net.Appender.AdoNetAppenderParameter.m_scale">
1544 The scale for this parameter.
1547 <member name="F:log4net.Appender.AdoNetAppenderParameter.m_size">
1549 The size for this parameter.
1552 <member name="F:log4net.Appender.AdoNetAppenderParameter.m_layout">
1554 The <see cref="T:log4net.Layout.IRawLayout"/> to use to render the
1555 logging event into an object for this parameter.
1558 <member name="P:log4net.Appender.AdoNetAppenderParameter.ParameterName">
1560 Gets or sets the name of this parameter.
1563 The name of this parameter.
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.
1573 <member name="P:log4net.Appender.AdoNetAppenderParameter.DbType">
1575 Gets or sets the database type for this parameter.
1578 The database type for this parameter.
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"/>.
1587 This property is optional. If not specified the ADO.NET provider
1588 will attempt to infer the type from the value.
1591 <seealso cref="P:System.Data.IDataParameter.DbType"/>
1593 <member name="P:log4net.Appender.AdoNetAppenderParameter.Precision">
1595 Gets or sets the precision for this parameter.
1598 The precision for this parameter.
1602 The maximum number of digits used to represent the Value.
1605 This property is optional. If not specified the ADO.NET provider
1606 will attempt to infer the precision from the value.
1609 <seealso cref="P:System.Data.IDbDataParameter.Precision"/>
1611 <member name="P:log4net.Appender.AdoNetAppenderParameter.Scale">
1613 Gets or sets the scale for this parameter.
1616 The scale for this parameter.
1620 The number of decimal places to which Value is resolved.
1623 This property is optional. If not specified the ADO.NET provider
1624 will attempt to infer the scale from the value.
1627 <seealso cref="P:System.Data.IDbDataParameter.Scale"/>
1629 <member name="P:log4net.Appender.AdoNetAppenderParameter.Size">
1631 Gets or sets the size for this parameter.
1634 The size for this parameter.
1638 The maximum size, in bytes, of the data within the column.
1641 This property is optional. If not specified the ADO.NET provider
1642 will attempt to infer the size from the value.
1645 <seealso cref="P:System.Data.IDbDataParameter.Size"/>
1647 <member name="P:log4net.Appender.AdoNetAppenderParameter.Layout">
1649 Gets or sets the <see cref="T:log4net.Layout.IRawLayout"/> to use to
1650 render the logging event into an object for this
1654 The <see cref="T:log4net.Layout.IRawLayout"/> used to render the
1655 logging event into an object for this parameter.
1659 The <see cref="T:log4net.Layout.IRawLayout"/> that renders the value for this
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.
1669 <member name="T:log4net.Appender.AnsiColorTerminalAppender">
1671 Appends logging events to the terminal using ANSI color escape sequences.
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.
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.
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
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.
1697 When configuring the ANSI colored terminal appender, a mapping should be
1698 specified to map a logging level to a color. For example:
1700 <code lang="XML" escaped="true">
1702 <level value="ERROR"/>
1703 <foreColor value="White"/>
1704 <backColor value="Red"/>
1705 <attributes value="Bright,Underscore"/>
1708 <level value="DEBUG"/>
1709 <backColor value="Green"/>
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>
1724 These color values cannot be combined together to make new colors.
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>
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
1742 <author>Patrick Wagstrom</author>
1743 <author>Nicko Cadell</author>
1745 <member name="F:log4net.Appender.AnsiColorTerminalAppender.ConsoleOut">
1747 The <see cref="P:log4net.Appender.AnsiColorTerminalAppender.Target"/> to use when writing to the Console
1748 standard output stream.
1752 The <see cref="P:log4net.Appender.AnsiColorTerminalAppender.Target"/> to use when writing to the Console
1753 standard output stream.
1757 <member name="F:log4net.Appender.AnsiColorTerminalAppender.ConsoleError">
1759 The <see cref="P:log4net.Appender.AnsiColorTerminalAppender.Target"/> to use when writing to the Console
1760 standard error output stream.
1764 The <see cref="P:log4net.Appender.AnsiColorTerminalAppender.Target"/> to use when writing to the Console
1765 standard error output stream.
1769 <member name="F:log4net.Appender.AnsiColorTerminalAppender.PostEventCodes">
1771 Ansi code to reset terminal
1774 <member name="M:log4net.Appender.AnsiColorTerminalAppender.#ctor">
1776 Initializes a new instance of the <see cref="T:log4net.Appender.AnsiColorTerminalAppender"/> class.
1779 The instance of the <see cref="T:log4net.Appender.AnsiColorTerminalAppender"/> class is set up to write
1780 to the standard output stream.
1783 <member name="M:log4net.Appender.AnsiColorTerminalAppender.AddMapping(log4net.Appender.AnsiColorTerminalAppender.LevelColors)">
1785 Add a mapping of level to color
1787 <param name="mapping">The mapping to add</param>
1790 Add a <see cref="T:log4net.Appender.AnsiColorTerminalAppender.LevelColors"/> mapping to this appender.
1791 Each mapping defines the foreground and background colours
1796 <member name="M:log4net.Appender.AnsiColorTerminalAppender.Append(log4net.Core.LoggingEvent)">
1798 This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/> method.
1800 <param name="loggingEvent">The event to log.</param>
1803 Writes the event to the console.
1806 The format of the output will depend on the appender's layout.
1810 <member name="M:log4net.Appender.AnsiColorTerminalAppender.ActivateOptions">
1812 Initialize the options for this appender
1816 Initialize the level to color mappings set on this appender.
1820 <member name="F:log4net.Appender.AnsiColorTerminalAppender.m_writeToErrorStream">
1822 Flag to write output to the error stream rather than the standard output stream
1825 <member name="F:log4net.Appender.AnsiColorTerminalAppender.m_levelMapping">
1827 Mapping from level object to color value
1830 <member name="P:log4net.Appender.AnsiColorTerminalAppender.Target">
1832 Target is the value of the console output stream.
1835 Target is the value of the console output stream.
1836 This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
1840 Target is the value of the console output stream.
1841 This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
1845 <member name="P:log4net.Appender.AnsiColorTerminalAppender.RequiresLayout">
1847 This appender requires a <see cref="N:log4net.Layout"/> to be set.
1849 <value><c>true</c></value>
1852 This appender requires a <see cref="N:log4net.Layout"/> to be set.
1856 <member name="T:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes">
1858 The enum of possible display attributes
1862 The following flags can be combined together to
1863 form the ANSI color attributes.
1866 <seealso cref="T:log4net.Appender.AnsiColorTerminalAppender"/>
1868 <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes.Bright">
1873 <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes.Dim">
1878 <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes.Underscore">
1883 <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes.Blink">
1888 Not all terminals support this attribute
1891 <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes.Reverse">
1893 text and background colors are reversed
1896 <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes.Hidden">
1901 <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes.Strikethrough">
1903 text is displayed with a strikethrough
1906 <member name="T:log4net.Appender.AnsiColorTerminalAppender.AnsiColor">
1908 The enum of possible foreground or background color values for
1909 use with the color mapping method
1913 The output can be in one for the following ANSI colors.
1916 <seealso cref="T:log4net.Appender.AnsiColorTerminalAppender"/>
1918 <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.Black">
1923 <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.Red">
1928 <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.Green">
1933 <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.Yellow">
1938 <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.Blue">
1943 <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.Magenta">
1948 <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.Cyan">
1953 <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.White">
1958 <member name="T:log4net.Appender.AnsiColorTerminalAppender.LevelColors">
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.
1965 Defines the mapping between a level and the color it should be displayed in.
1969 <member name="T:log4net.Util.LevelMappingEntry">
1971 An entry in the <see cref="T:log4net.Util.LevelMapping"/>
1975 This is an abstract base class for types that are stored in the
1976 <see cref="T:log4net.Util.LevelMapping"/> object.
1979 <author>Nicko Cadell</author>
1981 <member name="M:log4net.Util.LevelMappingEntry.#ctor">
1983 Default protected constructor
1987 Default protected constructor
1991 <member name="M:log4net.Util.LevelMappingEntry.ActivateOptions">
1993 Initialize any options defined on this entry
1997 Should be overridden by any classes that need to initialise based on their options
2001 <member name="P:log4net.Util.LevelMappingEntry.Level">
2003 The level that is the key for this mapping
2006 The <see cref="P:log4net.Util.LevelMappingEntry.Level"/> that is the key for this mapping
2010 Get or set the <see cref="P:log4net.Util.LevelMappingEntry.Level"/> that is the key for this
2015 <member name="M:log4net.Appender.AnsiColorTerminalAppender.LevelColors.ActivateOptions">
2017 Initialize the options for the object
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.
2026 <member name="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.ForeColor">
2028 The mapped foreground color for the specified level
2033 The mapped foreground color for the specified level
2037 <member name="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.BackColor">
2039 The mapped background color for the specified level
2044 The mapped background color for the specified level
2048 <member name="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.Attributes">
2050 The color attributes for the specified level
2055 The color attributes for the specified level
2059 <member name="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.CombinedColor">
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.
2065 <member name="T:log4net.Appender.AppenderCollection">
2067 A strongly-typed collection of <see cref="T:log4net.Appender.IAppender"/> objects.
2069 <author>Nicko Cadell</author>
2071 <member name="M:log4net.Appender.AppenderCollection.ReadOnly(log4net.Appender.AppenderCollection)">
2073 Creates a read-only wrapper for a <c>AppenderCollection</c> instance.
2075 <param name="list">list to create a readonly wrapper arround</param>
2077 An <c>AppenderCollection</c> wrapper that is read-only.
2080 <member name="F:log4net.Appender.AppenderCollection.EmptyCollection">
2082 An empty readonly static AppenderCollection
2085 <member name="M:log4net.Appender.AppenderCollection.#ctor">
2087 Initializes a new instance of the <c>AppenderCollection</c> class
2088 that is empty and has the default initial capacity.
2091 <member name="M:log4net.Appender.AppenderCollection.#ctor(System.Int32)">
2093 Initializes a new instance of the <c>AppenderCollection</c> class
2094 that has the specified initial capacity.
2096 <param name="capacity">
2097 The number of elements that the new <c>AppenderCollection</c> is initially capable of storing.
2100 <member name="M:log4net.Appender.AppenderCollection.#ctor(log4net.Appender.AppenderCollection)">
2102 Initializes a new instance of the <c>AppenderCollection</c> class
2103 that contains elements copied from the specified <c>AppenderCollection</c>.
2105 <param name="c">The <c>AppenderCollection</c> whose elements are copied to the new collection.</param>
2107 <member name="M:log4net.Appender.AppenderCollection.#ctor(log4net.Appender.IAppender[])">
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.
2112 <param name="a">The <see cref="T:log4net.Appender.IAppender"/> array whose elements are copied to the new list.</param>
2114 <member name="M:log4net.Appender.AppenderCollection.#ctor(System.Collections.ICollection)">
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.
2119 <param name="col">The <see cref="T:log4net.Appender.IAppender"/> collection whose elements are copied to the new list.</param>
2121 <member name="M:log4net.Appender.AppenderCollection.#ctor(log4net.Appender.AppenderCollection.Tag)">
2123 Allow subclasses to avoid our default constructors
2125 <param name="tag"></param>
2128 <member name="M:log4net.Appender.AppenderCollection.CopyTo(log4net.Appender.IAppender[])">
2130 Copies the entire <c>AppenderCollection</c> to a one-dimensional
2131 <see cref="T:log4net.Appender.IAppender"/> array.
2133 <param name="array">The one-dimensional <see cref="T:log4net.Appender.IAppender"/> array to copy to.</param>
2135 <member name="M:log4net.Appender.AppenderCollection.CopyTo(log4net.Appender.IAppender[],System.Int32)">
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.
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>
2143 <member name="M:log4net.Appender.AppenderCollection.Add(log4net.Appender.IAppender)">
2145 Adds a <see cref="T:log4net.Appender.IAppender"/> to the end of the <c>AppenderCollection</c>.
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>
2150 <member name="M:log4net.Appender.AppenderCollection.Clear">
2152 Removes all elements from the <c>AppenderCollection</c>.
2155 <member name="M:log4net.Appender.AppenderCollection.Clone">
2157 Creates a shallow copy of the <see cref="T:log4net.Appender.AppenderCollection"/>.
2159 <returns>A new <see cref="T:log4net.Appender.AppenderCollection"/> with a shallow copy of the collection data.</returns>
2161 <member name="M:log4net.Appender.AppenderCollection.Contains(log4net.Appender.IAppender)">
2163 Determines whether a given <see cref="T:log4net.Appender.IAppender"/> is in the <c>AppenderCollection</c>.
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>
2168 <member name="M:log4net.Appender.AppenderCollection.IndexOf(log4net.Appender.IAppender)">
2170 Returns the zero-based index of the first occurrence of a <see cref="T:log4net.Appender.IAppender"/>
2171 in the <c>AppenderCollection</c>.
2173 <param name="item">The <see cref="T:log4net.Appender.IAppender"/> to locate in the <c>AppenderCollection</c>.</param>
2175 The zero-based index of the first occurrence of <paramref name="item"/>
2176 in the entire <c>AppenderCollection</c>, if found; otherwise, -1.
2179 <member name="M:log4net.Appender.AppenderCollection.Insert(System.Int32,log4net.Appender.IAppender)">
2181 Inserts an element into the <c>AppenderCollection</c> at the specified index.
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>
2188 <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Appender.AppenderCollection.Count"/>.</para>
2191 <member name="M:log4net.Appender.AppenderCollection.Remove(log4net.Appender.IAppender)">
2193 Removes the first occurrence of a specific <see cref="T:log4net.Appender.IAppender"/> from the <c>AppenderCollection</c>.
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>.
2200 <member name="M:log4net.Appender.AppenderCollection.RemoveAt(System.Int32)">
2202 Removes the element at the specified index of the <c>AppenderCollection</c>.
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>
2208 <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Appender.AppenderCollection.Count"/>.</para>
2211 <member name="M:log4net.Appender.AppenderCollection.GetEnumerator">
2213 Returns an enumerator that can iterate through the <c>AppenderCollection</c>.
2215 <returns>An <see cref="T:log4net.Appender.AppenderCollection.Enumerator"/> for the entire <c>AppenderCollection</c>.</returns>
2217 <member name="M:log4net.Appender.AppenderCollection.AddRange(log4net.Appender.AppenderCollection)">
2219 Adds the elements of another <c>AppenderCollection</c> to the current <c>AppenderCollection</c>.
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>
2224 <member name="M:log4net.Appender.AppenderCollection.AddRange(log4net.Appender.IAppender[])">
2226 Adds the elements of a <see cref="T:log4net.Appender.IAppender"/> array to the current <c>AppenderCollection</c>.
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>
2231 <member name="M:log4net.Appender.AppenderCollection.AddRange(System.Collections.ICollection)">
2233 Adds the elements of a <see cref="T:log4net.Appender.IAppender"/> collection to the current <c>AppenderCollection</c>.
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>
2238 <member name="M:log4net.Appender.AppenderCollection.TrimToSize">
2240 Sets the capacity to the actual number of elements.
2243 <member name="M:log4net.Appender.AppenderCollection.ToArray">
2245 Return the collection elements as an array
2247 <returns>the array</returns>
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>
2253 <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Appender.AppenderCollection.Count"/>.</para>
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>
2260 <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Appender.AppenderCollection.Count"/>.</para>
2263 <member name="P:log4net.Appender.AppenderCollection.Count">
2265 Gets the number of elements actually contained in the <c>AppenderCollection</c>.
2268 <member name="P:log4net.Appender.AppenderCollection.IsSynchronized">
2270 Gets a value indicating whether access to the collection is synchronized (thread-safe).
2272 <returns>true if access to the ICollection is synchronized (thread-safe); otherwise, false.</returns>
2274 <member name="P:log4net.Appender.AppenderCollection.SyncRoot">
2276 Gets an object that can be used to synchronize access to the collection.
2279 <member name="P:log4net.Appender.AppenderCollection.Item(System.Int32)">
2281 Gets or sets the <see cref="T:log4net.Appender.IAppender"/> at the specified index.
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>
2287 <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Appender.AppenderCollection.Count"/>.</para>
2290 <member name="P:log4net.Appender.AppenderCollection.IsFixedSize">
2292 Gets a value indicating whether the collection has a fixed size.
2294 <value>true if the collection has a fixed size; otherwise, false. The default is false</value>
2296 <member name="P:log4net.Appender.AppenderCollection.IsReadOnly">
2298 Gets a value indicating whether the IList is read-only.
2300 <value>true if the collection is read-only; otherwise, false. The default is false</value>
2302 <member name="P:log4net.Appender.AppenderCollection.Capacity">
2304 Gets or sets the number of elements the <c>AppenderCollection</c> can contain.
2307 <member name="T:log4net.Appender.AppenderCollection.IAppenderCollectionEnumerator">
2309 Supports type-safe iteration over a <see cref="T:log4net.Appender.AppenderCollection"/>.
2313 <member name="M:log4net.Appender.AppenderCollection.IAppenderCollectionEnumerator.MoveNext">
2315 Advances the enumerator to the next element in the collection.
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.
2321 <exception cref="T:System.InvalidOperationException">
2322 The collection was modified after the enumerator was created.
2325 <member name="M:log4net.Appender.AppenderCollection.IAppenderCollectionEnumerator.Reset">
2327 Sets the enumerator to its initial position, before the first element in the collection.
2330 <member name="P:log4net.Appender.AppenderCollection.IAppenderCollectionEnumerator.Current">
2332 Gets the current element in the collection.
2335 <member name="T:log4net.Appender.AppenderCollection.Tag">
2337 Type visible only to our subclasses
2338 Used to access protected constructor
2342 <member name="F:log4net.Appender.AppenderCollection.Tag.Default">
2347 <member name="T:log4net.Appender.AppenderCollection.Enumerator">
2349 Supports simple iteration over a <see cref="T:log4net.Appender.AppenderCollection"/>.
2353 <member name="M:log4net.Appender.AppenderCollection.Enumerator.#ctor(log4net.Appender.AppenderCollection)">
2355 Initializes a new instance of the <c>Enumerator</c> class.
2357 <param name="tc"></param>
2359 <member name="M:log4net.Appender.AppenderCollection.Enumerator.MoveNext">
2361 Advances the enumerator to the next element in the collection.
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.
2367 <exception cref="T:System.InvalidOperationException">
2368 The collection was modified after the enumerator was created.
2371 <member name="M:log4net.Appender.AppenderCollection.Enumerator.Reset">
2373 Sets the enumerator to its initial position, before the first element in the collection.
2376 <member name="P:log4net.Appender.AppenderCollection.Enumerator.Current">
2378 Gets the current element in the collection.
2381 <member name="T:log4net.Appender.AppenderCollection.ReadOnlyAppenderCollection">
2384 <member name="T:log4net.Appender.AspNetTraceAppender">
2387 Appends log events to the ASP.NET <see cref="T:System.Web.TraceContext"/> system.
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
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.
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.
2406 <author>Nicko Cadell</author>
2407 <author>Gert Driesen</author>
2409 <member name="M:log4net.Appender.AspNetTraceAppender.#ctor">
2411 Initializes a new instance of the <see cref="T:log4net.Appender.AspNetTraceAppender"/> class.
2415 Default constructor.
2419 <member name="M:log4net.Appender.AspNetTraceAppender.Append(log4net.Core.LoggingEvent)">
2421 Write the logging event to the ASP.NET trace
2423 <param name="loggingEvent">the event to log</param>
2426 Write the logging event to the ASP.NET trace
2427 <c>HttpContext.Current.Trace</c>
2428 (<see cref="T:System.Web.TraceContext"/>).
2432 <member name="P:log4net.Appender.AspNetTraceAppender.RequiresLayout">
2434 This appender requires a <see cref="N:log4net.Layout"/> to be set.
2436 <value><c>true</c></value>
2439 This appender requires a <see cref="N:log4net.Layout"/> to be set.
2443 <member name="T:log4net.Appender.BufferingForwardingAppender">
2445 Buffers events and then forwards them to attached appenders.
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.
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.
2459 <author>Nicko Cadell</author>
2460 <author>Gert Driesen</author>
2462 <member name="T:log4net.Core.IAppenderAttachable">
2464 Interface for attaching appenders to objects.
2468 Interface for attaching, removing and retrieving appenders.
2471 <author>Nicko Cadell</author>
2472 <author>Gert Driesen</author>
2474 <member name="M:log4net.Core.IAppenderAttachable.AddAppender(log4net.Appender.IAppender)">
2476 Attaches an appender.
2478 <param name="appender">The appender to add.</param>
2481 Add the specified appender. The implementation may
2482 choose to allow or deny duplicate appenders.
2486 <member name="M:log4net.Core.IAppenderAttachable.GetAppender(System.String)">
2488 Gets an attached appender with the specified name.
2490 <param name="name">The name of the appender to get.</param>
2492 The appender with the name specified, or <c>null</c> if no appender with the
2493 specified name is found.
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
2503 <member name="M:log4net.Core.IAppenderAttachable.RemoveAllAppenders">
2505 Removes all attached appenders.
2509 Removes and closes all attached appenders
2513 <member name="M:log4net.Core.IAppenderAttachable.RemoveAppender(log4net.Appender.IAppender)">
2515 Removes the specified appender from the list of attached appenders.
2517 <param name="appender">The appender to remove.</param>
2518 <returns>The appender removed from the list</returns>
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.
2527 <member name="M:log4net.Core.IAppenderAttachable.RemoveAppender(System.String)">
2529 Removes the appender with the specified name from the list of appenders.
2531 <param name="name">The name of the appender to remove.</param>
2532 <returns>The appender removed from the list</returns>
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.
2541 <member name="P:log4net.Core.IAppenderAttachable.Appenders">
2543 Gets all attached appenders.
2546 A collection of attached appenders.
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>.
2557 <member name="M:log4net.Appender.BufferingForwardingAppender.#ctor">
2559 Initializes a new instance of the <see cref="T:log4net.Appender.BufferingForwardingAppender"/> class.
2563 Default constructor.
2567 <member name="M:log4net.Appender.BufferingForwardingAppender.OnClose">
2569 Closes the appender and releases resources.
2573 Releases any resources allocated within the appender such as file handles,
2574 network connections, etc.
2577 It is a programming error to append to a closed appender.
2581 <member name="M:log4net.Appender.BufferingForwardingAppender.SendBuffer(log4net.Core.LoggingEvent[])">
2585 <param name="events">The events that need to be send.</param>
2588 Forwards the events to the attached appenders.
2592 <member name="M:log4net.Appender.BufferingForwardingAppender.AddAppender(log4net.Appender.IAppender)">
2594 Adds an <see cref="T:log4net.Appender.IAppender"/> to the list of appenders of this
2597 <param name="newAppender">The <see cref="T:log4net.Appender.IAppender"/> to add to this appender.</param>
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.
2605 <member name="M:log4net.Appender.BufferingForwardingAppender.GetAppender(System.String)">
2607 Looks for the appender with the specified name.
2609 <param name="name">The name of the appender to lookup.</param>
2611 The appender with the specified name, or <c>null</c>.
2615 Get the named appender attached to this buffering appender.
2619 <member name="M:log4net.Appender.BufferingForwardingAppender.RemoveAllAppenders">
2621 Removes all previously added appenders from this appender.
2625 This is useful when re-reading configuration information.
2629 <member name="M:log4net.Appender.BufferingForwardingAppender.RemoveAppender(log4net.Appender.IAppender)">
2631 Removes the specified appender from the list of appenders.
2633 <param name="appender">The appender to remove.</param>
2634 <returns>The appender removed from the list</returns>
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.
2641 <member name="M:log4net.Appender.BufferingForwardingAppender.RemoveAppender(System.String)">
2643 Removes the appender with the specified name from the list of appenders.
2645 <param name="name">The name of the appender to remove.</param>
2646 <returns>The appender removed from the list</returns>
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.
2653 <member name="F:log4net.Appender.BufferingForwardingAppender.m_appenderAttachedImpl">
2655 Implementation of the <see cref="T:log4net.Core.IAppenderAttachable"/> interface
2658 <member name="P:log4net.Appender.BufferingForwardingAppender.Appenders">
2660 Gets the appenders contained in this appender as an
2661 <see cref="T:System.Collections.ICollection"/>.
2664 If no appenders can be found, then an <see cref="T:log4net.Util.EmptyCollection"/>
2668 A collection of the appenders in this appender.
2671 <member name="T:log4net.Appender.ColoredConsoleAppender">
2673 Appends logging events to the console.
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.
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
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"/>
2696 When configuring the colored console appender, mapping should be
2697 specified to map a logging level to a color. For example:
2699 <code lang="XML" escaped="true">
2701 <level value="ERROR"/>
2702 <foreColor value="White"/>
2703 <backColor value="Red, HighIntensity"/>
2706 <level value="DEBUG"/>
2707 <backColor value="Green"/>
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>
2725 <author>Rick Hobbs</author>
2726 <author>Nicko Cadell</author>
2728 <member name="F:log4net.Appender.ColoredConsoleAppender.ConsoleOut">
2730 The <see cref="P:log4net.Appender.ColoredConsoleAppender.Target"/> to use when writing to the Console
2731 standard output stream.
2735 The <see cref="P:log4net.Appender.ColoredConsoleAppender.Target"/> to use when writing to the Console
2736 standard output stream.
2740 <member name="F:log4net.Appender.ColoredConsoleAppender.ConsoleError">
2742 The <see cref="P:log4net.Appender.ColoredConsoleAppender.Target"/> to use when writing to the Console
2743 standard error output stream.
2747 The <see cref="P:log4net.Appender.ColoredConsoleAppender.Target"/> to use when writing to the Console
2748 standard error output stream.
2752 <member name="M:log4net.Appender.ColoredConsoleAppender.#ctor">
2754 Initializes a new instance of the <see cref="T:log4net.Appender.ColoredConsoleAppender"/> class.
2757 The instance of the <see cref="T:log4net.Appender.ColoredConsoleAppender"/> class is set up to write
2758 to the standard output stream.
2761 <member name="M:log4net.Appender.ColoredConsoleAppender.#ctor(log4net.Layout.ILayout)">
2763 Initializes a new instance of the <see cref="T:log4net.Appender.ColoredConsoleAppender"/> class
2764 with the specified layout.
2766 <param name="layout">the layout to use for this appender</param>
2768 The instance of the <see cref="T:log4net.Appender.ColoredConsoleAppender"/> class is set up to write
2769 to the standard output stream.
2772 <member name="M:log4net.Appender.ColoredConsoleAppender.#ctor(log4net.Layout.ILayout,System.Boolean)">
2774 Initializes a new instance of the <see cref="T:log4net.Appender.ColoredConsoleAppender"/> class
2775 with the specified layout.
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>
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
2785 <member name="M:log4net.Appender.ColoredConsoleAppender.AddMapping(log4net.Appender.ColoredConsoleAppender.LevelColors)">
2787 Add a mapping of level to color - done by the config file
2789 <param name="mapping">The mapping to add</param>
2792 Add a <see cref="T:log4net.Appender.ColoredConsoleAppender.LevelColors"/> mapping to this appender.
2793 Each mapping defines the foreground and background colors
2798 <member name="M:log4net.Appender.ColoredConsoleAppender.Append(log4net.Core.LoggingEvent)">
2800 This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/> method.
2802 <param name="loggingEvent">The event to log.</param>
2805 Writes the event to the console.
2808 The format of the output will depend on the appender's layout.
2812 <member name="M:log4net.Appender.ColoredConsoleAppender.ActivateOptions">
2814 Initialize the options for this appender
2818 Initialize the level to color mappings set on this appender.
2822 <member name="F:log4net.Appender.ColoredConsoleAppender.m_writeToErrorStream">
2824 Flag to write output to the error stream rather than the standard output stream
2827 <member name="F:log4net.Appender.ColoredConsoleAppender.m_levelMapping">
2829 Mapping from level object to color value
2832 <member name="F:log4net.Appender.ColoredConsoleAppender.m_consoleOutputWriter">
2834 The console output stream writer to write to
2838 This writer is not thread safe.
2842 <member name="P:log4net.Appender.ColoredConsoleAppender.Target">
2844 Target is the value of the console output stream.
2845 This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
2848 Target is the value of the console output stream.
2849 This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
2853 Target is the value of the console output stream.
2854 This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
2858 <member name="P:log4net.Appender.ColoredConsoleAppender.RequiresLayout">
2860 This appender requires a <see cref="N:log4net.Layout"/> to be set.
2862 <value><c>true</c></value>
2865 This appender requires a <see cref="N:log4net.Layout"/> to be set.
2869 <member name="T:log4net.Appender.ColoredConsoleAppender.Colors">
2871 The enum of possible color values for use with the color mapping method
2875 The following flags can be combined together to
2879 <seealso cref="T:log4net.Appender.ColoredConsoleAppender"/>
2881 <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.Blue">
2886 <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.Green">
2891 <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.Red">
2896 <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.White">
2901 <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.Yellow">
2906 <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.Purple">
2911 <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.Cyan">
2916 <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.HighIntensity">
2918 color is intensified
2921 <member name="T:log4net.Appender.ColoredConsoleAppender.LevelColors">
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.
2928 Defines the mapping between a level and the color it should be displayed in.
2932 <member name="M:log4net.Appender.ColoredConsoleAppender.LevelColors.ActivateOptions">
2934 Initialize the options for the object
2938 Combine the <see cref="P:log4net.Appender.ColoredConsoleAppender.LevelColors.ForeColor"/> and <see cref="P:log4net.Appender.ColoredConsoleAppender.LevelColors.BackColor"/> together.
2942 <member name="P:log4net.Appender.ColoredConsoleAppender.LevelColors.ForeColor">
2944 The mapped foreground color for the specified level
2949 The mapped foreground color for the specified level.
2953 <member name="P:log4net.Appender.ColoredConsoleAppender.LevelColors.BackColor">
2955 The mapped background color for the specified level
2960 The mapped background color for the specified level.
2964 <member name="P:log4net.Appender.ColoredConsoleAppender.LevelColors.CombinedColor">
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.
2970 <member name="T:log4net.Appender.ConsoleAppender">
2972 Appends logging events to the console.
2976 ConsoleAppender appends log events to the standard output stream
2977 or the error output stream using a layout specified by the
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
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.
2993 <author>Nicko Cadell</author>
2994 <author>Gert Driesen</author>
2996 <member name="F:log4net.Appender.ConsoleAppender.ConsoleOut">
2998 The <see cref="P:log4net.Appender.ConsoleAppender.Target"/> to use when writing to the Console
2999 standard output stream.
3003 The <see cref="P:log4net.Appender.ConsoleAppender.Target"/> to use when writing to the Console
3004 standard output stream.
3008 <member name="F:log4net.Appender.ConsoleAppender.ConsoleError">
3010 The <see cref="P:log4net.Appender.ConsoleAppender.Target"/> to use when writing to the Console
3011 standard error output stream.
3015 The <see cref="P:log4net.Appender.ConsoleAppender.Target"/> to use when writing to the Console
3016 standard error output stream.
3020 <member name="M:log4net.Appender.ConsoleAppender.#ctor">
3022 Initializes a new instance of the <see cref="T:log4net.Appender.ConsoleAppender"/> class.
3025 The instance of the <see cref="T:log4net.Appender.ConsoleAppender"/> class is set up to write
3026 to the standard output stream.
3029 <member name="M:log4net.Appender.ConsoleAppender.#ctor(log4net.Layout.ILayout)">
3031 Initializes a new instance of the <see cref="T:log4net.Appender.ConsoleAppender"/> class
3032 with the specified layout.
3034 <param name="layout">the layout to use for this appender</param>
3036 The instance of the <see cref="T:log4net.Appender.ConsoleAppender"/> class is set up to write
3037 to the standard output stream.
3040 <member name="M:log4net.Appender.ConsoleAppender.#ctor(log4net.Layout.ILayout,System.Boolean)">
3042 Initializes a new instance of the <see cref="T:log4net.Appender.ConsoleAppender"/> class
3043 with the specified layout.
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>
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
3053 <member name="M:log4net.Appender.ConsoleAppender.Append(log4net.Core.LoggingEvent)">
3055 This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/> method.
3057 <param name="loggingEvent">The event to log.</param>
3060 Writes the event to the console.
3063 The format of the output will depend on the appender's layout.
3067 <member name="P:log4net.Appender.ConsoleAppender.Target">
3069 Target is the value of the console output stream.
3070 This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
3073 Target is the value of the console output stream.
3074 This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
3078 Target is the value of the console output stream.
3079 This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
3083 <member name="P:log4net.Appender.ConsoleAppender.RequiresLayout">
3085 This appender requires a <see cref="N:log4net.Layout"/> to be set.
3087 <value><c>true</c></value>
3090 This appender requires a <see cref="N:log4net.Layout"/> to be set.
3094 <member name="T:log4net.Appender.DebugAppender">
3096 Appends log events to the <see cref="T:System.Diagnostics.Debug"/> system.
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
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.
3110 <author>Nicko Cadell</author>
3112 <member name="M:log4net.Appender.DebugAppender.#ctor">
3114 Initializes a new instance of the <see cref="T:log4net.Appender.DebugAppender"/>.
3118 Default constructor.
3122 <member name="M:log4net.Appender.DebugAppender.#ctor(log4net.Layout.ILayout)">
3124 Initializes a new instance of the <see cref="T:log4net.Appender.DebugAppender"/>
3125 with a specified layout.
3127 <param name="layout">The layout to use with this appender.</param>
3130 Obsolete constructor.
3134 <member name="M:log4net.Appender.DebugAppender.Append(log4net.Core.LoggingEvent)">
3136 Writes the logging event to the <see cref="T:System.Diagnostics.Debug"/> system.
3138 <param name="loggingEvent">The event to log.</param>
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"/>
3147 <member name="F:log4net.Appender.DebugAppender.m_immediateFlush">
3149 Immediate flush means that the underlying writer or output stream
3150 will be flushed at the end of each append operation.
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.
3161 The default value is <c>true</c>.</para>
3164 <member name="P:log4net.Appender.DebugAppender.ImmediateFlush">
3166 Gets or sets a value that indicates whether the appender will
3167 flush at the end of each write.
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.
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.
3184 <member name="P:log4net.Appender.DebugAppender.RequiresLayout">
3186 This appender requires a <see cref="N:log4net.Layout"/> to be set.
3188 <value><c>true</c></value>
3191 This appender requires a <see cref="N:log4net.Layout"/> to be set.
3195 <member name="T:log4net.Appender.EventLogAppender">
3197 Writes events to the system event log.
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"/>.
3206 There is a limit of 32K characters for an event log message
3209 When configuring the EventLogAppender a mapping can be
3210 specified to map a logging level to an event log entry type. For example:
3214 <level value="ERROR" />
3215 <eventLogEntryType value="Error" />
3218 <level value="DEBUG" />
3219 <eventLogEntryType value="Information" />
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>
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>
3238 <member name="M:log4net.Appender.EventLogAppender.#ctor">
3240 Initializes a new instance of the <see cref="T:log4net.Appender.EventLogAppender"/> class.
3244 Default constructor.
3248 <member name="M:log4net.Appender.EventLogAppender.#ctor(log4net.Layout.ILayout)">
3250 Initializes a new instance of the <see cref="T:log4net.Appender.EventLogAppender"/> class
3251 with the specified <see cref="T:log4net.Layout.ILayout"/>.
3253 <param name="layout">The <see cref="T:log4net.Layout.ILayout"/> to use with this appender.</param>
3256 Obsolete constructor.
3260 <member name="M:log4net.Appender.EventLogAppender.AddMapping(log4net.Appender.EventLogAppender.Level2EventLogEntryType)">
3262 Add a mapping of level to <see cref="T:System.Diagnostics.EventLogEntryType"/> - done by the config file
3264 <param name="mapping">The mapping to add</param>
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.
3272 <member name="M:log4net.Appender.EventLogAppender.ActivateOptions">
3274 Initialize the appender based on the options set
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.
3285 If any of the configuration properties are modified then
3286 <see cref="M:log4net.Appender.EventLogAppender.ActivateOptions"/> must be called again.
3290 <member name="M:log4net.Appender.EventLogAppender.CreateEventSource(System.String,System.String,System.String)">
3292 Create an event log source
3295 Uses different API calls under NET_2_0
3298 <member name="M:log4net.Appender.EventLogAppender.Append(log4net.Core.LoggingEvent)">
3300 This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/>
3303 <param name="loggingEvent">the event to log</param>
3305 <para>Writes the event to the system event log using the
3306 <see cref="P:log4net.Appender.EventLogAppender.ApplicationName"/>.</para>
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>
3312 There is a limit of 32K characters for an event log message
3316 <member name="M:log4net.Appender.EventLogAppender.GetEntryType(log4net.Core.Level)">
3318 Get the equivalent <see cref="T:System.Diagnostics.EventLogEntryType"/> for a <see cref="T:log4net.Core.Level"/> <paramref name="p"/>
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>
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.
3329 <member name="F:log4net.Appender.EventLogAppender.m_logName">
3331 The log name is the section in the event logs where the messages
3335 <member name="F:log4net.Appender.EventLogAppender.m_applicationName">
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"/>.
3341 <member name="F:log4net.Appender.EventLogAppender.m_machineName">
3343 The name of the machine which holds the event log. This is
3344 currently only allowed to be '.' i.e. the current machine.
3347 <member name="F:log4net.Appender.EventLogAppender.m_levelMapping">
3349 Mapping from level object to EventLogEntryType
3352 <member name="F:log4net.Appender.EventLogAppender.m_securityContext">
3354 The security context to use for privileged calls
3357 <member name="P:log4net.Appender.EventLogAppender.LogName">
3359 The name of the log where messages will be stored.
3362 The string name of the log where messages will be stored.
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.
3377 <member name="P:log4net.Appender.EventLogAppender.ApplicationName">
3379 Property used to set the Application name. This appears in the
3380 event logs when logging.
3383 The string used to distinguish events from different sources.
3386 Sets the event log source property.
3389 <member name="P:log4net.Appender.EventLogAppender.MachineName">
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 "."
3396 The string name of the machine holding the event log that
3397 will be logged into.
3400 This property cannot be changed. It is currently set to '.'
3401 i.e. the local machine. This may be changed in future.
3404 <member name="P:log4net.Appender.EventLogAppender.SecurityContext">
3406 Gets or sets the <see cref="P:log4net.Appender.EventLogAppender.SecurityContext"/> used to write to the EventLog.
3409 The <see cref="P:log4net.Appender.EventLogAppender.SecurityContext"/> used to write to the EventLog.
3413 The system security context used to write to the EventLog.
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.
3423 <member name="P:log4net.Appender.EventLogAppender.RequiresLayout">
3425 This appender requires a <see cref="N:log4net.Layout"/> to be set.
3427 <value><c>true</c></value>
3430 This appender requires a <see cref="N:log4net.Layout"/> to be set.
3434 <member name="T:log4net.Appender.EventLogAppender.Level2EventLogEntryType">
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.
3441 Defines the mapping between a level and its event log entry type.
3445 <member name="P:log4net.Appender.EventLogAppender.Level2EventLogEntryType.EventLogEntryType">
3447 The <see cref="P:log4net.Appender.EventLogAppender.Level2EventLogEntryType.EventLogEntryType"/> for this entry
3452 The <see cref="P:log4net.Appender.EventLogAppender.Level2EventLogEntryType.EventLogEntryType"/> for this entry
3456 <member name="T:log4net.Appender.FileAppender">
3458 Appends logging events to a file.
3462 Logging events are sent to the file specified by
3463 the <see cref="P:log4net.Appender.FileAppender.File"/> property.
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.
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.
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.
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.
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>
3501 <member name="T:log4net.Appender.TextWriterAppender">
3503 Sends logging events to a <see cref="T:System.IO.TextWriter"/>.
3507 An Appender that writes to a <see cref="T:System.IO.TextWriter"/>.
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.
3515 <author>Nicko Cadell</author>
3516 <author>Gert Driesen</author>
3517 <author>Douglas de la Torre</author>
3519 <member name="M:log4net.Appender.TextWriterAppender.#ctor">
3521 Initializes a new instance of the <see cref="T:log4net.Appender.TextWriterAppender"/> class.
3525 Default constructor.
3529 <member name="M:log4net.Appender.TextWriterAppender.#ctor(log4net.Layout.ILayout,System.IO.Stream)">
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"/>.
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>
3539 Obsolete constructor.
3543 <member name="M:log4net.Appender.TextWriterAppender.#ctor(log4net.Layout.ILayout,System.IO.TextWriter)">
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"/>.
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>
3551 The <see cref="T:System.IO.TextWriter"/> must have been previously opened.
3555 Obsolete constructor.
3559 <member name="M:log4net.Appender.TextWriterAppender.PreAppendCheck">
3561 This method determines if there is a sense in attempting to append.
3565 This method checked if an output target has been set and if a
3566 layout has been set.
3569 <returns><c>false</c> if any of the preconditions fail.</returns>
3571 <member name="M:log4net.Appender.TextWriterAppender.Append(log4net.Core.LoggingEvent)">
3573 This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/>
3576 <param name="loggingEvent">The event to log.</param>
3579 Writes a log statement to the output stream if the output stream exists
3583 The format of the output will depend on the appender's layout.
3587 <member name="M:log4net.Appender.TextWriterAppender.Append(log4net.Core.LoggingEvent[])">
3589 This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent[])"/>
3592 <param name="loggingEvents">The array of events to log.</param>
3595 This method writes all the bulk logged events to the output writer
3596 before flushing the stream.
3600 <member name="M:log4net.Appender.TextWriterAppender.OnClose">
3602 Close this appender instance. The underlying stream or writer is also closed.
3605 Closed appenders cannot be reused.
3608 <member name="M:log4net.Appender.TextWriterAppender.WriteFooterAndCloseWriter">
3610 Writes the footer and closes the underlying <see cref="T:System.IO.TextWriter"/>.
3614 Writes the footer and closes the underlying <see cref="T:System.IO.TextWriter"/>.
3618 <member name="M:log4net.Appender.TextWriterAppender.CloseWriter">
3620 Closes the underlying <see cref="T:System.IO.TextWriter"/>.
3624 Closes the underlying <see cref="T:System.IO.TextWriter"/>.
3628 <member name="M:log4net.Appender.TextWriterAppender.Reset">
3630 Clears internal references to the underlying <see cref="T:System.IO.TextWriter"/>
3631 and other variables.
3635 Subclasses can override this method for an alternate closing behavior.
3639 <member name="M:log4net.Appender.TextWriterAppender.WriteFooter">
3641 Writes a footer as produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Footer"/> property.
3645 Writes a footer as produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Footer"/> property.
3649 <member name="M:log4net.Appender.TextWriterAppender.WriteHeader">
3651 Writes a header produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Header"/> property.
3655 Writes a header produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Header"/> property.
3659 <member name="M:log4net.Appender.TextWriterAppender.PrepareWriter">
3661 Called to allow a subclass to lazily initialize the writer
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.
3671 <member name="F:log4net.Appender.TextWriterAppender.m_qtw">
3673 This is the <see cref="T:log4net.Util.QuietTextWriter"/> where logging events
3677 <member name="F:log4net.Appender.TextWriterAppender.m_immediateFlush">
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.
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
3691 The default value is <c>true</c>.
3695 <member name="P:log4net.Appender.TextWriterAppender.ImmediateFlush">
3697 Gets or set whether the appender will flush at the end
3698 of each append operation.
3702 The default behavior is to flush at the end of each
3706 If this option is set to <c>false</c>, then the underlying
3707 stream can defer persisting the logging event to a later
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.
3720 <member name="P:log4net.Appender.TextWriterAppender.Writer">
3722 Sets the <see cref="T:System.IO.TextWriter"/> where the log output will go.
3726 The specified <see cref="T:System.IO.TextWriter"/> must be open and writable.
3729 The <see cref="T:System.IO.TextWriter"/> will be closed when the appender
3733 <b>Note:</b> Logging to an unopened <see cref="T:System.IO.TextWriter"/> will fail.
3737 <member name="P:log4net.Appender.TextWriterAppender.ErrorHandler">
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.
3743 The <see cref="T:log4net.Core.IErrorHandler"/> for this appender.
3746 <member name="P:log4net.Appender.TextWriterAppender.RequiresLayout">
3748 This appender requires a <see cref="N:log4net.Layout"/> to be set.
3750 <value><c>true</c></value>
3753 This appender requires a <see cref="N:log4net.Layout"/> to be set.
3757 <member name="P:log4net.Appender.TextWriterAppender.QuietWriter">
3759 Gets or sets the <see cref="T:log4net.Util.QuietTextWriter"/> where logging events
3763 The <see cref="T:log4net.Util.QuietTextWriter"/> where logging events are written.
3767 This is the <see cref="T:log4net.Util.QuietTextWriter"/> where logging events
3772 <member name="M:log4net.Appender.FileAppender.#ctor">
3782 <member name="M:log4net.Appender.FileAppender.#ctor(log4net.Layout.ILayout,System.String,System.Boolean)">
3784 Construct a new appender using the layout, file and append mode.
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>
3791 Obsolete constructor.
3795 <member name="M:log4net.Appender.FileAppender.#ctor(log4net.Layout.ILayout,System.String)">
3797 Construct a new appender using the layout and file specified.
3798 The file will be appended to.
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>
3804 Obsolete constructor.
3808 <member name="M:log4net.Appender.FileAppender.ActivateOptions">
3810 Activate the options on the file appender.
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.
3821 If any of the configuration properties are modified then
3822 <see cref="M:log4net.Appender.FileAppender.ActivateOptions"/> must be called again.
3825 This will cause the file to be opened.
3829 <member name="M:log4net.Appender.FileAppender.Reset">
3831 Closes any previously opened file and calls the parent's <see cref="M:log4net.Appender.TextWriterAppender.Reset"/>.
3835 Resets the filename and the file stream.
3839 <member name="M:log4net.Appender.FileAppender.PrepareWriter">
3841 Called to initialize the file writer
3845 Will be called for each logged message until the file is
3846 successfully opened.
3850 <member name="M:log4net.Appender.FileAppender.Append(log4net.Core.LoggingEvent)">
3852 This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/>
3855 <param name="loggingEvent">The event to log.</param>
3858 Writes a log statement to the output stream if the output stream exists
3862 The format of the output will depend on the appender's layout.
3866 <member name="M:log4net.Appender.FileAppender.Append(log4net.Core.LoggingEvent[])">
3868 This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent[])"/>
3871 <param name="loggingEvents">The array of events to log.</param>
3874 Acquires the output file locks once before writing all the events to
3879 <member name="M:log4net.Appender.FileAppender.WriteFooter">
3881 Writes a footer as produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Footer"/> property.
3885 Writes a footer as produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Footer"/> property.
3889 <member name="M:log4net.Appender.FileAppender.WriteHeader">
3891 Writes a header produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Header"/> property.
3895 Writes a header produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Header"/> property.
3899 <member name="M:log4net.Appender.FileAppender.CloseWriter">
3901 Closes the underlying <see cref="T:System.IO.TextWriter"/>.
3905 Closes the underlying <see cref="T:System.IO.TextWriter"/>.
3909 <member name="M:log4net.Appender.FileAppender.CloseFile">
3911 Closes the previously opened file.
3915 Writes the <see cref="P:log4net.Layout.ILayout.Footer"/> to the file and then
3920 <member name="M:log4net.Appender.FileAppender.SafeOpenFile(System.String,System.Boolean)">
3922 Sets and <i>opens</i> the file where the log output will go. The specified file must be writable.
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>
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"/>.
3933 <member name="M:log4net.Appender.FileAppender.OpenFile(System.String,System.Boolean)">
3935 Sets and <i>opens</i> the file where the log output will go. The specified file must be writable.
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>
3941 If there was already an opened file, then the previous file
3945 This method will ensure that the directory structure
3946 for the <paramref name="fileName"/> specified exists.
3950 <member name="M:log4net.Appender.FileAppender.SetQWForFiles(System.IO.Stream)">
3952 Sets the quiet writer used for file output
3954 <param name="fileStream">the file stream that has been opened for writing</param>
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.
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>.
3968 <member name="M:log4net.Appender.FileAppender.SetQWForFiles(System.IO.TextWriter)">
3970 Sets the quiet writer being used.
3972 <param name="writer">the writer over the file stream that has been opened for writing</param>
3975 This method can be overridden by sub classes that want to
3976 wrap the <see cref="T:System.IO.TextWriter"/> in some way.
3980 <member name="M:log4net.Appender.FileAppender.ConvertToFullPath(System.String)">
3982 Convert a path into a fully qualified path.
3984 <param name="path">The path to convert.</param>
3985 <returns>The fully qualified path.</returns>
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
3995 <member name="F:log4net.Appender.FileAppender.m_appendToFile">
3997 Flag to indicate if we should append to the file
3998 or overwrite the file. The default is to append.
4001 <member name="F:log4net.Appender.FileAppender.m_fileName">
4003 The name of the log file.
4006 <member name="F:log4net.Appender.FileAppender.m_encoding">
4008 The encoding to use for the file stream.
4011 <member name="F:log4net.Appender.FileAppender.m_securityContext">
4013 The security context to use for privileged calls
4016 <member name="F:log4net.Appender.FileAppender.m_stream">
4018 The stream to log to. Has added locking semantics
4021 <member name="F:log4net.Appender.FileAppender.m_lockingModel">
4023 The locking model to use
4026 <member name="P:log4net.Appender.FileAppender.File">
4028 Gets or sets the path to the file that logging will be written to.
4031 The path to the file that logging will be written to.
4035 If the path is relative it is taken as relative from
4036 the application base directory.
4040 <member name="P:log4net.Appender.FileAppender.AppendToFile">
4042 Gets or sets a flag that indicates whether the file should be
4043 appended to or overwritten.
4046 Indicates whether the file should be appended to or overwritten.
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.
4053 The default value is true.
4056 <member name="P:log4net.Appender.FileAppender.Encoding">
4058 Gets or sets <see cref="P:log4net.Appender.FileAppender.Encoding"/> used to write to the file.
4061 The <see cref="P:log4net.Appender.FileAppender.Encoding"/> used to write to the file.
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.
4070 <member name="P:log4net.Appender.FileAppender.SecurityContext">
4072 Gets or sets the <see cref="P:log4net.Appender.FileAppender.SecurityContext"/> used to write to the file.
4075 The <see cref="P:log4net.Appender.FileAppender.SecurityContext"/> used to write to the file.
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.
4086 <member name="P:log4net.Appender.FileAppender.LockingModel">
4088 Gets or sets the <see cref="P:log4net.Appender.FileAppender.LockingModel"/> used to handle locking of the file.
4091 The <see cref="P:log4net.Appender.FileAppender.LockingModel"/> used to lock the file.
4095 Gets or sets the <see cref="P:log4net.Appender.FileAppender.LockingModel"/> used to handle locking of the file.
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.
4103 The default locking model is the <see cref="T:log4net.Appender.FileAppender.ExclusiveLock"/>.
4107 <member name="T:log4net.Appender.FileAppender.LockingStream">
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.
4113 <member name="M:log4net.Appender.FileAppender.LockingStream.BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)">
4115 True asynchronous writes are not supported, the implementation forces a synchronous write.
4118 <member name="T:log4net.Core.LogException">
4120 Exception base type for log4net.
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.
4129 <author>Nicko Cadell</author>
4130 <author>Gert Driesen</author>
4132 <member name="M:log4net.Core.LogException.#ctor">
4138 Initializes a new instance of the <see cref="T:log4net.Core.LogException"/> class.
4142 <member name="M:log4net.Core.LogException.#ctor(System.String)">
4146 <param name="message">A message to include with the exception.</param>
4149 Initializes a new instance of the <see cref="T:log4net.Core.LogException"/> class with
4150 the specified message.
4154 <member name="M:log4net.Core.LogException.#ctor(System.String,System.Exception)">
4158 <param name="message">A message to include with the exception.</param>
4159 <param name="innerException">A nested exception to include.</param>
4162 Initializes a new instance of the <see cref="T:log4net.Core.LogException"/> class
4163 with the specified message and inner exception.
4167 <member name="M:log4net.Core.LogException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
4169 Serialization constructor
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>
4175 Initializes a new instance of the <see cref="T:log4net.Core.LogException"/> class
4176 with serialized data.
4180 <member name="T:log4net.Appender.FileAppender.LockingModelBase">
4182 Locking model base class
4186 Base class for the locking models available to the <see cref="T:log4net.Appender.FileAppender"/> derived loggers.
4190 <member name="M:log4net.Appender.FileAppender.LockingModelBase.OpenFile(System.String,System.Boolean,System.Text.Encoding)">
4192 Open the output file
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>
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"/>.
4206 <member name="M:log4net.Appender.FileAppender.LockingModelBase.CloseFile">
4212 Close the file. No further writes will be made.
4216 <member name="M:log4net.Appender.FileAppender.LockingModelBase.AcquireLock">
4218 Acquire the lock on the file
4220 <returns>A stream that is ready to be written to.</returns>
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.
4229 <member name="M:log4net.Appender.FileAppender.LockingModelBase.ReleaseLock">
4231 Release the lock on the file
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.
4240 <member name="P:log4net.Appender.FileAppender.LockingModelBase.CurrentAppender">
4242 Gets or sets the <see cref="T:log4net.Appender.FileAppender"/> for this LockingModel
4245 The <see cref="T:log4net.Appender.FileAppender"/> for this LockingModel
4249 The file appender this locking model is attached to and working on
4253 The file appender is used to locate the security context and the error handler to use.
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
4261 <member name="T:log4net.Appender.FileAppender.ExclusiveLock">
4263 Hold an exclusive lock on the output file
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.
4272 <member name="M:log4net.Appender.FileAppender.ExclusiveLock.OpenFile(System.String,System.Boolean,System.Text.Encoding)">
4274 Open the file specified and prepare for logging.
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>
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"/>.
4288 <member name="M:log4net.Appender.FileAppender.ExclusiveLock.CloseFile">
4294 Close the file. No further writes will be made.
4298 <member name="M:log4net.Appender.FileAppender.ExclusiveLock.AcquireLock">
4300 Acquire the lock on the file
4302 <returns>A stream that is ready to be written to.</returns>
4305 Does nothing. The lock is already taken
4309 <member name="M:log4net.Appender.FileAppender.ExclusiveLock.ReleaseLock">
4311 Release the lock on the file
4315 Does nothing. The lock will be released when the file is closed.
4319 <member name="T:log4net.Appender.FileAppender.MinimalLock">
4321 Acquires the file lock for each write
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.
4332 <member name="M:log4net.Appender.FileAppender.MinimalLock.OpenFile(System.String,System.Boolean,System.Text.Encoding)">
4334 Prepares to open the file when the first message is logged.
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>
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"/>.
4348 <member name="M:log4net.Appender.FileAppender.MinimalLock.CloseFile">
4354 Close the file. No further writes will be made.
4358 <member name="M:log4net.Appender.FileAppender.MinimalLock.AcquireLock">
4360 Acquire the lock on the file
4362 <returns>A stream that is ready to be written to.</returns>
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.
4371 <member name="M:log4net.Appender.FileAppender.MinimalLock.ReleaseLock">
4373 Release the lock on the file
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.
4382 <member name="T:log4net.Appender.ForwardingAppender">
4384 This appender forwards logging events to attached appenders.
4388 The forwarding appender can be used to specify different thresholds
4389 and filters for the same appender at different locations within the hierarchy.
4392 <author>Nicko Cadell</author>
4393 <author>Gert Driesen</author>
4395 <member name="M:log4net.Appender.ForwardingAppender.#ctor">
4397 Initializes a new instance of the <see cref="T:log4net.Appender.ForwardingAppender"/> class.
4401 Default constructor.
4405 <member name="M:log4net.Appender.ForwardingAppender.OnClose">
4407 Closes the appender and releases resources.
4411 Releases any resources allocated within the appender such as file handles,
4412 network connections, etc.
4415 It is a programming error to append to a closed appender.
4419 <member name="M:log4net.Appender.ForwardingAppender.Append(log4net.Core.LoggingEvent)">
4421 Forward the logging event to the attached appenders
4423 <param name="loggingEvent">The event to log.</param>
4426 Delivers the logging event to all the attached appenders.
4430 <member name="M:log4net.Appender.ForwardingAppender.Append(log4net.Core.LoggingEvent[])">
4432 Forward the logging events to the attached appenders
4434 <param name="loggingEvents">The array of events to log.</param>
4437 Delivers the logging events to all the attached appenders.
4441 <member name="M:log4net.Appender.ForwardingAppender.AddAppender(log4net.Appender.IAppender)">
4443 Adds an <see cref="T:log4net.Appender.IAppender"/> to the list of appenders of this
4446 <param name="newAppender">The <see cref="T:log4net.Appender.IAppender"/> to add to this appender.</param>
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.
4454 <member name="M:log4net.Appender.ForwardingAppender.GetAppender(System.String)">
4456 Looks for the appender with the specified name.
4458 <param name="name">The name of the appender to lookup.</param>
4460 The appender with the specified name, or <c>null</c>.
4464 Get the named appender attached to this appender.
4468 <member name="M:log4net.Appender.ForwardingAppender.RemoveAllAppenders">
4470 Removes all previously added appenders from this appender.
4474 This is useful when re-reading configuration information.
4478 <member name="M:log4net.Appender.ForwardingAppender.RemoveAppender(log4net.Appender.IAppender)">
4480 Removes the specified appender from the list of appenders.
4482 <param name="appender">The appender to remove.</param>
4483 <returns>The appender removed from the list</returns>
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.
4490 <member name="M:log4net.Appender.ForwardingAppender.RemoveAppender(System.String)">
4492 Removes the appender with the specified name from the list of appenders.
4494 <param name="name">The name of the appender to remove.</param>
4495 <returns>The appender removed from the list</returns>
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.
4502 <member name="F:log4net.Appender.ForwardingAppender.m_appenderAttachedImpl">
4504 Implementation of the <see cref="T:log4net.Core.IAppenderAttachable"/> interface
4507 <member name="P:log4net.Appender.ForwardingAppender.Appenders">
4509 Gets the appenders contained in this appender as an
4510 <see cref="T:System.Collections.ICollection"/>.
4513 If no appenders can be found, then an <see cref="T:log4net.Util.EmptyCollection"/>
4517 A collection of the appenders in this appender.
4520 <member name="T:log4net.Appender.LocalSyslogAppender">
4522 Logs events to a local syslog service.
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!
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.
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.
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.
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"/>).
4552 <author>Rob Lyon</author>
4553 <author>Nicko Cadell</author>
4555 <member name="M:log4net.Appender.LocalSyslogAppender.#ctor">
4557 Initializes a new instance of the <see cref="T:log4net.Appender.LocalSyslogAppender"/> class.
4560 This instance of the <see cref="T:log4net.Appender.LocalSyslogAppender"/> class is set up to write
4561 to a local syslog service.
4564 <member name="M:log4net.Appender.LocalSyslogAppender.AddMapping(log4net.Appender.LocalSyslogAppender.LevelSeverity)">
4566 Add a mapping of level to severity
4568 <param name="mapping">The mapping to add</param>
4571 Adds a <see cref="T:log4net.Appender.LocalSyslogAppender.LevelSeverity"/> to this appender.
4575 <member name="M:log4net.Appender.LocalSyslogAppender.ActivateOptions">
4577 Initialize the appender based on the options set.
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.
4588 If any of the configuration properties are modified then
4589 <see cref="M:log4net.Appender.LocalSyslogAppender.ActivateOptions"/> must be called again.
4593 <member name="M:log4net.Appender.LocalSyslogAppender.Append(log4net.Core.LoggingEvent)">
4595 This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/> method.
4597 <param name="loggingEvent">The event to log.</param>
4600 Writes the event to a remote syslog daemon.
4603 The format of the output will depend on the appender's layout.
4607 <member name="M:log4net.Appender.LocalSyslogAppender.OnClose">
4609 Close the syslog when the appender is closed
4613 Close the syslog when the appender is closed
4617 <member name="M:log4net.Appender.LocalSyslogAppender.GetSeverity(log4net.Core.Level)">
4619 Translates a log4net level to a syslog severity.
4621 <param name="level">A log4net level.</param>
4622 <returns>A syslog severity.</returns>
4625 Translates a log4net level to a syslog severity.
4629 <member name="M:log4net.Appender.LocalSyslogAppender.GeneratePriority(log4net.Appender.LocalSyslogAppender.SyslogFacility,log4net.Appender.LocalSyslogAppender.SyslogSeverity)">
4631 Generate a syslog priority.
4633 <param name="facility">The syslog facility.</param>
4634 <param name="severity">The syslog severity.</param>
4635 <returns>A syslog priority.</returns>
4637 <member name="F:log4net.Appender.LocalSyslogAppender.m_facility">
4639 The facility. The default facility is <see cref="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.User"/>.
4642 <member name="F:log4net.Appender.LocalSyslogAppender.m_identity">
4644 The message identity
4647 <member name="F:log4net.Appender.LocalSyslogAppender.m_handleToIdentity">
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.
4654 <member name="F:log4net.Appender.LocalSyslogAppender.m_levelMapping">
4656 Mapping from level object to syslog severity
4659 <member name="M:log4net.Appender.LocalSyslogAppender.openlog(System.IntPtr,System.Int32,log4net.Appender.LocalSyslogAppender.SyslogFacility)">
4661 Open connection to system logger.
4664 <member name="M:log4net.Appender.LocalSyslogAppender.syslog(System.Int32,System.String,System.String)">
4666 Generate a log message.
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>.
4678 <member name="M:log4net.Appender.LocalSyslogAppender.closelog">
4680 Close descriptor used to write to system logger.
4683 <member name="P:log4net.Appender.LocalSyslogAppender.Identity">
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"/>).
4696 <member name="P:log4net.Appender.LocalSyslogAppender.Facility">
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"/>.
4706 <member name="P:log4net.Appender.LocalSyslogAppender.RequiresLayout">
4708 This appender requires a <see cref="P:log4net.Appender.AppenderSkeleton.Layout"/> to be set.
4710 <value><c>true</c></value>
4713 This appender requires a <see cref="P:log4net.Appender.AppenderSkeleton.Layout"/> to be set.
4717 <member name="T:log4net.Appender.LocalSyslogAppender.SyslogSeverity">
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"/>.
4729 <member name="F:log4net.Appender.LocalSyslogAppender.SyslogSeverity.Emergency">
4734 <member name="F:log4net.Appender.LocalSyslogAppender.SyslogSeverity.Alert">
4736 action must be taken immediately
4739 <member name="F:log4net.Appender.LocalSyslogAppender.SyslogSeverity.Critical">
4744 <member name="F:log4net.Appender.LocalSyslogAppender.SyslogSeverity.Error">
4749 <member name="F:log4net.Appender.LocalSyslogAppender.SyslogSeverity.Warning">
4754 <member name="F:log4net.Appender.LocalSyslogAppender.SyslogSeverity.Notice">
4756 normal but significant condition
4759 <member name="F:log4net.Appender.LocalSyslogAppender.SyslogSeverity.Informational">
4764 <member name="F:log4net.Appender.LocalSyslogAppender.SyslogSeverity.Debug">
4766 debug-level messages
4769 <member name="T:log4net.Appender.LocalSyslogAppender.SyslogFacility">
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.
4780 <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Kernel">
4785 <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.User">
4787 random user-level messages
4790 <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Mail">
4795 <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Daemons">
4800 <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Authorization">
4802 security/authorization messages
4805 <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Syslog">
4807 messages generated internally by syslogd
4810 <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Printer">
4812 line printer subsystem
4815 <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.News">
4817 network news subsystem
4820 <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Uucp">
4825 <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Clock">
4827 clock (cron/at) daemon
4830 <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Authorization2">
4832 security/authorization messages (private)
4835 <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Ftp">
4840 <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Ntp">
4845 <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Audit">
4850 <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Alert">
4855 <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Clock2">
4860 <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Local0">
4862 reserved for local use
4865 <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Local1">
4867 reserved for local use
4870 <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Local2">
4872 reserved for local use
4875 <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Local3">
4877 reserved for local use
4880 <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Local4">
4882 reserved for local use
4885 <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Local5">
4887 reserved for local use
4890 <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Local6">
4892 reserved for local use
4895 <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Local7">
4897 reserved for local use
4900 <member name="T:log4net.Appender.LocalSyslogAppender.LevelSeverity">
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.
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.
4912 <member name="P:log4net.Appender.LocalSyslogAppender.LevelSeverity.Severity">
4914 The mapped syslog severity for the specified level
4919 The mapped syslog severity for the specified level
4923 <member name="T:log4net.Appender.MemoryAppender">
4925 Stores logging events in an array.
4929 The memory appender stores all the logging events
4930 that are appended in an in-memory array.
4933 Use the <see cref="M:log4net.Appender.MemoryAppender.GetEvents"/> method to get
4934 the current list of events that have been appended.
4937 Use the <see cref="M:log4net.Appender.MemoryAppender.Clear"/> method to clear the
4938 current list of events.
4941 <author>Julian Biddle</author>
4942 <author>Nicko Cadell</author>
4943 <author>Gert Driesen</author>
4945 <member name="M:log4net.Appender.MemoryAppender.#ctor">
4947 Initializes a new instance of the <see cref="T:log4net.Appender.MemoryAppender"/> class.
4951 Default constructor.
4955 <member name="M:log4net.Appender.MemoryAppender.GetEvents">
4957 Gets the events that have been logged.
4959 <returns>The events that have been logged</returns>
4962 Gets the events that have been logged.
4966 <member name="M:log4net.Appender.MemoryAppender.Append(log4net.Core.LoggingEvent)">
4968 This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/> method.
4970 <param name="loggingEvent">the event to log</param>
4972 <para>Stores the <paramref name="loggingEvent"/> in the events list.</para>
4975 <member name="M:log4net.Appender.MemoryAppender.Clear">
4977 Clear the list of events
4980 Clear the list of events
4983 <member name="F:log4net.Appender.MemoryAppender.m_eventsList">
4985 The list of events that have been appended.
4988 <member name="F:log4net.Appender.MemoryAppender.m_fixFlags">
4990 Value indicating which fields in the event should be fixed
4993 By default all fields are fixed
4996 <member name="P:log4net.Appender.MemoryAppender.OnlyFixPartialEventData">
4998 Gets or sets a value indicating whether only part of the logging event
4999 data should be fixed.
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>.
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.
5011 See <see cref="M:log4net.Core.LoggingEvent.FixVolatileData(System.Boolean)"/> for more information.
5015 <member name="P:log4net.Appender.MemoryAppender.Fix">
5017 Gets or sets the fields that will be fixed in the event
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"/>
5027 <member name="T:log4net.Appender.NetSendAppender">
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.
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.
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.
5045 The following table lists some possible uses for this appender :
5051 <description>Property Value(s)</description>
5054 <term>Send a message to a user account on the local machine</term>
5057 <paramref name="Server"/> = <name of the local machine>
5060 <paramref name="Recipient"/> = <user name>
5065 <term>Send a message to a user account on a remote machine</term>
5068 <paramref name="Server"/> = <name of the remote machine>
5071 <paramref name="Recipient"/> = <user name>
5076 <term>Send a message to a domain user account</term>
5079 <paramref name="Server"/> = <name of a domain controller | uninitialized>
5082 <paramref name="Recipient"/> = <user name>
5087 <term>Send a message to all the names in a workgroup or domain</term>
5090 <paramref name="Recipient"/> = <workgroup name | domain name>*
5095 <term>Send a message from the local machine to a remote machine</term>
5098 <paramref name="Server"/> = <name of the local machine | uninitialized>
5101 <paramref name="Recipient"/> = <name of the remote machine>
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.
5115 An example configuration section to log information
5116 using this appender from the local machine, named
5117 LOCAL_PC, to machine OPERATOR_PC :
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"/>
5127 <author>Nicko Cadell</author>
5128 <author>Gert Driesen</author>
5130 <member name="F:log4net.Appender.NetSendAppender.m_server">
5132 The DNS or NetBIOS name of the server on which the function is to execute.
5135 <member name="F:log4net.Appender.NetSendAppender.m_sender">
5137 The sender of the network message.
5140 <member name="F:log4net.Appender.NetSendAppender.m_recipient">
5142 The message alias to which the message should be sent.
5145 <member name="F:log4net.Appender.NetSendAppender.m_securityContext">
5147 The security context to use for privileged calls
5150 <member name="M:log4net.Appender.NetSendAppender.#ctor">
5152 Initializes the appender.
5155 The default constructor initializes all fields to their default values.
5158 <member name="M:log4net.Appender.NetSendAppender.ActivateOptions">
5160 Initialize the appender based on the options set.
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.
5171 If any of the configuration properties are modified then
5172 <see cref="M:log4net.Appender.NetSendAppender.ActivateOptions"/> must be called again.
5175 The appender will be ignored if no <see cref="P:log4net.Appender.NetSendAppender.Recipient"/> was specified.
5178 <exception cref="T:System.ArgumentNullException">The required property <see cref="P:log4net.Appender.NetSendAppender.Recipient"/> was not specified.</exception>
5180 <member name="M:log4net.Appender.NetSendAppender.Append(log4net.Core.LoggingEvent)">
5182 This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/> method.
5184 <param name="loggingEvent">The event to log.</param>
5187 Sends the event using a network message.
5191 <member name="M:log4net.Appender.NetSendAppender.NetMessageBufferSend(System.String,System.String,System.String,System.String,System.Int32)">
5193 Sends a buffer of information to a registered message alias.
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>
5202 The following restrictions apply for sending network messages:
5207 <term>Platform</term>
5208 <description>Requirements</description>
5211 <term>Windows NT</term>
5214 No special group membership is required to send a network message.
5217 Admin, Accounts, Print, or Server Operator group membership is required to
5218 successfully send a network message on a remote server.
5223 <term>Windows 2000 or later</term>
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.
5231 On a member server or workstation, only Administrators and Server Operators can send a network message.
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>.
5243 If the function succeeds, the return value is zero.
5247 <member name="P:log4net.Appender.NetSendAppender.Sender">
5249 Gets or sets the sender of the message.
5252 The sender of the message.
5255 If this property is not specified, the message is sent from the local computer.
5258 <member name="P:log4net.Appender.NetSendAppender.Recipient">
5260 Gets or sets the message alias to which the message should be sent.
5263 The recipient of the message.
5266 This property should always be specified in order to send a message.
5269 <member name="P:log4net.Appender.NetSendAppender.Server">
5271 Gets or sets the DNS or NetBIOS name of the remote server on which the function is to execute.
5274 DNS or NetBIOS name of the remote server on which the function is to execute.
5278 For Windows NT 4.0 and earlier, the string should begin with \\.
5281 If this property is not specified, the local computer is used.
5285 <member name="P:log4net.Appender.NetSendAppender.SecurityContext">
5287 Gets or sets the <see cref="P:log4net.Appender.NetSendAppender.SecurityContext"/> used to call the NetSend method.
5290 The <see cref="P:log4net.Appender.NetSendAppender.SecurityContext"/> used to call the NetSend method.
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.
5301 <member name="P:log4net.Appender.NetSendAppender.RequiresLayout">
5303 This appender requires a <see cref="N:log4net.Layout"/> to be set.
5305 <value><c>true</c></value>
5308 This appender requires a <see cref="N:log4net.Layout"/> to be set.
5312 <member name="T:log4net.Appender.OutputDebugStringAppender">
5314 Appends log events to the OutputDebugString system.
5318 OutputDebugStringAppender appends log events to the
5319 OutputDebugString system.
5322 The string is passed to the native <c>OutputDebugString</c>
5326 <author>Nicko Cadell</author>
5327 <author>Gert Driesen</author>
5329 <member name="M:log4net.Appender.OutputDebugStringAppender.#ctor">
5331 Initializes a new instance of the <see cref="T:log4net.Appender.OutputDebugStringAppender"/> class.
5335 Default constructor.
5339 <member name="M:log4net.Appender.OutputDebugStringAppender.Append(log4net.Core.LoggingEvent)">
5341 Write the logging event to the output debug string API
5343 <param name="loggingEvent">the event to log</param>
5346 Write the logging event to the output debug string API
5350 <member name="M:log4net.Appender.OutputDebugStringAppender.OutputDebugString(System.String)">
5352 Stub for OutputDebugString native method
5354 <param name="message">the string to output</param>
5357 Stub for OutputDebugString native method
5361 <member name="P:log4net.Appender.OutputDebugStringAppender.RequiresLayout">
5363 This appender requires a <see cref="N:log4net.Layout"/> to be set.
5365 <value><c>true</c></value>
5368 This appender requires a <see cref="N:log4net.Layout"/> to be set.
5372 <member name="T:log4net.Appender.RemoteSyslogAppender">
5374 Logs events to a remote syslog daemon.
5378 The BSD syslog protocol is used to remotely log to
5379 a syslog daemon. The syslogd listens for for messages
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
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.
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.
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"/>).
5411 <author>Rob Lyon</author>
5412 <author>Nicko Cadell</author>
5414 <member name="T:log4net.Appender.UdpAppender">
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"/>.
5421 UDP guarantees neither that messages arrive, nor that they arrive in the correct order.
5424 To view the logging results, a custom application can be developed that listens for logging
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.
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.
5438 IPEndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any, 0);
5439 UdpClient udpClient;
5441 string loggingEvent;
5445 udpClient = new UdpClient(8080);
5449 buffer = udpClient.Receive(ref remoteEndPoint);
5450 loggingEvent = System.Text.Encoding.Unicode.GetString(buffer);
5451 Console.WriteLine(loggingEvent);
5456 Console.WriteLine(e.ToString());
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
5466 remoteEndPoint = new IPEndPoint(IPAddress.Any, 0)
5467 udpClient = new UdpClient(8080)
5470 buffer = udpClient.Receive(ByRef remoteEndPoint)
5471 loggingEvent = System.Text.Encoding.Unicode.GetString(buffer)
5472 Console.WriteLine(loggingEvent)
5474 Catch e As Exception
5475 Console.WriteLine(e.ToString())
5479 An example configuration section to log information using this appender to the
5480 IP 224.0.0.1 on port 8080:
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"/>
5490 <author>Gert Driesen</author>
5491 <author>Nicko Cadell</author>
5493 <member name="M:log4net.Appender.UdpAppender.#ctor">
5495 Initializes a new instance of the <see cref="T:log4net.Appender.UdpAppender"/> class.
5498 The default constructor initializes all fields to their default values.
5501 <member name="M:log4net.Appender.UdpAppender.ActivateOptions">
5503 Initialize the appender based on the options set.
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.
5514 If any of the configuration properties are modified then
5515 <see cref="M:log4net.Appender.UdpAppender.ActivateOptions"/> must be called again.
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.
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>
5525 <member name="M:log4net.Appender.UdpAppender.Append(log4net.Core.LoggingEvent)">
5527 This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/> method.
5529 <param name="loggingEvent">The event to log.</param>
5532 Sends the event using an UDP datagram.
5535 Exceptions are passed to the <see cref="P:log4net.Appender.AppenderSkeleton.ErrorHandler"/>.
5539 <member name="M:log4net.Appender.UdpAppender.OnClose">
5541 Closes the UDP connection and releases all resources associated with
5542 this <see cref="T:log4net.Appender.UdpAppender"/> instance.
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"/>.
5551 <member name="M:log4net.Appender.UdpAppender.InitializeClientConnection">
5553 Initializes the underlying <see cref="T:System.Net.Sockets.UdpClient"/> connection.
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.
5561 Exceptions are passed to the <see cref="P:log4net.Appender.AppenderSkeleton.ErrorHandler"/>.
5565 <member name="F:log4net.Appender.UdpAppender.m_remoteAddress">
5567 The IP address of the remote host or multicast group to which
5568 the logging event will be sent.
5571 <member name="F:log4net.Appender.UdpAppender.m_remotePort">
5573 The TCP port number of the remote host or multicast group to
5574 which the logging event will be sent.
5577 <member name="F:log4net.Appender.UdpAppender.m_remoteEndPoint">
5579 The cached remote endpoint to which the logging events will be sent.
5582 <member name="F:log4net.Appender.UdpAppender.m_localPort">
5584 The TCP port number from which the <see cref="T:System.Net.Sockets.UdpClient"/> will communicate.
5587 <member name="F:log4net.Appender.UdpAppender.m_client">
5589 The <see cref="T:System.Net.Sockets.UdpClient"/> instance that will be used for sending the
5593 <member name="F:log4net.Appender.UdpAppender.m_encoding">
5595 The encoding to use for the packet.
5598 <member name="P:log4net.Appender.UdpAppender.RemoteAddress">
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.
5604 The IP address of the remote host or multicast group to which the logging event
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.
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.
5621 Static multicast addresses that are needed globally are assigned by IANA. A few examples are listed in the table below:
5626 <term>IP Address</term>
5627 <description>Description</description>
5630 <term>224.0.0.1</term>
5633 Sends a message to all system on the subnet.
5638 <term>224.0.0.2</term>
5641 Sends a message to all routers on the subnet.
5646 <term>224.0.0.12</term>
5649 The DHCP server answers messages on the IP address 224.0.0.12, but only on a subnet.
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>.
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.
5667 <member name="P:log4net.Appender.UdpAppender.RemotePort">
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.
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
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.
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>
5683 <member name="P:log4net.Appender.UdpAppender.LocalPort">
5685 Gets or sets the TCP port number from which the underlying <see cref="T:System.Net.Sockets.UdpClient"/> will communicate.
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.
5693 The underlying <see cref="T:System.Net.Sockets.UdpClient"/> will bind to this port for sending messages.
5696 Setting the value to 0 (the default) will cause the udp client not to bind to
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>
5702 <member name="P:log4net.Appender.UdpAppender.Encoding">
5704 Gets or sets <see cref="P:log4net.Appender.UdpAppender.Encoding"/> used to write the packets.
5707 The <see cref="P:log4net.Appender.UdpAppender.Encoding"/> used to write the packets.
5711 The <see cref="P:log4net.Appender.UdpAppender.Encoding"/> used to write the packets.
5715 <member name="P:log4net.Appender.UdpAppender.Client">
5717 Gets or sets the underlying <see cref="T:System.Net.Sockets.UdpClient"/>.
5720 The underlying <see cref="T:System.Net.Sockets.UdpClient"/>.
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.
5730 <member name="P:log4net.Appender.UdpAppender.RemoteEndPoint">
5732 Gets or sets the cached remote endpoint to which the logging events should be sent.
5735 The cached remote endpoint to which the logging events will be sent.
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"/>
5743 <member name="P:log4net.Appender.UdpAppender.RequiresLayout">
5745 This appender requires a <see cref="N:log4net.Layout"/> to be set.
5747 <value><c>true</c></value>
5750 This appender requires a <see cref="N:log4net.Layout"/> to be set.
5754 <member name="F:log4net.Appender.RemoteSyslogAppender.DefaultSyslogPort">
5759 <member name="M:log4net.Appender.RemoteSyslogAppender.#ctor">
5761 Initializes a new instance of the <see cref="T:log4net.Appender.RemoteSyslogAppender"/> class.
5764 This instance of the <see cref="T:log4net.Appender.RemoteSyslogAppender"/> class is set up to write
5765 to a remote syslog daemon.
5768 <member name="M:log4net.Appender.RemoteSyslogAppender.AddMapping(log4net.Appender.RemoteSyslogAppender.LevelSeverity)">
5770 Add a mapping of level to severity
5772 <param name="mapping">The mapping to add</param>
5775 Add a <see cref="T:log4net.Appender.RemoteSyslogAppender.LevelSeverity"/> mapping to this appender.
5779 <member name="M:log4net.Appender.RemoteSyslogAppender.Append(log4net.Core.LoggingEvent)">
5781 This method is called by the <see cref="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/> method.
5783 <param name="loggingEvent">The event to log.</param>
5786 Writes the event to a remote syslog daemon.
5789 The format of the output will depend on the appender's layout.
5793 <member name="M:log4net.Appender.RemoteSyslogAppender.ActivateOptions">
5795 Initialize the options for this appender
5799 Initialize the level to syslog severity mappings set on this appender.
5803 <member name="M:log4net.Appender.RemoteSyslogAppender.GetSeverity(log4net.Core.Level)">
5805 Translates a log4net level to a syslog severity.
5807 <param name="level">A log4net level.</param>
5808 <returns>A syslog severity.</returns>
5811 Translates a log4net level to a syslog severity.
5815 <member name="M:log4net.Appender.RemoteSyslogAppender.GeneratePriority(log4net.Appender.RemoteSyslogAppender.SyslogFacility,log4net.Appender.RemoteSyslogAppender.SyslogSeverity)">
5817 Generate a syslog priority.
5819 <param name="facility">The syslog facility.</param>
5820 <param name="severity">The syslog severity.</param>
5821 <returns>A syslog priority.</returns>
5824 Generate a syslog priority.
5828 <member name="F:log4net.Appender.RemoteSyslogAppender.m_facility">
5830 The facility. The default facility is <see cref="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.User"/>.
5833 <member name="F:log4net.Appender.RemoteSyslogAppender.m_identity">
5835 The message identity
5838 <member name="F:log4net.Appender.RemoteSyslogAppender.m_levelMapping">
5840 Mapping from level object to syslog severity
5843 <member name="P:log4net.Appender.RemoteSyslogAppender.Identity">
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"/>).
5856 <member name="P:log4net.Appender.RemoteSyslogAppender.Facility">
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"/>.
5866 <member name="T:log4net.Appender.RemoteSyslogAppender.SyslogSeverity">
5872 The syslog severities.
5876 <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Emergency">
5881 <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Alert">
5883 action must be taken immediately
5886 <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Critical">
5891 <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Error">
5896 <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Warning">
5901 <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Notice">
5903 normal but significant condition
5906 <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Informational">
5911 <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Debug">
5913 debug-level messages
5916 <member name="T:log4net.Appender.RemoteSyslogAppender.SyslogFacility">
5922 The syslog facilities
5926 <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Kernel">
5931 <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.User">
5933 random user-level messages
5936 <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Mail">
5941 <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Daemons">
5946 <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Authorization">
5948 security/authorization messages
5951 <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Syslog">
5953 messages generated internally by syslogd
5956 <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Printer">
5958 line printer subsystem
5961 <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.News">
5963 network news subsystem
5966 <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Uucp">
5971 <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Clock">
5973 clock (cron/at) daemon
5976 <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Authorization2">
5978 security/authorization messages (private)
5981 <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Ftp">
5986 <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Ntp">
5991 <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Audit">
5996 <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Alert">
6001 <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Clock2">
6006 <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local0">
6008 reserved for local use
6011 <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local1">
6013 reserved for local use
6016 <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local2">
6018 reserved for local use
6021 <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local3">
6023 reserved for local use
6026 <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local4">
6028 reserved for local use
6031 <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local5">
6033 reserved for local use
6036 <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local6">
6038 reserved for local use
6041 <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local7">
6043 reserved for local use
6046 <member name="T:log4net.Appender.RemoteSyslogAppender.LevelSeverity">
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.
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.
6058 <member name="P:log4net.Appender.RemoteSyslogAppender.LevelSeverity.Severity">
6060 The mapped syslog severity for the specified level
6065 The mapped syslog severity for the specified level
6069 <member name="T:log4net.Appender.RemotingAppender">
6071 Delivers logging events to a remote logging sink.
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>
6081 The RemotingAppender buffers events before sending them. This allows it to
6082 make more efficient use of the remoting infrastructure.</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>
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>
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>
6112 <seealso cref="T:log4net.Appender.RemotingAppender.IRemoteLoggingSink"/>
6113 <author>Nicko Cadell</author>
6114 <author>Gert Driesen</author>
6115 <author>Daniel Cazzulino</author>
6117 <member name="M:log4net.Appender.RemotingAppender.#ctor">
6119 Initializes a new instance of the <see cref="T:log4net.Appender.RemotingAppender"/> class.
6123 Default constructor.
6127 <member name="M:log4net.Appender.RemotingAppender.ActivateOptions">
6129 Initialize the appender based on the options set
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.
6140 If any of the configuration properties are modified then
6141 <see cref="M:log4net.Appender.RemotingAppender.ActivateOptions"/> must be called again.
6145 <member name="M:log4net.Appender.RemotingAppender.SendBuffer(log4net.Core.LoggingEvent[])">
6147 Send the contents of the buffer to the remote sink.
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.
6163 <param name="events">The events to send.</param>
6165 <member name="M:log4net.Appender.RemotingAppender.OnClose">
6167 Override base class close.
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
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>
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>
6186 <member name="M:log4net.Appender.RemotingAppender.BeginAsyncSend">
6188 A work item is being queued into the thread pool
6191 <member name="M:log4net.Appender.RemotingAppender.EndAsyncSend">
6193 A work item from the thread pool has completed
6196 <member name="M:log4net.Appender.RemotingAppender.SendBufferCallback(System.Object)">
6198 Send the contents of the buffer to the remote sink.
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.
6205 <param name="state">the logging events to send</param>
6207 <member name="F:log4net.Appender.RemotingAppender.m_sinkUrl">
6209 The URL of the remote sink.
6212 <member name="F:log4net.Appender.RemotingAppender.m_sinkObj">
6214 The local proxy (.NET remoting) for the remote logging sink.
6217 <member name="F:log4net.Appender.RemotingAppender.m_queuedCallbackCount">
6219 The number of queued callbacks currently waiting or executing
6222 <member name="F:log4net.Appender.RemotingAppender.m_workQueueEmptyEvent">
6224 Event used to signal when there are no queued work items
6227 This event is set when there are no queued work items. In this
6228 state it is safe to close the appender.
6231 <member name="P:log4net.Appender.RemotingAppender.Sink">
6233 Gets or sets the URL of the well-known object that will accept
6237 The well-known URL of the remote sink.
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"/>
6247 <member name="T:log4net.Appender.RemotingAppender.IRemoteLoggingSink">
6249 Interface used to deliver <see cref="T:log4net.Core.LoggingEvent"/> objects to a remote sink.
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.
6257 <member name="M:log4net.Appender.RemotingAppender.IRemoteLoggingSink.LogEvents(log4net.Core.LoggingEvent[])">
6259 Delivers logging events to the remote sink
6261 <param name="events">Array of events to log.</param>
6264 Delivers logging events to the remote sink
6268 <member name="T:log4net.Appender.RollingFileAppender">
6270 Appender that rolls log files based on size or date or both.
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
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.
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>
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.
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.
6310 <note type="caution">
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.
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.
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.
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.
6340 <note type="caution">
6342 A maximum number of backup files when rolling on date/time boundaries is not supported.
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>
6352 <member name="M:log4net.Appender.RollingFileAppender.#ctor">
6354 Initializes a new instance of the <see cref="T:log4net.Appender.RollingFileAppender"/> class.
6358 Default constructor.
6362 <member name="M:log4net.Appender.RollingFileAppender.SetQWForFiles(System.IO.TextWriter)">
6364 Sets the quiet writer being used.
6367 This method can be overridden by sub classes.
6369 <param name="writer">the writer to set</param>
6371 <member name="M:log4net.Appender.RollingFileAppender.Append(log4net.Core.LoggingEvent)">
6373 Write out a logging event.
6375 <param name="loggingEvent">the event to write to file.</param>
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.
6384 <member name="M:log4net.Appender.RollingFileAppender.Append(log4net.Core.LoggingEvent[])">
6386 Write out an array of logging events.
6388 <param name="loggingEvents">the events to write to file.</param>
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.
6397 <member name="M:log4net.Appender.RollingFileAppender.AdjustFileBeforeAppend">
6399 Performs any required rolling before outputting the next event
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.
6409 <member name="M:log4net.Appender.RollingFileAppender.OpenFile(System.String,System.Boolean)">
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.
6414 <param name="fileName">the name of the file to open</param>
6415 <param name="append">true to append to existing file</param>
6417 <para>This method will ensure that the directory structure
6418 for the <paramref name="fileName"/> specified exists.</para>
6421 <member name="M:log4net.Appender.RollingFileAppender.GetNextOutputFileName(System.String)">
6423 Get the current output file name
6425 <param name="fileName">the base file name</param>
6426 <returns>the output file name</returns>
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
6435 <member name="M:log4net.Appender.RollingFileAppender.DetermineCurSizeRollBackups">
6437 Determines curSizeRollBackups (only within the current roll point)
6440 <member name="M:log4net.Appender.RollingFileAppender.GetWildcardPatternForFile(System.String)">
6442 Generates a wildcard pattern that can be used to find all files
6443 that are similar to the base file name.
6445 <param name="baseFileName"></param>
6448 <member name="M:log4net.Appender.RollingFileAppender.GetExistingFiles(System.String)">
6450 Builds a list of filenames for all files matching the base filename plus a file
6453 <param name="baseFilePath"></param>
6456 <member name="M:log4net.Appender.RollingFileAppender.RollOverIfDateBoundaryCrossing">
6458 Initiates a roll over if needed for crossing a date boundary since the last run.
6461 <member name="M:log4net.Appender.RollingFileAppender.ExistingInit">
6463 Initializes based on existing conditions at time of <see cref="M:log4net.Appender.RollingFileAppender.ActivateOptions"/>.
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>
6476 <member name="M:log4net.Appender.RollingFileAppender.InitializeFromOneFile(System.String,System.String)">
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.
6484 <param name="baseFile"></param>
6485 <param name="curFileName"></param>
6487 <member name="M:log4net.Appender.RollingFileAppender.InitializeRollBackups(System.String,System.Collections.ArrayList)">
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.
6493 <param name="baseFile"></param>
6494 <param name="arrayFiles"></param>
6496 <member name="M:log4net.Appender.RollingFileAppender.ComputeCheckPeriod(System.String)">
6498 Calculates the RollPoint for the datePattern supplied.
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>
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.
6511 <member name="M:log4net.Appender.RollingFileAppender.ActivateOptions">
6513 Initialize the appender based on the options set
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.
6524 If any of the configuration properties are modified then
6525 <see cref="M:log4net.Appender.RollingFileAppender.ActivateOptions"/> must be called again.
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.
6534 <member name="M:log4net.Appender.RollingFileAppender.RollOverTime(System.Boolean)">
6536 Rollover the file(s) to date/time tagged file(s).
6538 <param name="fileIsOpen">set to true if the file to be rolled is currently open</param>
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).
6547 <member name="M:log4net.Appender.RollingFileAppender.RollFile(System.String,System.String)">
6549 Renames file <paramref name="fromFile"/> to file <paramref name="toFile"/>.
6551 <param name="fromFile">Name of existing file to roll.</param>
6552 <param name="toFile">New name for file.</param>
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.
6560 <member name="M:log4net.Appender.RollingFileAppender.FileExists(System.String)">
6562 Test if a file exists at a specified path
6564 <param name="path">the path to the file</param>
6565 <returns>true if the file exists</returns>
6568 Test if a file exists at a specified path
6572 <member name="M:log4net.Appender.RollingFileAppender.DeleteFile(System.String)">
6574 Deletes the specified file if it exists.
6576 <param name="fileName">The file to delete.</param>
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.
6586 <member name="M:log4net.Appender.RollingFileAppender.RollOverSize">
6588 Implements file roll base on file size.
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> < 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.
6602 A new file is created to receive further log output.
6605 If <c>maxSizeRollBackups</c> is equal to zero, then the
6606 <c>File</c> is truncated with no backup files created.
6609 If <c>maxSizeRollBackups</c> < 0, then <c>File</c> is
6610 renamed if needed and no files are deleted.
6614 <member name="M:log4net.Appender.RollingFileAppender.RollOverRenameFiles(System.String)">
6616 Implements file roll.
6618 <param name="baseFileName">the base name to rename</param>
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> < 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>}.
6630 If <c>maxSizeRollBackups</c> is equal to zero, then the
6631 <c>File</c> is truncated with no backup files created.
6634 If <c>maxSizeRollBackups</c> < 0, then <c>File</c> is
6635 renamed if needed and no files are deleted.
6638 This is called by <see cref="M:log4net.Appender.RollingFileAppender.RollOverSize"/> to rename the files.
6642 <member name="M:log4net.Appender.RollingFileAppender.NextCheckDate(System.DateTime,log4net.Appender.RollingFileAppender.RollPoint)">
6644 Get the start time of the next window for the current rollpoint
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>
6651 Returns the date of the next roll point after the currentDateTime date passed to the method.
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.
6661 <member name="F:log4net.Appender.RollingFileAppender.m_dateTime">
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.
6667 <member name="F:log4net.Appender.RollingFileAppender.m_datePattern">
6669 The date pattern. By default, the pattern is set to <c>".yyyy-MM-dd"</c>
6670 meaning daily rollover.
6673 <member name="F:log4net.Appender.RollingFileAppender.m_scheduledFilename">
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).
6680 <member name="F:log4net.Appender.RollingFileAppender.m_nextCheck">
6682 The timestamp when we shall next recompute the filename.
6685 <member name="F:log4net.Appender.RollingFileAppender.m_now">
6687 Holds date of last roll over
6690 <member name="F:log4net.Appender.RollingFileAppender.m_rollPoint">
6692 The type of rolling done
6695 <member name="F:log4net.Appender.RollingFileAppender.m_maxFileSize">
6697 The default maximum file size is 10MB
6700 <member name="F:log4net.Appender.RollingFileAppender.m_maxSizeRollBackups">
6702 There is zero backup files by default
6705 <member name="F:log4net.Appender.RollingFileAppender.m_curSizeRollBackups">
6707 How many sized based backups have been made so far
6710 <member name="F:log4net.Appender.RollingFileAppender.m_countDirection">
6712 The rolling file count direction.
6715 <member name="F:log4net.Appender.RollingFileAppender.m_rollingStyle">
6717 The rolling mode used in this appender.
6720 <member name="F:log4net.Appender.RollingFileAppender.m_rollDate">
6722 Cache flag set if we are rolling by date.
6725 <member name="F:log4net.Appender.RollingFileAppender.m_rollSize">
6727 Cache flag set if we are rolling by size.
6730 <member name="F:log4net.Appender.RollingFileAppender.m_staticLogFileName">
6732 Value indicating whether to always log to the same file.
6735 <member name="F:log4net.Appender.RollingFileAppender.m_baseFileName">
6737 FileName provided in configuration. Used for rolling properly
6740 <member name="F:log4net.Appender.RollingFileAppender.s_date1970">
6742 The 1st of January 1970 in UTC
6745 <member name="P:log4net.Appender.RollingFileAppender.DatePattern">
6747 Gets or sets the date pattern to be used for generating file names
6748 when rolling over on date.
6751 The date pattern to be used for generating file names when rolling
6756 Takes a string in the same format as expected by
6757 <see cref="T:log4net.DateFormatter.SimpleDateFormatter"/>.
6760 This property determines the rollover schedule when rolling over
6765 <member name="P:log4net.Appender.RollingFileAppender.MaxSizeRollBackups">
6767 Gets or sets the maximum number of backup files that are kept before
6768 the oldest is erased.
6771 The maximum number of backup files that are kept before the oldest is
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"/>.
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.
6785 The maximum applies to <b>each</b> time based group of files and
6786 <b>not</b> the total.
6790 <member name="P:log4net.Appender.RollingFileAppender.MaxFileSize">
6792 Gets or sets the maximum size that the output file is allowed to reach
6793 before being rolled over to backup files.
6796 The maximum size in bytes that the output file is allowed to reach before being
6797 rolled over to backup files.
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"/>
6807 The default maximum file size is 10MB (10*1024*1024).
6811 <member name="P:log4net.Appender.RollingFileAppender.MaximumFileSize">
6813 Gets or sets the maximum size that the output file is allowed to reach
6814 before being rolled over to backup files.
6817 The maximum size that the output file is allowed to reach before being
6818 rolled over to backup files.
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.
6827 For example, the value "10KB" will be interpreted as 10240 bytes.
6830 The default maximum file size is 10MB.
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"/>.
6839 <member name="P:log4net.Appender.RollingFileAppender.CountDirection">
6841 Gets or sets the rolling file count direction.
6844 The rolling file count direction.
6848 Indicates if the current file is the lowest numbered file or the
6849 highest numbered file.
6852 By default newer files have lower numbers (<see cref="P:log4net.Appender.RollingFileAppender.CountDirection"/> < 0),
6853 i.e. log.1 is most recent, log.5 is the 5th backup, etc...
6856 <see cref="P:log4net.Appender.RollingFileAppender.CountDirection"/> >= 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"/> >= 0 to reduce
6861 <para>The default file count direction is -1.</para>
6864 <member name="P:log4net.Appender.RollingFileAppender.RollingStyle">
6866 Gets or sets the rolling style.
6868 <value>The rolling style.</value>
6871 The default rolling style is <see cref="F:log4net.Appender.RollingFileAppender.RollingMode.Composite"/>.
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.
6881 <member name="P:log4net.Appender.RollingFileAppender.StaticLogFileName">
6883 Gets or sets a value indicating whether to always log to
6887 <c>true</c> if always should be logged to the same file, otherwise <c>false</c>.
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).
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!
6902 <member name="T:log4net.Appender.RollingFileAppender.RollingMode">
6904 Style of rolling to use
6908 Style of rolling to use
6912 <member name="F:log4net.Appender.RollingFileAppender.RollingMode.Once">
6914 Roll files once per program execution
6918 Roll files once per program execution.
6919 Well really once each time this appender is
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.
6929 <member name="F:log4net.Appender.RollingFileAppender.RollingMode.Size">
6931 Roll files based only on the size of the file
6934 <member name="F:log4net.Appender.RollingFileAppender.RollingMode.Date">
6936 Roll files based only on the date
6939 <member name="F:log4net.Appender.RollingFileAppender.RollingMode.Composite">
6941 Roll files based on both the size and date of the file
6944 <member name="T:log4net.Appender.RollingFileAppender.RollPoint">
6946 The code assumes that the following 'time' constants are in a increasing sequence.
6950 The code assumes that the following 'time' constants are in a increasing sequence.
6954 <member name="F:log4net.Appender.RollingFileAppender.RollPoint.InvalidRollPoint">
6956 Roll the log not based on the date
6959 <member name="F:log4net.Appender.RollingFileAppender.RollPoint.TopOfMinute">
6961 Roll the log for each minute
6964 <member name="F:log4net.Appender.RollingFileAppender.RollPoint.TopOfHour">
6966 Roll the log for each hour
6969 <member name="F:log4net.Appender.RollingFileAppender.RollPoint.HalfDay">
6971 Roll the log twice a day (midday and midnight)
6974 <member name="F:log4net.Appender.RollingFileAppender.RollPoint.TopOfDay">
6976 Roll the log each day (midnight)
6979 <member name="F:log4net.Appender.RollingFileAppender.RollPoint.TopOfWeek">
6981 Roll the log each week
6984 <member name="F:log4net.Appender.RollingFileAppender.RollPoint.TopOfMonth">
6986 Roll the log each month
6989 <member name="T:log4net.Appender.RollingFileAppender.IDateTime">
6991 This interface is used to supply Date/Time information to the <see cref="T:log4net.Appender.RollingFileAppender"/>.
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.
6999 <member name="P:log4net.Appender.RollingFileAppender.IDateTime.Now">
7001 Gets the <i>current</i> time.
7003 <value>The <i>current</i> time.</value>
7006 Gets the <i>current</i> time.
7010 <member name="T:log4net.Appender.RollingFileAppender.DefaultDateTime">
7012 Default implementation of <see cref="T:log4net.Appender.RollingFileAppender.IDateTime"/> that returns the current time.
7015 <member name="P:log4net.Appender.RollingFileAppender.DefaultDateTime.Now">
7017 Gets the <b>current</b> time.
7019 <value>The <b>current</b> time.</value>
7022 Gets the <b>current</b> time.
7026 <member name="T:log4net.Appender.SmtpAppender">
7028 Send an e-mail when a specific logging event occurs, typically on errors
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.
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.
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.
7054 To set the SMTP server port use the <see cref="P:log4net.Appender.SmtpAppender.Port"/> property. The default port is 25.
7057 <author>Nicko Cadell</author>
7058 <author>Gert Driesen</author>
7060 <member name="M:log4net.Appender.SmtpAppender.#ctor">
7070 <member name="M:log4net.Appender.SmtpAppender.SendBuffer(log4net.Core.LoggingEvent[])">
7072 Sends the contents of the cyclic buffer as an e-mail message.
7074 <param name="events">The logging events to send.</param>
7076 <member name="M:log4net.Appender.SmtpAppender.SendEmail(System.String)">
7078 Send the email message
7080 <param name="messageBody">the body text to include in the mail</param>
7082 <member name="P:log4net.Appender.SmtpAppender.To">
7084 Gets or sets a semicolon-delimited list of recipient e-mail addresses.
7087 A semicolon-delimited list of e-mail addresses.
7091 A semicolon-delimited list of recipient e-mail addresses.
7095 <member name="P:log4net.Appender.SmtpAppender.From">
7097 Gets or sets the e-mail address of the sender.
7100 The e-mail address of the sender.
7104 The e-mail address of the sender.
7108 <member name="P:log4net.Appender.SmtpAppender.Subject">
7110 Gets or sets the subject line of the e-mail message.
7113 The subject line of the e-mail message.
7117 The subject line of the e-mail message.
7121 <member name="P:log4net.Appender.SmtpAppender.SmtpHost">
7123 Gets or sets the name of the SMTP relay mail server to use to send
7124 the e-mail messages.
7127 The name of the e-mail relay server. If SmtpServer is not set, the
7128 name of the local SMTP server is used.
7132 The name of the e-mail relay server. If SmtpServer is not set, the
7133 name of the local SMTP server is used.
7137 <member name="P:log4net.Appender.SmtpAppender.LocationInfo">
7142 Use the BufferingAppenderSkeleton Fix methods instead
7150 <member name="P:log4net.Appender.SmtpAppender.Authentication">
7152 The mode to use to authentication with the SMTP server
7155 <note type="caution">Authentication is only available on the MS .NET 1.1 runtime.</note>
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.
7167 <member name="P:log4net.Appender.SmtpAppender.Username">
7169 The username to use to authenticate with the SMTP server
7172 <note type="caution">Authentication is only available on the MS .NET 1.1 runtime.</note>
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.
7180 <member name="P:log4net.Appender.SmtpAppender.Password">
7182 The password to use to authenticate with the SMTP server
7185 <note type="caution">Authentication is only available on the MS .NET 1.1 runtime.</note>
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.
7193 <member name="P:log4net.Appender.SmtpAppender.Port">
7195 The port on which the SMTP server is listening
7198 <note type="caution">Server Port is only available on the MS .NET 1.1 runtime.</note>
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.
7206 <member name="P:log4net.Appender.SmtpAppender.Priority">
7208 Gets or sets the priority of the e-mail message
7211 One of the <see cref="T:System.Net.Mail.MailPriority"/> values.
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"/>.
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"/>.
7224 <member name="P:log4net.Appender.SmtpAppender.RequiresLayout">
7226 This appender requires a <see cref="N:log4net.Layout"/> to be set.
7228 <value><c>true</c></value>
7231 This appender requires a <see cref="N:log4net.Layout"/> to be set.
7235 <member name="T:log4net.Appender.SmtpAppender.SmtpAuthentication">
7237 Values for the <see cref="P:log4net.Appender.SmtpAppender.Authentication"/> property.
7241 SMTP authentication modes.
7245 <member name="F:log4net.Appender.SmtpAppender.SmtpAuthentication.None">
7250 <member name="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Basic">
7252 Basic authentication.
7255 Requires a username and password to be supplied
7258 <member name="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Ntlm">
7260 Integrated authentication
7263 Uses the Windows credentials from the current thread or process to authenticate.
7266 <member name="T:log4net.Appender.SmtpPickupDirAppender">
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.
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"/>.
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.
7288 <author>Niall Daley</author>
7289 <author>Nicko Cadell</author>
7291 <member name="M:log4net.Appender.SmtpPickupDirAppender.#ctor">
7301 <member name="M:log4net.Appender.SmtpPickupDirAppender.SendBuffer(log4net.Core.LoggingEvent[])">
7303 Sends the contents of the cyclic buffer as an e-mail message.
7305 <param name="events">The logging events to send.</param>
7308 Sends the contents of the cyclic buffer as an e-mail message.
7312 <member name="M:log4net.Appender.SmtpPickupDirAppender.ActivateOptions">
7314 Activate the options on this appender.
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.
7325 If any of the configuration properties are modified then
7326 <see cref="M:log4net.Appender.SmtpPickupDirAppender.ActivateOptions"/> must be called again.
7330 <member name="M:log4net.Appender.SmtpPickupDirAppender.ConvertToFullPath(System.String)">
7332 Convert a path into a fully qualified path.
7334 <param name="path">The path to convert.</param>
7335 <returns>The fully qualified path.</returns>
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
7345 <member name="F:log4net.Appender.SmtpPickupDirAppender.m_securityContext">
7347 The security context to use for privileged calls
7350 <member name="P:log4net.Appender.SmtpPickupDirAppender.To">
7352 Gets or sets a semicolon-delimited list of recipient e-mail addresses.
7355 A semicolon-delimited list of e-mail addresses.
7359 A semicolon-delimited list of e-mail addresses.
7363 <member name="P:log4net.Appender.SmtpPickupDirAppender.From">
7365 Gets or sets the e-mail address of the sender.
7368 The e-mail address of the sender.
7372 The e-mail address of the sender.
7376 <member name="P:log4net.Appender.SmtpPickupDirAppender.Subject">
7378 Gets or sets the subject line of the e-mail message.
7381 The subject line of the e-mail message.
7385 The subject line of the e-mail message.
7389 <member name="P:log4net.Appender.SmtpPickupDirAppender.PickupDir">
7391 Gets or sets the path to write the messages to.
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.
7400 <member name="P:log4net.Appender.SmtpPickupDirAppender.SecurityContext">
7402 Gets or sets the <see cref="P:log4net.Appender.SmtpPickupDirAppender.SecurityContext"/> used to write to the pickup directory.
7405 The <see cref="P:log4net.Appender.SmtpPickupDirAppender.SecurityContext"/> used to write to the pickup directory.
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.
7416 <member name="P:log4net.Appender.SmtpPickupDirAppender.RequiresLayout">
7418 This appender requires a <see cref="N:log4net.Layout"/> to be set.
7420 <value><c>true</c></value>
7423 This appender requires a <see cref="N:log4net.Layout"/> to be set.
7427 <member name="T:log4net.Appender.TelnetAppender">
7429 Appender that allows clients to connect via Telnet to receive log messages
7433 The TelnetAppender accepts socket connections and streams logging messages
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.
7440 The default <see cref="P:log4net.Appender.TelnetAppender.Port"/> is 23 (the telnet port).
7443 <author>Keith Long</author>
7444 <author>Nicko Cadell</author>
7446 <member name="M:log4net.Appender.TelnetAppender.#ctor">
7456 <member name="M:log4net.Appender.TelnetAppender.OnClose">
7458 Overrides the parent method to close the socket handler
7462 Closes all the outstanding connections.
7466 <member name="M:log4net.Appender.TelnetAppender.ActivateOptions">
7468 Initialize the appender based on the options set.
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.
7479 If any of the configuration properties are modified then
7480 <see cref="M:log4net.Appender.TelnetAppender.ActivateOptions"/> must be called again.
7483 Create the socket handler and wait for connections
7487 <member name="M:log4net.Appender.TelnetAppender.Append(log4net.Core.LoggingEvent)">
7489 Writes the logging event to each connected client.
7491 <param name="loggingEvent">The event to log.</param>
7494 Writes the logging event to each connected client.
7498 <member name="P:log4net.Appender.TelnetAppender.Port">
7500 Gets or sets the TCP port number on which this <see cref="T:log4net.Appender.TelnetAppender"/> will listen for connections.
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.
7508 The default value is 23 (the telnet port).
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>
7514 <member name="P:log4net.Appender.TelnetAppender.RequiresLayout">
7516 This appender requires a <see cref="N:log4net.Layout"/> to be set.
7518 <value><c>true</c></value>
7521 This appender requires a <see cref="N:log4net.Layout"/> to be set.
7525 <member name="T:log4net.Appender.TelnetAppender.SocketHandler">
7527 Helper class to manage connected clients
7531 The SocketHandler class is used to accept connections from
7532 clients. It is threaded so that clients can connect/disconnect
7537 <member name="M:log4net.Appender.TelnetAppender.SocketHandler.#ctor(System.Int32)">
7539 Opens a new server port on <paramref ref="port"/>
7541 <param name="port">the local port to listen on for connections</param>
7544 Creates a socket handler on the specified local server port.
7548 <member name="M:log4net.Appender.TelnetAppender.SocketHandler.Send(System.String)">
7550 Sends a string message to each of the connected clients
7552 <param name="message">the text to send</param>
7555 Sends a string message to each of the connected clients
7559 <member name="M:log4net.Appender.TelnetAppender.SocketHandler.AddClient(log4net.Appender.TelnetAppender.SocketHandler.SocketClient)">
7561 Add a client to the internal clients list
7563 <param name="client">client to add</param>
7565 <member name="M:log4net.Appender.TelnetAppender.SocketHandler.RemoveClient(log4net.Appender.TelnetAppender.SocketHandler.SocketClient)">
7567 Remove a client from the internal clients list
7569 <param name="client">client to remove</param>
7571 <member name="M:log4net.Appender.TelnetAppender.SocketHandler.OnConnect(System.IAsyncResult)">
7573 Callback used to accept a connection on the server socket
7575 <param name="asyncResult">The result of the asynchronous operation</param>
7578 On connection adds to the list of connections
7579 if there are two many open connections you will be disconnected
7583 <member name="M:log4net.Appender.TelnetAppender.SocketHandler.Dispose">
7585 Close all network connections
7589 Make sure we close all network connections
7593 <member name="P:log4net.Appender.TelnetAppender.SocketHandler.HasConnections">
7595 Test if this handler has active connections
7598 <c>true</c> if this handler has active connections
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.
7608 <member name="T:log4net.Appender.TelnetAppender.SocketHandler.SocketClient">
7610 Class that represents a client connected to this handler
7614 Class that represents a client connected to this handler
7618 <member name="M:log4net.Appender.TelnetAppender.SocketHandler.SocketClient.#ctor(System.Net.Sockets.Socket)">
7620 Create this <see cref="T:log4net.Appender.TelnetAppender.SocketHandler.SocketClient"/> for the specified <see cref="T:System.Net.Sockets.Socket"/>
7622 <param name="socket">the client's socket</param>
7625 Opens a stream writer on the socket.
7629 <member name="M:log4net.Appender.TelnetAppender.SocketHandler.SocketClient.Send(System.String)">
7631 Write a string to the client
7633 <param name="message">string to send</param>
7636 Write a string to the client
7640 <member name="M:log4net.Appender.TelnetAppender.SocketHandler.SocketClient.Dispose">
7642 Cleanup the clients connection
7646 Close the socket connection.
7650 <member name="T:log4net.Appender.TraceAppender">
7652 Appends log events to the <see cref="T:System.Diagnostics.Trace"/> system.
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
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.
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"/>.
7673 <author>Douglas de la Torre</author>
7674 <author>Nicko Cadell</author>
7675 <author>Gert Driesen</author>
7677 <member name="M:log4net.Appender.TraceAppender.#ctor">
7679 Initializes a new instance of the <see cref="T:log4net.Appender.TraceAppender"/>.
7683 Default constructor.
7687 <member name="M:log4net.Appender.TraceAppender.#ctor(log4net.Layout.ILayout)">
7689 Initializes a new instance of the <see cref="T:log4net.Appender.TraceAppender"/>
7690 with a specified layout.
7692 <param name="layout">The layout to use with this appender.</param>
7695 Obsolete constructor.
7699 <member name="M:log4net.Appender.TraceAppender.Append(log4net.Core.LoggingEvent)">
7701 Writes the logging event to the <see cref="T:System.Diagnostics.Trace"/> system.
7703 <param name="loggingEvent">The event to log.</param>
7706 Writes the logging event to the <see cref="T:System.Diagnostics.Trace"/> system.
7710 <member name="F:log4net.Appender.TraceAppender.m_immediateFlush">
7712 Immediate flush means that the underlying writer or output stream
7713 will be flushed at the end of each append operation.
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.
7724 The default value is <c>true</c>.</para>
7727 <member name="P:log4net.Appender.TraceAppender.ImmediateFlush">
7729 Gets or sets a value that indicates whether the appender will
7730 flush at the end of each write.
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.
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.
7747 <member name="P:log4net.Appender.TraceAppender.RequiresLayout">
7749 This appender requires a <see cref="N:log4net.Layout"/> to be set.
7751 <value><c>true</c></value>
7754 This appender requires a <see cref="N:log4net.Layout"/> to be set.
7758 <member name="T:log4net.Config.AliasDomainAttribute">
7760 Assembly level attribute that specifies a domain to alias to this assembly's repository.
7764 <b>AliasDomainAttribute is obsolete. Use AliasRepositoryAttribute instead of AliasDomainAttribute.</b>
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.
7771 An assembly can alias another assembly's domain to its repository by
7772 specifying this attribute with the name of the target domain.
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.
7779 <author>Nicko Cadell</author>
7780 <author>Gert Driesen</author>
7782 <member name="T:log4net.Config.AliasRepositoryAttribute">
7784 Assembly level attribute that specifies a repository to alias to this assembly's repository.
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.
7792 An assembly can alias another assembly's repository to its repository by
7793 specifying this attribute with the name of the target repository.
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.
7800 <author>Nicko Cadell</author>
7801 <author>Gert Driesen</author>
7803 <member name="M:log4net.Config.AliasRepositoryAttribute.#ctor(System.String)">
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.
7808 <param name="name">The repository to alias to this assemby's repository.</param>
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.
7816 <member name="P:log4net.Config.AliasRepositoryAttribute.Name">
7818 Gets or sets the repository to alias to this assemby's repository.
7821 The repository to alias to this assemby's repository.
7825 The name of the repository to alias to this assemby's repository.
7829 <member name="M:log4net.Config.AliasDomainAttribute.#ctor(System.String)">
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.
7834 <param name="name">The domain to alias to this assemby's repository.</param>
7837 Obsolete. Use <see cref="T:log4net.Config.AliasRepositoryAttribute"/> instead of <see cref="T:log4net.Config.AliasDomainAttribute"/>.
7841 <member name="T:log4net.Config.BasicConfigurator">
7843 Use this class to quickly configure a <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/>.
7847 Allows very simple programmatic configuration of log4net.
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.
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.
7860 <author>Nicko Cadell</author>
7861 <author>Gert Driesen</author>
7863 <member name="M:log4net.Config.BasicConfigurator.#ctor">
7865 Initializes a new instance of the <see cref="T:log4net.Config.BasicConfigurator"/> class.
7869 Uses a private access modifier to prevent instantiation of this class.
7873 <member name="M:log4net.Config.BasicConfigurator.Configure">
7875 Initializes the log4net system with a default configuration.
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"/>
7887 <member name="M:log4net.Config.BasicConfigurator.Configure(log4net.Appender.IAppender)">
7889 Initializes the log4net system using the specified appender.
7891 <param name="appender">The appender to use to log all logging events.</param>
7894 Initializes the log4net system using the specified appender.
7898 <member name="M:log4net.Config.BasicConfigurator.Configure(log4net.Repository.ILoggerRepository)">
7900 Initializes the <see cref="T:log4net.Repository.ILoggerRepository"/> with a default configuration.
7902 <param name="repository">The repository to configure.</param>
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"/>
7913 <member name="M:log4net.Config.BasicConfigurator.Configure(log4net.Repository.ILoggerRepository,log4net.Appender.IAppender)">
7915 Initializes the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified appender.
7917 <param name="repository">The repository to configure.</param>
7918 <param name="appender">The appender to use to log all logging events.</param>
7921 Initializes the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified appender.
7925 <member name="T:log4net.Config.ConfiguratorAttribute">
7927 Base class for all log4net configuration attributes.
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
7935 <author>Nicko Cadell</author>
7936 <author>Gert Driesen</author>
7938 <member name="M:log4net.Config.ConfiguratorAttribute.#ctor(System.Int32)">
7940 Constructor used by subclasses.
7942 <param name="priority">the ordering priority for this configurator</param>
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.
7951 <member name="M:log4net.Config.ConfiguratorAttribute.Configure(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
7953 Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified assembly.
7955 <param name="sourceAssembly">The assembly that this attribute was defined on.</param>
7956 <param name="targetRepository">The repository to configure.</param>
7959 Abstract method implemented by a subclass. When this method is called
7960 the subclass should configure the <paramref name="targetRepository"/>.
7964 <member name="M:log4net.Config.ConfiguratorAttribute.CompareTo(System.Object)">
7966 Compare this instance to another ConfiguratorAttribute
7968 <param name="obj">the object to compare to</param>
7969 <returns>see <see cref="M:System.IComparable.CompareTo(System.Object)"/></returns>
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
7978 <member name="T:log4net.Config.DomainAttribute">
7980 Assembly level attribute that specifies the logging domain for the assembly.
7984 <b>DomainAttribute is obsolete. Use RepositoryAttribute instead of DomainAttribute.</b>
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.
7996 This attribute can only be specified on the assembly and may only be used
8000 <author>Nicko Cadell</author>
8001 <author>Gert Driesen</author>
8003 <member name="T:log4net.Config.RepositoryAttribute">
8005 Assembly level attribute that specifies the logging repository for the assembly.
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.
8018 This attribute can only be specified on the assembly and may only be used
8022 <author>Nicko Cadell</author>
8023 <author>Gert Driesen</author>
8025 <member name="M:log4net.Config.RepositoryAttribute.#ctor">
8027 Initializes a new instance of the <see cref="T:log4net.Config.RepositoryAttribute"/> class.
8031 Default constructor.
8035 <member name="M:log4net.Config.RepositoryAttribute.#ctor(System.String)">
8037 Initialize a new instance of the <see cref="T:log4net.Config.RepositoryAttribute"/> class
8038 with the name of the repository.
8040 <param name="name">The name of the repository.</param>
8043 Initialize the attribute with the name for the assembly's repository.
8047 <member name="P:log4net.Config.RepositoryAttribute.Name">
8049 Gets or sets the name of the logging repository.
8052 The string name to use as the name of the repository associated with this
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.
8062 <member name="P:log4net.Config.RepositoryAttribute.RepositoryType">
8064 Gets or sets the type of repository to create for this assembly.
8067 The type of repository to create for this assembly.
8071 The type of the repository to create for the assembly.
8072 The type must implement the <see cref="T:log4net.Repository.ILoggerRepository"/>
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
8084 <member name="M:log4net.Config.DomainAttribute.#ctor">
8086 Initializes a new instance of the <see cref="T:log4net.Config.DomainAttribute"/> class.
8090 Obsolete. Use RepositoryAttribute instead of DomainAttribute.
8094 <member name="M:log4net.Config.DomainAttribute.#ctor(System.String)">
8096 Initialize a new instance of the <see cref="T:log4net.Config.DomainAttribute"/> class
8097 with the name of the domain.
8099 <param name="name">The name of the domain.</param>
8102 Obsolete. Use RepositoryAttribute instead of DomainAttribute.
8106 <member name="T:log4net.Config.DOMConfigurator">
8108 Use this class to initialize the log4net environment using an Xml tree.
8112 <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
8115 Configures a <see cref="T:log4net.Repository.ILoggerRepository"/> using an Xml tree.
8118 <author>Nicko Cadell</author>
8119 <author>Gert Driesen</author>
8121 <member name="M:log4net.Config.DOMConfigurator.#ctor">
8126 <member name="M:log4net.Config.DOMConfigurator.Configure">
8128 Automatically configures the log4net system based on the
8129 application's configuration settings.
8133 <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
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.
8142 <member name="M:log4net.Config.DOMConfigurator.Configure(log4net.Repository.ILoggerRepository)">
8144 Automatically configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using settings
8145 stored in the application's configuration file.
8149 <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
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.
8157 <param name="repository">The repository to configure.</param>
8159 <member name="M:log4net.Config.DOMConfigurator.Configure(System.Xml.XmlElement)">
8161 Configures log4net using a <c>log4net</c> element
8165 <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
8167 Loads the log4net configuration from the XML element
8168 supplied as <paramref name="element"/>.
8170 <param name="element">The element to parse.</param>
8172 <member name="M:log4net.Config.DOMConfigurator.Configure(log4net.Repository.ILoggerRepository,System.Xml.XmlElement)">
8174 Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified XML
8179 <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
8181 Loads the log4net configuration from the XML element
8182 supplied as <paramref name="element"/>.
8184 <param name="repository">The repository to configure.</param>
8185 <param name="element">The element to parse.</param>
8187 <member name="M:log4net.Config.DOMConfigurator.Configure(System.IO.FileInfo)">
8189 Configures log4net using the specified configuration file.
8191 <param name="configFile">The XML file to load the configuration from.</param>
8194 <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
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.
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).
8207 The following example configures log4net using a configuration file, of which the
8208 location is stored in the application's configuration file :
8211 using log4net.Config;
8213 using System.Configuration;
8217 DOMConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"]));
8220 In the <c>.config</c> file, the path to the log4net can be specified like this :
8222 <code lang="XML" escaped="true">
8225 <add key="log4net-config-file" value="log.config"/>
8231 <member name="M:log4net.Config.DOMConfigurator.Configure(System.IO.Stream)">
8233 Configures log4net using the specified configuration file.
8235 <param name="configStream">A stream to load the XML configuration from.</param>
8238 <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
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.
8246 Note that this method will NOT close the stream parameter.
8250 <member name="M:log4net.Config.DOMConfigurator.Configure(log4net.Repository.ILoggerRepository,System.IO.FileInfo)">
8252 Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified configuration
8255 <param name="repository">The repository to configure.</param>
8256 <param name="configFile">The XML file to load the configuration from.</param>
8259 <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
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.
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).
8272 The following example configures log4net using a configuration file, of which the
8273 location is stored in the application's configuration file :
8276 using log4net.Config;
8278 using System.Configuration;
8282 DOMConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"]));
8285 In the <c>.config</c> file, the path to the log4net can be specified like this :
8287 <code lang="XML" escaped="true">
8290 <add key="log4net-config-file" value="log.config"/>
8296 <member name="M:log4net.Config.DOMConfigurator.Configure(log4net.Repository.ILoggerRepository,System.IO.Stream)">
8298 Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified configuration
8301 <param name="repository">The repository to configure.</param>
8302 <param name="configStream">The stream to load the XML configuration from.</param>
8305 <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
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.
8313 Note that this method will NOT close the stream parameter.
8317 <member name="M:log4net.Config.DOMConfigurator.ConfigureAndWatch(System.IO.FileInfo)">
8319 Configures log4net using the file specified, monitors the file for changes
8320 and reloads the configuration if a change is detected.
8322 <param name="configFile">The XML file to load the configuration from.</param>
8325 <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
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.
8333 The configuration file will be monitored using a <see cref="T:System.IO.FileSystemWatcher"/>
8334 and depends on the behavior of that class.
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)"/>.
8341 <seealso cref="M:log4net.Config.DOMConfigurator.Configure(System.IO.FileInfo)"/>
8343 <member name="M:log4net.Config.DOMConfigurator.ConfigureAndWatch(log4net.Repository.ILoggerRepository,System.IO.FileInfo)">
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
8349 <param name="repository">The repository to configure.</param>
8350 <param name="configFile">The XML file to load the configuration from.</param>
8353 <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
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.
8361 The configuration file will be monitored using a <see cref="T:System.IO.FileSystemWatcher"/>
8362 and depends on the behavior of that class.
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)"/>.
8369 <seealso cref="M:log4net.Config.DOMConfigurator.Configure(System.IO.FileInfo)"/>
8371 <member name="T:log4net.Config.DOMConfiguratorAttribute">
8373 Assembly level attribute to configure the <see cref="T:log4net.Config.XmlConfigurator"/>.
8377 <b>AliasDomainAttribute is obsolete. Use AliasRepositoryAttribute instead of AliasDomainAttribute.</b>
8380 This attribute may only be used at the assembly scope and can only
8381 be used once per assembly.
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"/>
8389 <author>Nicko Cadell</author>
8390 <author>Gert Driesen</author>
8392 <member name="T:log4net.Config.XmlConfiguratorAttribute">
8394 Assembly level attribute to configure the <see cref="T:log4net.Config.XmlConfigurator"/>.
8398 This attribute may only be used at the assembly scope and can only
8399 be used once per assembly.
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"/>
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.
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.
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
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.
8438 <author>Nicko Cadell</author>
8439 <author>Gert Driesen</author>
8441 <member name="M:log4net.Config.XmlConfiguratorAttribute.#ctor">
8451 <member name="M:log4net.Config.XmlConfiguratorAttribute.Configure(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
8453 Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified assembly.
8455 <param name="sourceAssembly">The assembly that this attribute was defined on.</param>
8456 <param name="targetRepository">The repository to configure.</param>
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
8465 <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="repository"/> does not extend <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/>.</exception>
8467 <member name="M:log4net.Config.XmlConfiguratorAttribute.ConfigureFromFile(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
8469 Attempt to load configuration from the local file system
8471 <param name="sourceAssembly">The assembly that this attribute was defined on.</param>
8472 <param name="targetRepository">The repository to configure.</param>
8474 <member name="M:log4net.Config.XmlConfiguratorAttribute.ConfigureFromFile(log4net.Repository.ILoggerRepository,System.IO.FileInfo)">
8476 Configure the specified repository using a <see cref="T:System.IO.FileInfo"/>
8478 <param name="targetRepository">The repository to configure.</param>
8479 <param name="configFile">the FileInfo pointing to the config file</param>
8481 <member name="M:log4net.Config.XmlConfiguratorAttribute.ConfigureFromUri(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
8483 Attempt to load configuration from a URI
8485 <param name="sourceAssembly">The assembly that this attribute was defined on.</param>
8486 <param name="targetRepository">The repository to configure.</param>
8488 <member name="P:log4net.Config.XmlConfiguratorAttribute.ConfigFile">
8490 Gets or sets the filename of the configuration file.
8493 The filename of the configuration file.
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"/>).
8502 The <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFile"/> takes priority over the <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFileExtension"/>.
8506 <member name="P:log4net.Config.XmlConfiguratorAttribute.ConfigFileExtension">
8508 Gets or sets the extension of the configuration file.
8511 The extension of the configuration file.
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.
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>.
8526 The <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFile"/> takes priority over the <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFileExtension"/>.
8530 <member name="P:log4net.Config.XmlConfiguratorAttribute.Watch">
8532 Gets or sets a value indicating whether to watch the configuration file.
8535 <c>true</c> if the configuration should be watched, <c>false</c> otherwise.
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.
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.
8550 Watching configuration is not supported on the SSCLI.
8554 <member name="T:log4net.Config.Log4NetConfigurationSectionHandler">
8556 Class to register for the log4net section of the configuration file
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.
8564 Example of registering the log4net section handler :
8565 <code lang="XML" escaped="true">
8568 <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
8571 log4net configuration XML goes here
8576 <author>Nicko Cadell</author>
8577 <author>Gert Driesen</author>
8579 <member name="M:log4net.Config.Log4NetConfigurationSectionHandler.#ctor">
8581 Initializes a new instance of the <see cref="T:log4net.Config.Log4NetConfigurationSectionHandler"/> class.
8585 Default constructor.
8589 <member name="M:log4net.Config.Log4NetConfigurationSectionHandler.Create(System.Object,System.Object,System.Xml.XmlNode)">
8591 Parses the configuration section.
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>
8599 Returns the <see cref="T:System.Xml.XmlNode"/> containing the configuration data,
8603 <member name="T:log4net.Config.PluginAttribute">
8605 Assembly level attribute that specifies a plugin to attach to
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.
8615 <author>Nicko Cadell</author>
8616 <author>Gert Driesen</author>
8618 <member name="T:log4net.Plugin.IPluginFactory">
8620 Interface used to create plugins.
8624 Interface used to create a plugin.
8627 <author>Nicko Cadell</author>
8628 <author>Gert Driesen</author>
8630 <member name="M:log4net.Plugin.IPluginFactory.CreatePlugin">
8632 Creates the plugin object.
8634 <returns>the new plugin instance</returns>
8637 Create and return a new plugin instance.
8641 <member name="M:log4net.Config.PluginAttribute.#ctor(System.String)">
8643 Initializes a new instance of the <see cref="T:log4net.Config.PluginAttribute"/> class
8644 with the specified type.
8646 <param name="typeName">The type name of plugin to create.</param>
8649 Create the attribute with the plugin type specified.
8652 Where possible use the constructor that takes a <see cref="T:System.Type"/>.
8656 <member name="M:log4net.Config.PluginAttribute.#ctor(System.Type)">
8658 Initializes a new instance of the <see cref="T:log4net.Config.PluginAttribute"/> class
8659 with the specified type.
8661 <param name="type">The type of plugin to create.</param>
8664 Create the attribute with the plugin type specified.
8668 <member name="M:log4net.Config.PluginAttribute.CreatePlugin">
8670 Creates the plugin object defined by this attribute.
8674 Creates the instance of the <see cref="T:log4net.Plugin.IPlugin"/> object as
8675 specified by this attribute.
8678 <returns>The plugin object.</returns>
8680 <member name="M:log4net.Config.PluginAttribute.ToString">
8682 Returns a representation of the properties of this object.
8686 Overrides base class <see cref="M:System.Object.ToString"/> method to
8687 return a representation of the properties of this object.
8690 <returns>A representation of the properties of this object</returns>
8692 <member name="P:log4net.Config.PluginAttribute.Type">
8694 Gets or sets the type for the plugin.
8697 The type for the plugin.
8701 The type for the plugin.
8705 <member name="P:log4net.Config.PluginAttribute.TypeName">
8707 Gets or sets the type name for the plugin.
8710 The type name for the plugin.
8714 The type name for the plugin.
8717 Where possible use the <see cref="P:log4net.Config.PluginAttribute.Type"/> property instead.
8721 <member name="T:log4net.Config.SecurityContextProviderAttribute">
8723 Assembly level attribute to configure the <see cref="T:log4net.Core.SecurityContextProvider"/>.
8727 This attribute may only be used at the assembly scope and can only
8728 be used once per assembly.
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"/>
8736 <author>Nicko Cadell</author>
8738 <member name="M:log4net.Config.SecurityContextProviderAttribute.#ctor(System.Type)">
8740 Construct provider attribute with type specified
8742 <param name="providerType">the type of the provider to use</param>
8745 The provider specified must subclass the <see cref="T:log4net.Core.SecurityContextProvider"/>
8750 <member name="M:log4net.Config.SecurityContextProviderAttribute.Configure(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
8752 Configures the SecurityContextProvider
8754 <param name="sourceAssembly">The assembly that this attribute was defined on.</param>
8755 <param name="targetRepository">The repository to configure.</param>
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"/>.
8763 <member name="P:log4net.Config.SecurityContextProviderAttribute.ProviderType">
8765 Gets or sets the type of the provider to use.
8768 the type of the provider to use.
8772 The provider specified must subclass the <see cref="T:log4net.Core.SecurityContextProvider"/>
8777 <member name="T:log4net.Config.XmlConfigurator">
8779 Use this class to initialize the log4net environment using an Xml tree.
8783 Configures a <see cref="T:log4net.Repository.ILoggerRepository"/> using an Xml tree.
8786 <author>Nicko Cadell</author>
8787 <author>Gert Driesen</author>
8789 <member name="M:log4net.Config.XmlConfigurator.#ctor">
8794 <member name="M:log4net.Config.XmlConfigurator.Configure">
8796 Automatically configures the log4net system based on the
8797 application's configuration settings.
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.
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.
8814 <seealso cref="T:log4net.Config.Log4NetConfigurationSectionHandler"/>
8816 <member name="M:log4net.Config.XmlConfigurator.Configure(log4net.Repository.ILoggerRepository)">
8818 Automatically configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using settings
8819 stored in the application's configuration file.
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.
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.
8836 <param name="repository">The repository to configure.</param>
8838 <member name="M:log4net.Config.XmlConfigurator.Configure(System.Xml.XmlElement)">
8840 Configures log4net using a <c>log4net</c> element
8844 Loads the log4net configuration from the XML element
8845 supplied as <paramref name="element"/>.
8848 <param name="element">The element to parse.</param>
8850 <member name="M:log4net.Config.XmlConfigurator.Configure(log4net.Repository.ILoggerRepository,System.Xml.XmlElement)">
8852 Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified XML
8856 Loads the log4net configuration from the XML element
8857 supplied as <paramref name="element"/>.
8859 <param name="repository">The repository to configure.</param>
8860 <param name="element">The element to parse.</param>
8862 <member name="M:log4net.Config.XmlConfigurator.Configure(System.IO.FileInfo)">
8864 Configures log4net using the specified configuration file.
8866 <param name="configFile">The XML file to load the configuration from.</param>
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.
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).
8879 The first element matching <c><configuration></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">
8885 <section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>
8890 The following example configures log4net using a configuration file, of which the
8891 location is stored in the application's configuration file :
8894 using log4net.Config;
8896 using System.Configuration;
8900 XmlConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"]));
8903 In the <c>.config</c> file, the path to the log4net can be specified like this :
8905 <code lang="XML" escaped="true">
8908 <add key="log4net-config-file" value="log.config"/>
8914 <member name="M:log4net.Config.XmlConfigurator.Configure(System.Uri)">
8916 Configures log4net using the specified configuration URI.
8918 <param name="configUri">A URI to load the XML configuration from.</param>
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.
8926 The <see cref="T:System.Net.WebRequest"/> must support the URI scheme specified.
8930 <member name="M:log4net.Config.XmlConfigurator.Configure(System.IO.Stream)">
8932 Configures log4net using the specified configuration data stream.
8934 <param name="configStream">A stream to load the XML configuration from.</param>
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.
8942 Note that this method will NOT close the stream parameter.
8946 <member name="M:log4net.Config.XmlConfigurator.Configure(log4net.Repository.ILoggerRepository,System.IO.FileInfo)">
8948 Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified configuration
8951 <param name="repository">The repository to configure.</param>
8952 <param name="configFile">The XML file to load the configuration from.</param>
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.
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).
8965 The first element matching <c><configuration></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">
8971 <section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>
8976 The following example configures log4net using a configuration file, of which the
8977 location is stored in the application's configuration file :
8980 using log4net.Config;
8982 using System.Configuration;
8986 XmlConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"]));
8989 In the <c>.config</c> file, the path to the log4net can be specified like this :
8991 <code lang="XML" escaped="true">
8994 <add key="log4net-config-file" value="log.config"/>
9000 <member name="M:log4net.Config.XmlConfigurator.Configure(log4net.Repository.ILoggerRepository,System.Uri)">
9002 Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified configuration
9005 <param name="repository">The repository to configure.</param>
9006 <param name="configUri">A URI to load the XML configuration from.</param>
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.
9014 The <see cref="T:System.Net.WebRequest"/> must support the URI scheme specified.
9018 <member name="M:log4net.Config.XmlConfigurator.Configure(log4net.Repository.ILoggerRepository,System.IO.Stream)">
9020 Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified configuration
9023 <param name="repository">The repository to configure.</param>
9024 <param name="configStream">The stream to load the XML configuration from.</param>
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.
9032 Note that this method will NOT close the stream parameter.
9036 <member name="M:log4net.Config.XmlConfigurator.ConfigureAndWatch(System.IO.FileInfo)">
9038 Configures log4net using the file specified, monitors the file for changes
9039 and reloads the configuration if a change is detected.
9041 <param name="configFile">The XML file to load the configuration from.</param>
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.
9049 The configuration file will be monitored using a <see cref="T:System.IO.FileSystemWatcher"/>
9050 and depends on the behavior of that class.
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)"/>.
9057 <seealso cref="M:log4net.Config.XmlConfigurator.Configure(System.IO.FileInfo)"/>
9059 <member name="M:log4net.Config.XmlConfigurator.ConfigureAndWatch(log4net.Repository.ILoggerRepository,System.IO.FileInfo)">
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
9065 <param name="repository">The repository to configure.</param>
9066 <param name="configFile">The XML file to load the configuration from.</param>
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.
9074 The configuration file will be monitored using a <see cref="T:System.IO.FileSystemWatcher"/>
9075 and depends on the behavior of that class.
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)"/>.
9082 <seealso cref="M:log4net.Config.XmlConfigurator.Configure(System.IO.FileInfo)"/>
9084 <member name="M:log4net.Config.XmlConfigurator.ConfigureFromXml(log4net.Repository.ILoggerRepository,System.Xml.XmlElement)">
9086 Configures the specified repository using a <c>log4net</c> element.
9088 <param name="repository">The hierarchy to configure.</param>
9089 <param name="element">The element to parse.</param>
9092 Loads the log4net configuration from the XML element
9093 supplied as <paramref name="element"/>.
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"/>.
9101 <member name="T:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler">
9103 Class used to watch config files.
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
9119 <member name="F:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.TimeoutMillis">
9121 The default amount of time to wait after receiving notification
9122 before reloading the config file.
9125 <member name="M:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.StartWatching(log4net.Repository.ILoggerRepository,System.IO.FileInfo)">
9127 Watch a specified config file used to configure a repository
9129 <param name="repository">The repository to configure.</param>
9130 <param name="configFile">The configuration file to watch.</param>
9133 Watch a specified config file used to configure a repository
9137 <member name="F:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.m_configFile">
9139 Holds the FileInfo used to configure the XmlConfigurator
9142 <member name="F:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.m_repository">
9144 Holds the repository being configured.
9147 <member name="F:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.m_timer">
9149 The timer used to compress the notification events.
9152 <member name="M:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.#ctor(log4net.Repository.ILoggerRepository,System.IO.FileInfo)">
9154 Initializes a new instance of the <see cref="T:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler"/> class.
9156 <param name="repository">The repository to configure.</param>
9157 <param name="configFile">The configuration file to watch.</param>
9160 Initializes a new instance of the <see cref="T:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler"/> class.
9164 <member name="M:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.ConfigureAndWatchHandler_OnChanged(System.Object,System.IO.FileSystemEventArgs)">
9166 Event handler used by <see cref="T:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler"/>.
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>
9172 This handler reloads the configuration from the file when the event is fired.
9176 <member name="M:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.ConfigureAndWatchHandler_OnRenamed(System.Object,System.IO.RenamedEventArgs)">
9178 Event handler used by <see cref="T:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler"/>.
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>
9184 This handler reloads the configuration from the file when the event is fired.
9188 <member name="M:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.OnWatchedFileChange(System.Object)">
9190 Called by the timer when the configuration has been updated.
9192 <param name="state">null</param>
9194 <member name="T:log4net.Core.CompactRepositorySelector">
9196 The implementation of the <see cref="T:log4net.Core.IRepositorySelector"/> interface suitable
9197 for use with the compact framework
9201 This <see cref="T:log4net.Core.IRepositorySelector"/> implementation is a simple
9202 mapping between repository name and <see cref="T:log4net.Repository.ILoggerRepository"/>
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.
9211 <author>Nicko Cadell</author>
9213 <member name="T:log4net.Core.IRepositorySelector">
9215 Interface used by the <see cref="T:log4net.LogManager"/> to select the <see cref="T:log4net.Repository.ILoggerRepository"/>.
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.
9224 <author>Nicko Cadell</author>
9225 <author>Gert Driesen</author>
9227 <member name="M:log4net.Core.IRepositorySelector.GetRepository(System.Reflection.Assembly)">
9229 Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified assembly.
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>
9235 Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified assembly.
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
9246 <member name="M:log4net.Core.IRepositorySelector.GetRepository(System.String)">
9248 Gets the named <see cref="T:log4net.Repository.ILoggerRepository"/>.
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>
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)"/>.
9257 <member name="M:log4net.Core.IRepositorySelector.CreateRepository(System.Reflection.Assembly,System.Type)">
9259 Creates a new repository for the assembly specified.
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>
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.
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
9277 <member name="M:log4net.Core.IRepositorySelector.CreateRepository(System.String,System.Type)">
9279 Creates a new repository with the name specified.
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>
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.
9292 <member name="M:log4net.Core.IRepositorySelector.ExistsRepository(System.String)">
9294 Test if a named repository exists
9296 <param name="repositoryName">the named repository to check</param>
9297 <returns><c>true</c> if the repository exists</returns>
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
9306 <member name="M:log4net.Core.IRepositorySelector.GetAllRepositories">
9308 Gets an array of all currently defined repositories.
9311 An array of the <see cref="T:log4net.Repository.ILoggerRepository"/> instances created by
9312 this <see cref="T:log4net.Core.IRepositorySelector"/>.</returns>
9315 Gets an array of all of the repositories created by this selector.
9319 <member name="E:log4net.Core.IRepositorySelector.LoggerRepositoryCreatedEvent">
9321 Event to notify that a logger repository has been created.
9324 Event to notify that a logger repository has been created.
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"/>.
9335 <member name="M:log4net.Core.CompactRepositorySelector.#ctor(System.Type)">
9337 Create a new repository selector
9339 <param name="defaultRepositoryType">the type of the repositories to create, must implement <see cref="T:log4net.Repository.ILoggerRepository"/></param>
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"/>.
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>
9350 <member name="M:log4net.Core.CompactRepositorySelector.GetRepository(System.Reflection.Assembly)">
9352 Get the <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified assembly
9354 <param name="assembly">not used</param>
9355 <returns>The default <see cref="T:log4net.Repository.ILoggerRepository"/></returns>
9358 The <paramref name="assembly"/> argument is not used. This selector does not create a
9359 separate repository for each assembly.
9362 As a named repository is not specified the default repository is
9363 returned. The default repository is named <c>log4net-default-repository</c>.
9367 <member name="M:log4net.Core.CompactRepositorySelector.GetRepository(System.String)">
9369 Get the named <see cref="T:log4net.Repository.ILoggerRepository"/>
9371 <param name="repositoryName">the name of the repository to lookup</param>
9372 <returns>The named <see cref="T:log4net.Repository.ILoggerRepository"/></returns>
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.
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>
9384 <member name="M:log4net.Core.CompactRepositorySelector.CreateRepository(System.Reflection.Assembly,System.Type)">
9386 Create a new repository for the assembly specified
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>
9393 The <paramref name="assembly"/> argument is not used. This selector does not create a
9394 separate repository for each assembly.
9397 If the <paramref name="repositoryType"/> is <c>null</c> then the
9398 default repository type specified to the constructor is used.
9401 As a named repository is not specified the default repository is
9402 returned. The default repository is named <c>log4net-default-repository</c>.
9406 <member name="M:log4net.Core.CompactRepositorySelector.CreateRepository(System.String,System.Type)">
9408 Create a new repository for the repository specified
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>
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.
9421 If the named repository already exists an exception will be thrown.
9424 If <paramref name="repositoryType"/> is <c>null</c> then the default
9425 repository type specified to the constructor is used.
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>
9431 <member name="M:log4net.Core.CompactRepositorySelector.ExistsRepository(System.String)">
9433 Test if a named repository exists
9435 <param name="repositoryName">the named repository to check</param>
9436 <returns><c>true</c> if the repository exists</returns>
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
9445 <member name="M:log4net.Core.CompactRepositorySelector.GetAllRepositories">
9447 Gets a list of <see cref="T:log4net.Repository.ILoggerRepository"/> objects
9449 <returns>an array of all known <see cref="T:log4net.Repository.ILoggerRepository"/> objects</returns>
9452 Gets an array of all of the repositories created by this selector.
9456 <member name="M:log4net.Core.CompactRepositorySelector.OnLoggerRepositoryCreatedEvent(log4net.Repository.ILoggerRepository)">
9458 Notify the registered listeners that the repository has been created
9460 <param name="repository">The repository that has been created</param>
9463 Raises the <event cref="E:log4net.Core.CompactRepositorySelector.LoggerRepositoryCreatedEvent">LoggerRepositoryCreatedEvent</event>
9468 <member name="E:log4net.Core.CompactRepositorySelector.LoggerRepositoryCreatedEvent">
9470 Event to notify that a logger repository has been created.
9473 Event to notify that a logger repository has been created.
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"/>.
9484 <member name="T:log4net.Core.DefaultRepositorySelector">
9486 The default implementation of the <see cref="T:log4net.Core.IRepositorySelector"/> interface.
9490 Uses attributes defined on the calling assembly to determine how to
9491 configure the hierarchy for the repository.
9494 <author>Nicko Cadell</author>
9495 <author>Gert Driesen</author>
9497 <member name="M:log4net.Core.DefaultRepositorySelector.#ctor(System.Type)">
9499 Creates a new repository selector.
9501 <param name="defaultRepositoryType">The type of the repositories to create, must implement <see cref="T:log4net.Repository.ILoggerRepository"/></param>
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"/>.
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>
9512 <member name="M:log4net.Core.DefaultRepositorySelector.GetRepository(System.Reflection.Assembly)">
9514 Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified assembly.
9516 <param name="repositoryAssembly">The assembly use to lookup the <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
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"/>.
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.
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"/>.
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>
9537 <member name="M:log4net.Core.DefaultRepositorySelector.GetRepository(System.String)">
9539 Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified repository.
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>
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.
9550 Use <see cref="M:log4net.Core.DefaultRepositorySelector.CreateRepository(System.String,System.Type)"/> to create a repository.
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>
9556 <member name="M:log4net.Core.DefaultRepositorySelector.CreateRepository(System.Reflection.Assembly,System.Type)">
9558 Create a new repository for the assembly specified
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>
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.
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.
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"/>.
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"/>.
9592 <exception cref="T:System.ArgumentNullException"><paramref name="repositoryAssembly"/> is <see langword="null"/>.</exception>
9594 <member name="M:log4net.Core.DefaultRepositorySelector.CreateRepository(System.Reflection.Assembly,System.Type,System.String,System.Boolean)">
9596 Creates a new repository for the assembly specified.
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>
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.
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.
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"/>.
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"/>.
9632 <exception cref="T:System.ArgumentNullException"><paramref name="repositoryAssembly"/> is <see langword="null"/>.</exception>
9634 <member name="M:log4net.Core.DefaultRepositorySelector.CreateRepository(System.String,System.Type)">
9636 Creates a new repository for the specified repository.
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>
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.
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>
9652 <member name="M:log4net.Core.DefaultRepositorySelector.ExistsRepository(System.String)">
9654 Test if a named repository exists
9656 <param name="repositoryName">the named repository to check</param>
9657 <returns><c>true</c> if the repository exists</returns>
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
9666 <member name="M:log4net.Core.DefaultRepositorySelector.GetAllRepositories">
9668 Gets a list of <see cref="T:log4net.Repository.ILoggerRepository"/> objects
9670 <returns>an array of all known <see cref="T:log4net.Repository.ILoggerRepository"/> objects</returns>
9673 Gets an array of all of the repositories created by this selector.
9677 <member name="M:log4net.Core.DefaultRepositorySelector.AliasRepository(System.String,log4net.Repository.ILoggerRepository)">
9679 Aliases a repository to an existing repository.
9681 <param name="repositoryAlias">The repository to alias.</param>
9682 <param name="repositoryTarget">The repository that the repository is aliased to.</param>
9685 The repository specified will be aliased to the repository when created.
9686 The repository must not already exist.
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.
9693 <exception cref="T:System.ArgumentNullException">
9694 <para><paramref name="repositoryAlias"/> is <see langword="null"/>.</para>
9696 <para><paramref name="repositoryTarget"/> is <see langword="null"/>.</para>
9699 <member name="M:log4net.Core.DefaultRepositorySelector.OnLoggerRepositoryCreatedEvent(log4net.Repository.ILoggerRepository)">
9701 Notifies the registered listeners that the repository has been created.
9703 <param name="repository">The repository that has been created.</param>
9706 Raises the <see cref="E:log4net.Core.DefaultRepositorySelector.LoggerRepositoryCreatedEvent"/> event.
9710 <member name="M:log4net.Core.DefaultRepositorySelector.GetInfoForAssembly(System.Reflection.Assembly,System.String@,System.Type@)">
9712 Gets the repository name and repository type for the specified assembly.
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>
9719 <member name="M:log4net.Core.DefaultRepositorySelector.ConfigureRepository(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
9721 Configures the repository using information from the assembly.
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>
9729 <para><paramref name="repository"/> is <see langword="null"/>.</para>
9732 <member name="M:log4net.Core.DefaultRepositorySelector.LoadPlugins(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
9734 Loads the attribute defined plugins on the assembly.
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>
9741 <para><paramref name="repository"/> is <see langword="null"/>.</para>
9744 <member name="M:log4net.Core.DefaultRepositorySelector.LoadAliases(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
9746 Loads the attribute defined aliases on the assembly.
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>
9753 <para><paramref name="repository"/> is <see langword="null"/>.</para>
9756 <member name="E:log4net.Core.DefaultRepositorySelector.LoggerRepositoryCreatedEvent">
9758 Event to notify that a logger repository has been created.
9761 Event to notify that a logger repository has been created.
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"/>.
9772 <member name="T:log4net.Core.ErrorCode">
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.
9778 Values passed to the <see cref="M:log4net.Core.IErrorHandler.Error(System.String,System.Exception,log4net.Core.ErrorCode)"/> method.
9781 <author>Nicko Cadell</author>
9783 <member name="F:log4net.Core.ErrorCode.GenericFailure">
9788 <member name="F:log4net.Core.ErrorCode.WriteFailure">
9790 Error while writing output
9793 <member name="F:log4net.Core.ErrorCode.FlushFailure">
9795 Failed to flush file
9798 <member name="F:log4net.Core.ErrorCode.CloseFailure">
9800 Failed to close file
9803 <member name="F:log4net.Core.ErrorCode.FileOpenFailure">
9805 Unable to open output file
9808 <member name="F:log4net.Core.ErrorCode.MissingLayout">
9813 <member name="F:log4net.Core.ErrorCode.AddressParseFailure">
9815 Failed to parse address
9818 <member name="T:log4net.Core.IErrorHandler">
9820 Appenders may delegate their error handling to an <see cref="T:log4net.Core.IErrorHandler"/>.
9824 Error handling is a particularly tedious to get right because by
9825 definition errors are hard to predict and to reproduce.
9828 <author>Nicko Cadell</author>
9829 <author>Gert Driesen</author>
9831 <member name="M:log4net.Core.IErrorHandler.Error(System.String,System.Exception,log4net.Core.ErrorCode)">
9833 Handles the error and information about the error condition is passed as
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>
9841 Handles the error and information about the error condition is passed as
9846 <member name="M:log4net.Core.IErrorHandler.Error(System.String,System.Exception)">
9848 Prints the error message passed as a parameter.
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>
9854 See <see cref="M:log4net.Core.IErrorHandler.Error(System.String,System.Exception,log4net.Core.ErrorCode)"/>.
9858 <member name="M:log4net.Core.IErrorHandler.Error(System.String)">
9860 Prints the error message passed as a parameter.
9862 <param name="message">The message associated with the error.</param>
9865 See <see cref="M:log4net.Core.IErrorHandler.Error(System.String,System.Exception,log4net.Core.ErrorCode)"/>.
9869 <member name="T:log4net.Core.IFixingRequired">
9871 Interface for objects that require fixing.
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.
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.
9888 <author>Nicko Cadell</author>
9890 <member name="M:log4net.Core.IFixingRequired.GetFixedObject">
9892 Get a portable version of this object
9894 <returns>the portable instance of this object</returns>
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.
9903 <member name="T:log4net.Core.ILogger">
9905 Interface that all loggers implement
9909 This interface supports logging events and testing if a level
9910 is enabled for logging.
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.
9918 <author>Nicko Cadell</author>
9919 <author>Gert Driesen</author>
9921 <member name="M:log4net.Core.ILogger.Log(System.Type,log4net.Core.Level,System.Object,System.Exception)">
9923 This generic form is intended to be used by wrappers.
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>
9932 Generates a logging event for the specified <paramref name="level"/> using
9933 the <paramref name="message"/> and <paramref name="exception"/>.
9937 <member name="M:log4net.Core.ILogger.Log(log4net.Core.LoggingEvent)">
9939 This is the most generic printing method that is intended to be used
9942 <param name="logEvent">The event being logged.</param>
9945 Logs the specified logging event through this logger.
9949 <member name="M:log4net.Core.ILogger.IsEnabledFor(log4net.Core.Level)">
9951 Checks if this logger is enabled for a given <see cref="T:log4net.Core.Level"/> passed as parameter.
9953 <param name="level">The level to check.</param>
9955 <c>true</c> if this logger is enabled for <c>level</c>, otherwise <c>false</c>.
9959 Test if this logger is going to log events of the specified <paramref name="level"/>.
9963 <member name="P:log4net.Core.ILogger.Name">
9965 Gets the name of the logger.
9968 The name of the logger.
9972 The name of this logger
9976 <member name="P:log4net.Core.ILogger.Repository">
9978 Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> where this
9979 <c>Logger</c> instance is attached to.
9982 The <see cref="T:log4net.Repository.ILoggerRepository"/> that this logger belongs to.
9986 Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> where this
9987 <c>Logger</c> instance is attached to.
9991 <member name="T:log4net.Core.ILoggerWrapper">
9993 Base interface for all wrappers
9997 Base interface for all wrappers.
10000 All wrappers must implement this interface.
10003 <author>Nicko Cadell</author>
10005 <member name="P:log4net.Core.ILoggerWrapper.Logger">
10007 Get the implementation behind this wrapper object.
10010 The <see cref="T:log4net.Core.ILogger"/> object that in implementing this object.
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
10022 <member name="T:log4net.Core.LoggerRepositoryCreationEventHandler">
10024 Delegate used to handle logger repository creation event notifications
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>
10031 Delegate used to handle logger repository creation event notifications.
10035 <member name="T:log4net.Core.LoggerRepositoryCreationEventArgs">
10037 Provides data for the <see cref="E:log4net.Core.IRepositorySelector.LoggerRepositoryCreatedEvent"/> event.
10041 A <see cref="E:log4net.Core.IRepositorySelector.LoggerRepositoryCreatedEvent"/>
10042 event is raised every time a <see cref="T:log4net.Repository.ILoggerRepository"/> is created.
10046 <member name="F:log4net.Core.LoggerRepositoryCreationEventArgs.m_repository">
10048 The <see cref="T:log4net.Repository.ILoggerRepository"/> created
10051 <member name="M:log4net.Core.LoggerRepositoryCreationEventArgs.#ctor(log4net.Repository.ILoggerRepository)">
10053 Construct instance using <see cref="T:log4net.Repository.ILoggerRepository"/> specified
10055 <param name="repository">the <see cref="T:log4net.Repository.ILoggerRepository"/> that has been created</param>
10058 Construct instance using <see cref="T:log4net.Repository.ILoggerRepository"/> specified
10062 <member name="P:log4net.Core.LoggerRepositoryCreationEventArgs.LoggerRepository">
10064 The <see cref="T:log4net.Repository.ILoggerRepository"/> that has been created
10067 The <see cref="T:log4net.Repository.ILoggerRepository"/> that has been created
10071 The <see cref="T:log4net.Repository.ILoggerRepository"/> that has been created
10075 <member name="T:log4net.Core.ITriggeringEventEvaluator">
10077 Test if an <see cref="T:log4net.Core.LoggingEvent"/> triggers an action
10081 Implementations of this interface allow certain appenders to decide
10082 when to perform an appender specific action.
10085 The action or behavior triggered is defined by the implementation.
10088 <author>Nicko Cadell</author>
10090 <member name="M:log4net.Core.ITriggeringEventEvaluator.IsTriggeringEvent(log4net.Core.LoggingEvent)">
10092 Test if this event triggers the action
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>
10098 Return <c>true</c> if this event triggers the action
10102 <member name="T:log4net.Core.Level">
10104 Defines the default set of levels recognized by the system.
10108 Each <see cref="T:log4net.Core.LoggingEvent"/> has an associated <see cref="T:log4net.Core.Level"/>.
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.
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"/>.
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.
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.
10133 Some of the predefined levels recognized by the system are:
10135 <list type="bullet">
10137 <description><see cref="F:log4net.Core.Level.Off"/>.</description>
10140 <description><see cref="F:log4net.Core.Level.Fatal"/>.</description>
10143 <description><see cref="F:log4net.Core.Level.Error"/>.</description>
10146 <description><see cref="F:log4net.Core.Level.Warn"/>.</description>
10149 <description><see cref="F:log4net.Core.Level.Info"/>.</description>
10152 <description><see cref="F:log4net.Core.Level.Debug"/>.</description>
10155 <description><see cref="F:log4net.Core.Level.All"/>.</description>
10159 <author>Nicko Cadell</author>
10160 <author>Gert Driesen</author>
10162 <member name="M:log4net.Core.Level.#ctor(System.Int32,System.String,System.String)">
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>
10171 Initializes a new instance of the <see cref="T:log4net.Core.Level"/> class with
10172 the specified level name and value.
10176 <member name="M:log4net.Core.Level.#ctor(System.Int32,System.String)">
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>
10184 Initializes a new instance of the <see cref="T:log4net.Core.Level"/> class with
10185 the specified level name and value.
10189 <member name="M:log4net.Core.Level.ToString">
10191 Returns the <see cref="T:System.String"/> representation of the current
10192 <see cref="T:log4net.Core.Level"/>.
10195 A <see cref="T:System.String"/> representation of the current <see cref="T:log4net.Core.Level"/>.
10199 Returns the level <see cref="P:log4net.Core.Level.Name"/>.
10203 <member name="M:log4net.Core.Level.Equals(System.Object)">
10207 <param name="o">The object to compare against.</param>
10208 <returns><c>true</c> if the objects are equal.</returns>
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"/>
10217 <member name="M:log4net.Core.Level.GetHashCode">
10219 Returns a hash code
10221 <returns>A hash code for the current <see cref="T:log4net.Core.Level"/>.</returns>
10224 Returns a hash code suitable for use in hashing algorithms and data
10225 structures like a hash table.
10228 Returns the hash code of the level <see cref="P:log4net.Core.Level.Value"/>.
10232 <member name="M:log4net.Core.Level.CompareTo(System.Object)">
10234 Compares this instance to a specified object and returns an
10235 indication of their relative values.
10237 <param name="r">A <see cref="T:log4net.Core.Level"/> instance or <see langword="null"/> to compare with this instance.</param>
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">
10244 <description>Meaning</description>
10247 <term>Less than zero</term>
10248 <description>This instance is less than <paramref name="r"/>.</description>
10252 <description>This instance is equal to <paramref name="r"/>.</description>
10255 <term>Greater than zero</term>
10257 <para>This instance is greater than <paramref name="r"/>.</para>
10259 <para><paramref name="r"/> is <see langword="null"/>.</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.
10270 <exception cref="T:System.ArgumentException"><paramref name="r"/> is not a <see cref="T:log4net.Core.Level"/>.</exception>
10272 <member name="M:log4net.Core.Level.op_GreaterThan(log4net.Core.Level,log4net.Core.Level)">
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"/>.
10277 <param name="l">A <see cref="T:log4net.Core.Level"/></param>
10278 <param name="r">A <see cref="T:log4net.Core.Level"/></param>
10280 <c>true</c> if <paramref name="l"/> is greater than
10281 <paramref name="r"/>; otherwise, <c>false</c>.
10285 Compares two levels.
10289 <member name="M:log4net.Core.Level.op_LessThan(log4net.Core.Level,log4net.Core.Level)">
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"/>.
10294 <param name="l">A <see cref="T:log4net.Core.Level"/></param>
10295 <param name="r">A <see cref="T:log4net.Core.Level"/></param>
10297 <c>true</c> if <paramref name="l"/> is less than
10298 <paramref name="r"/>; otherwise, <c>false</c>.
10302 Compares two levels.
10306 <member name="M:log4net.Core.Level.op_GreaterThanOrEqual(log4net.Core.Level,log4net.Core.Level)">
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"/>.
10311 <param name="l">A <see cref="T:log4net.Core.Level"/></param>
10312 <param name="r">A <see cref="T:log4net.Core.Level"/></param>
10314 <c>true</c> if <paramref name="l"/> is greater than or equal to
10315 <paramref name="r"/>; otherwise, <c>false</c>.
10319 Compares two levels.
10323 <member name="M:log4net.Core.Level.op_LessThanOrEqual(log4net.Core.Level,log4net.Core.Level)">
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"/>.
10328 <param name="l">A <see cref="T:log4net.Core.Level"/></param>
10329 <param name="r">A <see cref="T:log4net.Core.Level"/></param>
10331 <c>true</c> if <paramref name="l"/> is less than or equal to
10332 <paramref name="r"/>; otherwise, <c>false</c>.
10336 Compares two levels.
10340 <member name="M:log4net.Core.Level.op_Equality(log4net.Core.Level,log4net.Core.Level)">
10342 Returns a value indicating whether two specified <see cref="T:log4net.Core.Level"/>
10343 objects have the same value.
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>
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>.
10353 Compares two levels.
10357 <member name="M:log4net.Core.Level.op_Inequality(log4net.Core.Level,log4net.Core.Level)">
10359 Returns a value indicating whether two specified <see cref="T:log4net.Core.Level"/>
10360 objects have different values.
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>
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>.
10370 Compares two levels.
10374 <member name="M:log4net.Core.Level.Compare(log4net.Core.Level,log4net.Core.Level)">
10376 Compares two specified <see cref="T:log4net.Core.Level"/> instances.
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>
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">
10386 <description>Meaning</description>
10389 <term>Less than zero</term>
10390 <description><paramref name="l"/> is less than <paramref name="r"/>.</description>
10394 <description><paramref name="l"/> is equal to <paramref name="r"/>.</description>
10397 <term>Greater than zero</term>
10398 <description><paramref name="l"/> is greater than <paramref name="r"/>.</description>
10404 Compares two levels.
10408 <member name="F:log4net.Core.Level.Off">
10410 The <see cref="F:log4net.Core.Level.Off"/> level designates a higher level than all the rest.
10413 <member name="F:log4net.Core.Level.Emergency">
10415 The <see cref="F:log4net.Core.Level.Emergency"/> level designates very severe error events.
10416 System unusable, emergencies.
10419 <member name="F:log4net.Core.Level.Fatal">
10421 The <see cref="F:log4net.Core.Level.Fatal"/> level designates very severe error events
10422 that will presumably lead the application to abort.
10425 <member name="F:log4net.Core.Level.Alert">
10427 The <see cref="F:log4net.Core.Level.Alert"/> level designates very severe error events.
10428 Take immediate action, alerts.
10431 <member name="F:log4net.Core.Level.Critical">
10433 The <see cref="F:log4net.Core.Level.Critical"/> level designates very severe error events.
10434 Critical condition, critical.
10437 <member name="F:log4net.Core.Level.Severe">
10439 The <see cref="F:log4net.Core.Level.Severe"/> level designates very severe error events.
10442 <member name="F:log4net.Core.Level.Error">
10444 The <see cref="F:log4net.Core.Level.Error"/> level designates error events that might
10445 still allow the application to continue running.
10448 <member name="F:log4net.Core.Level.Warn">
10450 The <see cref="F:log4net.Core.Level.Warn"/> level designates potentially harmful
10454 <member name="F:log4net.Core.Level.Notice">
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.
10460 <member name="F:log4net.Core.Level.Info">
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.
10466 <member name="F:log4net.Core.Level.Debug">
10468 The <see cref="F:log4net.Core.Level.Debug"/> level designates fine-grained informational
10469 events that are most useful to debug an application.
10472 <member name="F:log4net.Core.Level.Fine">
10474 The <see cref="F:log4net.Core.Level.Fine"/> level designates fine-grained informational
10475 events that are most useful to debug an application.
10478 <member name="F:log4net.Core.Level.Trace">
10480 The <see cref="F:log4net.Core.Level.Trace"/> level designates fine-grained informational
10481 events that are most useful to debug an application.
10484 <member name="F:log4net.Core.Level.Finer">
10486 The <see cref="F:log4net.Core.Level.Finer"/> level designates fine-grained informational
10487 events that are most useful to debug an application.
10490 <member name="F:log4net.Core.Level.Verbose">
10492 The <see cref="F:log4net.Core.Level.Verbose"/> level designates fine-grained informational
10493 events that are most useful to debug an application.
10496 <member name="F:log4net.Core.Level.Finest">
10498 The <see cref="F:log4net.Core.Level.Finest"/> level designates fine-grained informational
10499 events that are most useful to debug an application.
10502 <member name="F:log4net.Core.Level.All">
10504 The <see cref="F:log4net.Core.Level.All"/> level designates the lowest level possible.
10507 <member name="P:log4net.Core.Level.Name">
10509 Gets the name of this level.
10512 The name of this level.
10516 Gets the name of this level.
10520 <member name="P:log4net.Core.Level.Value">
10522 Gets the value of this level.
10525 The value of this level.
10529 Gets the value of this level.
10533 <member name="P:log4net.Core.Level.DisplayName">
10535 Gets the display name of this level.
10538 The display name of this level.
10542 Gets the display name of this level.
10546 <member name="T:log4net.Core.LevelCollection">
10548 A strongly-typed collection of <see cref="T:log4net.Core.Level"/> objects.
10550 <author>Nicko Cadell</author>
10552 <member name="M:log4net.Core.LevelCollection.ReadOnly(log4net.Core.LevelCollection)">
10554 Creates a read-only wrapper for a <c>LevelCollection</c> instance.
10556 <param name="list">list to create a readonly wrapper arround</param>
10558 A <c>LevelCollection</c> wrapper that is read-only.
10561 <member name="M:log4net.Core.LevelCollection.#ctor">
10563 Initializes a new instance of the <c>LevelCollection</c> class
10564 that is empty and has the default initial capacity.
10567 <member name="M:log4net.Core.LevelCollection.#ctor(System.Int32)">
10569 Initializes a new instance of the <c>LevelCollection</c> class
10570 that has the specified initial capacity.
10572 <param name="capacity">
10573 The number of elements that the new <c>LevelCollection</c> is initially capable of storing.
10576 <member name="M:log4net.Core.LevelCollection.#ctor(log4net.Core.LevelCollection)">
10578 Initializes a new instance of the <c>LevelCollection</c> class
10579 that contains elements copied from the specified <c>LevelCollection</c>.
10581 <param name="c">The <c>LevelCollection</c> whose elements are copied to the new collection.</param>
10583 <member name="M:log4net.Core.LevelCollection.#ctor(log4net.Core.Level[])">
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.
10588 <param name="a">The <see cref="T:log4net.Core.Level"/> array whose elements are copied to the new list.</param>
10590 <member name="M:log4net.Core.LevelCollection.#ctor(System.Collections.ICollection)">
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.
10595 <param name="col">The <see cref="T:log4net.Core.Level"/> collection whose elements are copied to the new list.</param>
10597 <member name="M:log4net.Core.LevelCollection.#ctor(log4net.Core.LevelCollection.Tag)">
10599 Allow subclasses to avoid our default constructors
10601 <param name="tag"></param>
10603 <member name="M:log4net.Core.LevelCollection.CopyTo(log4net.Core.Level[])">
10605 Copies the entire <c>LevelCollection</c> to a one-dimensional
10606 <see cref="T:log4net.Core.Level"/> array.
10608 <param name="array">The one-dimensional <see cref="T:log4net.Core.Level"/> array to copy to.</param>
10610 <member name="M:log4net.Core.LevelCollection.CopyTo(log4net.Core.Level[],System.Int32)">
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.
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>
10618 <member name="M:log4net.Core.LevelCollection.Add(log4net.Core.Level)">
10620 Adds a <see cref="T:log4net.Core.Level"/> to the end of the <c>LevelCollection</c>.
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>
10625 <member name="M:log4net.Core.LevelCollection.Clear">
10627 Removes all elements from the <c>LevelCollection</c>.
10630 <member name="M:log4net.Core.LevelCollection.Clone">
10632 Creates a shallow copy of the <see cref="T:log4net.Core.LevelCollection"/>.
10634 <returns>A new <see cref="T:log4net.Core.LevelCollection"/> with a shallow copy of the collection data.</returns>
10636 <member name="M:log4net.Core.LevelCollection.Contains(log4net.Core.Level)">
10638 Determines whether a given <see cref="T:log4net.Core.Level"/> is in the <c>LevelCollection</c>.
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>
10643 <member name="M:log4net.Core.LevelCollection.IndexOf(log4net.Core.Level)">
10645 Returns the zero-based index of the first occurrence of a <see cref="T:log4net.Core.Level"/>
10646 in the <c>LevelCollection</c>.
10648 <param name="item">The <see cref="T:log4net.Core.Level"/> to locate in the <c>LevelCollection</c>.</param>
10650 The zero-based index of the first occurrence of <paramref name="item"/>
10651 in the entire <c>LevelCollection</c>, if found; otherwise, -1.
10654 <member name="M:log4net.Core.LevelCollection.Insert(System.Int32,log4net.Core.Level)">
10656 Inserts an element into the <c>LevelCollection</c> at the specified index.
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>
10663 <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Core.LevelCollection.Count"/>.</para>
10666 <member name="M:log4net.Core.LevelCollection.Remove(log4net.Core.Level)">
10668 Removes the first occurrence of a specific <see cref="T:log4net.Core.Level"/> from the <c>LevelCollection</c>.
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>.
10675 <member name="M:log4net.Core.LevelCollection.RemoveAt(System.Int32)">
10677 Removes the element at the specified index of the <c>LevelCollection</c>.
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>
10683 <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Core.LevelCollection.Count"/>.</para>
10686 <member name="M:log4net.Core.LevelCollection.GetEnumerator">
10688 Returns an enumerator that can iterate through the <c>LevelCollection</c>.
10690 <returns>An <see cref="T:log4net.Core.LevelCollection.Enumerator"/> for the entire <c>LevelCollection</c>.</returns>
10692 <member name="M:log4net.Core.LevelCollection.AddRange(log4net.Core.LevelCollection)">
10694 Adds the elements of another <c>LevelCollection</c> to the current <c>LevelCollection</c>.
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>
10699 <member name="M:log4net.Core.LevelCollection.AddRange(log4net.Core.Level[])">
10701 Adds the elements of a <see cref="T:log4net.Core.Level"/> array to the current <c>LevelCollection</c>.
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>
10706 <member name="M:log4net.Core.LevelCollection.AddRange(System.Collections.ICollection)">
10708 Adds the elements of a <see cref="T:log4net.Core.Level"/> collection to the current <c>LevelCollection</c>.
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>
10713 <member name="M:log4net.Core.LevelCollection.TrimToSize">
10715 Sets the capacity to the actual number of elements.
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>
10722 <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Core.LevelCollection.Count"/>.</para>
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>
10729 <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Core.LevelCollection.Count"/>.</para>
10732 <member name="P:log4net.Core.LevelCollection.Count">
10734 Gets the number of elements actually contained in the <c>LevelCollection</c>.
10737 <member name="P:log4net.Core.LevelCollection.IsSynchronized">
10739 Gets a value indicating whether access to the collection is synchronized (thread-safe).
10741 <value>true if access to the ICollection is synchronized (thread-safe); otherwise, false.</value>
10743 <member name="P:log4net.Core.LevelCollection.SyncRoot">
10745 Gets an object that can be used to synchronize access to the collection.
10748 <member name="P:log4net.Core.LevelCollection.Item(System.Int32)">
10750 Gets or sets the <see cref="T:log4net.Core.Level"/> at the specified index.
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>
10756 <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Core.LevelCollection.Count"/>.</para>
10759 <member name="P:log4net.Core.LevelCollection.IsFixedSize">
10761 Gets a value indicating whether the collection has a fixed size.
10763 <value>true if the collection has a fixed size; otherwise, false. The default is false</value>
10765 <member name="P:log4net.Core.LevelCollection.IsReadOnly">
10767 Gets a value indicating whether the IList is read-only.
10769 <value>true if the collection is read-only; otherwise, false. The default is false</value>
10771 <member name="P:log4net.Core.LevelCollection.Capacity">
10773 Gets or sets the number of elements the <c>LevelCollection</c> can contain.
10776 <member name="T:log4net.Core.LevelCollection.ILevelCollectionEnumerator">
10778 Supports type-safe iteration over a <see cref="T:log4net.Core.LevelCollection"/>.
10781 <member name="M:log4net.Core.LevelCollection.ILevelCollectionEnumerator.MoveNext">
10783 Advances the enumerator to the next element in the collection.
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.
10789 <exception cref="T:System.InvalidOperationException">
10790 The collection was modified after the enumerator was created.
10793 <member name="M:log4net.Core.LevelCollection.ILevelCollectionEnumerator.Reset">
10795 Sets the enumerator to its initial position, before the first element in the collection.
10798 <member name="P:log4net.Core.LevelCollection.ILevelCollectionEnumerator.Current">
10800 Gets the current element in the collection.
10803 <member name="T:log4net.Core.LevelCollection.Tag">
10805 Type visible only to our subclasses
10806 Used to access protected constructor
10809 <member name="F:log4net.Core.LevelCollection.Tag.Default">
10814 <member name="T:log4net.Core.LevelCollection.Enumerator">
10816 Supports simple iteration over a <see cref="T:log4net.Core.LevelCollection"/>.
10819 <member name="M:log4net.Core.LevelCollection.Enumerator.#ctor(log4net.Core.LevelCollection)">
10821 Initializes a new instance of the <c>Enumerator</c> class.
10823 <param name="tc"></param>
10825 <member name="M:log4net.Core.LevelCollection.Enumerator.MoveNext">
10827 Advances the enumerator to the next element in the collection.
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.
10833 <exception cref="T:System.InvalidOperationException">
10834 The collection was modified after the enumerator was created.
10837 <member name="M:log4net.Core.LevelCollection.Enumerator.Reset">
10839 Sets the enumerator to its initial position, before the first element in the collection.
10842 <member name="P:log4net.Core.LevelCollection.Enumerator.Current">
10844 Gets the current element in the collection.
10847 <member name="T:log4net.Core.LevelEvaluator">
10849 An evaluator that triggers at a threshold level
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"/>
10859 <author>Nicko Cadell</author>
10861 <member name="F:log4net.Core.LevelEvaluator.m_threshold">
10863 The threshold for triggering
10866 <member name="M:log4net.Core.LevelEvaluator.#ctor">
10868 Create a new evaluator using the <see cref="F:log4net.Core.Level.Off"/> threshold.
10872 Create a new evaluator using the <see cref="F:log4net.Core.Level.Off"/> threshold.
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"/>
10882 <member name="M:log4net.Core.LevelEvaluator.#ctor(log4net.Core.Level)">
10884 Create a new evaluator using the specified <see cref="T:log4net.Core.Level"/> threshold.
10886 <param name="threshold">the threshold to trigger at</param>
10889 Create a new evaluator using the specified <see cref="T:log4net.Core.Level"/> threshold.
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"/>
10899 <member name="M:log4net.Core.LevelEvaluator.IsTriggeringEvent(log4net.Core.LoggingEvent)">
10901 Is this <paramref name="loggingEvent"/> the triggering event?
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>
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"/>
10916 <member name="P:log4net.Core.LevelEvaluator.Threshold">
10918 the threshold to trigger at
10921 The <see cref="T:log4net.Core.Level"/> that will cause this evaluator to trigger
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"/>
10932 <member name="T:log4net.Core.LevelMap">
10934 Mapping between string name and Level object
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.
10943 <author>Nicko Cadell</author>
10945 <member name="F:log4net.Core.LevelMap.m_mapName2Level">
10947 Mapping from level name to Level object. The
10948 level name is case insensitive
10951 <member name="M:log4net.Core.LevelMap.#ctor">
10953 Construct the level map
10957 Construct the level map.
10961 <member name="M:log4net.Core.LevelMap.Clear">
10963 Clear the internal maps of all levels
10967 Clear the internal maps of all levels
10971 <member name="M:log4net.Core.LevelMap.Add(System.String,System.Int32)">
10973 Create a new Level and add it to the map
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>
10979 Create a new Level and add it to the map
10982 <seealso cref="M:log4net.Core.LevelMap.Add(System.String,System.Int32,System.String)"/>
10984 <member name="M:log4net.Core.LevelMap.Add(System.String,System.Int32,System.String)">
10986 Create a new Level and add it to the map
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>
10993 Create a new Level and add it to the map
10997 <member name="M:log4net.Core.LevelMap.Add(log4net.Core.Level)">
10999 Add a Level to the map
11001 <param name="level">the Level to add</param>
11004 Add a Level to the map
11008 <member name="M:log4net.Core.LevelMap.LookupWithDefault(log4net.Core.Level)">
11010 Lookup a named level from the map
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>
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"/>
11022 If no level with the specified name is found then the
11023 <paramref name="defaultLevel"/> argument is added to the level map
11028 <member name="P:log4net.Core.LevelMap.Item(System.String)">
11030 Lookup a <see cref="T:log4net.Core.Level"/> by name
11032 <param name="name">The name of the Level to lookup</param>
11033 <returns>a Level from the map with the name specified</returns>
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.
11042 <member name="P:log4net.Core.LevelMap.AllLevels">
11044 Return all possible levels as a list of Level objects.
11046 <returns>all possible levels as a list of Level objects</returns>
11049 Return all possible levels as a list of Level objects.
11053 <member name="T:log4net.Core.LocationInfo">
11055 The internal representation of caller location information.
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.
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.
11068 The <c>System.Diagnostics.StackTrace</c> class has this to say about Release builds:
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."
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.
11083 <author>Nicko Cadell</author>
11084 <author>Gert Driesen</author>
11086 <member name="F:log4net.Core.LocationInfo.NA">
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>.
11093 <member name="M:log4net.Core.LocationInfo.#ctor(System.Type)">
11097 <param name="callerStackBoundaryDeclaringType">The declaring type of the method that is
11098 the stack boundary into the logging system for this call.</param>
11101 Initializes a new instance of the <see cref="T:log4net.Core.LocationInfo"/>
11102 class based on the current thread.
11106 <member name="M:log4net.Core.LocationInfo.#ctor(System.String,System.String,System.String,System.String)">
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>
11116 Initializes a new instance of the <see cref="T:log4net.Core.LocationInfo"/>
11117 class with the specified data.
11121 <member name="P:log4net.Core.LocationInfo.ClassName">
11123 Gets the fully qualified class name of the caller making the logging
11127 The fully qualified class name of the caller making the logging
11132 Gets the fully qualified class name of the caller making the logging
11137 <member name="P:log4net.Core.LocationInfo.FileName">
11139 Gets the file name of the caller.
11142 The file name of the caller.
11146 Gets the file name of the caller.
11150 <member name="P:log4net.Core.LocationInfo.LineNumber">
11152 Gets the line number of the caller.
11155 The line number of the caller.
11159 Gets the line number of the caller.
11163 <member name="P:log4net.Core.LocationInfo.MethodName">
11165 Gets the method name of the caller.
11168 The method name of the caller.
11172 Gets the method name of the caller.
11176 <member name="P:log4net.Core.LocationInfo.FullInfo">
11178 Gets all available caller information
11181 All available caller information, in the format
11182 <c>fully.qualified.classname.of.caller.methodName(Filename:line)</c>
11186 Gets all available caller information, in the format
11187 <c>fully.qualified.classname.of.caller.methodName(Filename:line)</c>
11191 <member name="T:log4net.Core.LoggerManager">
11193 Static manager that controls the creation of repositories
11197 Static manager that controls the creation of repositories
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.
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
11211 <author>Nicko Cadell</author>
11212 <author>Gert Driesen</author>
11214 <member name="M:log4net.Core.LoggerManager.#ctor">
11216 Private constructor to prevent instances. Only static methods should be used.
11220 Private constructor to prevent instances. Only static methods should be used.
11224 <member name="M:log4net.Core.LoggerManager.#cctor">
11226 Hook the shutdown event
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.
11236 <member name="M:log4net.Core.LoggerManager.RegisterAppDomainEvents">
11238 Register for ProcessExit and DomainUnload events on the AppDomain
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
11250 <member name="M:log4net.Core.LoggerManager.GetLoggerRepository(System.String)">
11252 Return the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
11254 <param name="repository">the repository to lookup in</param>
11255 <returns>Return the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance</returns>
11258 Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified
11259 by the <paramref name="repository"/> argument.
11263 <member name="M:log4net.Core.LoggerManager.GetLoggerRepository(System.Reflection.Assembly)">
11265 Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
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>
11270 <member name="M:log4net.Core.LoggerManager.GetRepository(System.String)">
11272 Return the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
11274 <param name="repository">the repository to lookup in</param>
11275 <returns>Return the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance</returns>
11278 Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified
11279 by the <paramref name="repository"/> argument.
11283 <member name="M:log4net.Core.LoggerManager.GetRepository(System.Reflection.Assembly)">
11285 Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
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>
11291 Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
11295 <member name="M:log4net.Core.LoggerManager.Exists(System.String,System.String)">
11297 Returns the named logger if it exists.
11299 <param name="repository">The repository to lookup in.</param>
11300 <param name="name">The fully qualified logger name to look for.</param>
11302 The logger found, or <c>null</c> if the named logger does not exist in the
11303 specified repository.
11307 If the named logger exists (in the specified repository) then it
11308 returns a reference to the logger, otherwise it returns
11313 <member name="M:log4net.Core.LoggerManager.Exists(System.Reflection.Assembly,System.String)">
11315 Returns the named logger if it exists.
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>
11320 The logger found, or <c>null</c> if the named logger does not exist in the
11321 specified assembly's repository.
11325 If the named logger exists (in the specified assembly's repository) then it
11326 returns a reference to the logger, otherwise it returns
11331 <member name="M:log4net.Core.LoggerManager.GetCurrentLoggers(System.String)">
11333 Returns all the currently defined loggers in the specified repository.
11335 <param name="repository">The repository to lookup in.</param>
11336 <returns>All the defined loggers.</returns>
11339 The root logger is <b>not</b> included in the returned array.
11343 <member name="M:log4net.Core.LoggerManager.GetCurrentLoggers(System.Reflection.Assembly)">
11345 Returns all the currently defined loggers in the specified assembly's repository.
11347 <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
11348 <returns>All the defined loggers.</returns>
11351 The root logger is <b>not</b> included in the returned array.
11355 <member name="M:log4net.Core.LoggerManager.GetLogger(System.String,System.String)">
11357 Retrieves or creates a named logger.
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>
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
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
11376 <member name="M:log4net.Core.LoggerManager.GetLogger(System.Reflection.Assembly,System.String)">
11378 Retrieves or creates a named logger.
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>
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
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
11397 <member name="M:log4net.Core.LoggerManager.GetLogger(System.String,System.Type)">
11399 Shorthand for <see cref="M:log4net.LogManager.GetLogger(System.String)"/>.
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>
11406 Gets the logger for the fully qualified name of the type specified.
11410 <member name="M:log4net.Core.LoggerManager.GetLogger(System.Reflection.Assembly,System.Type)">
11412 Shorthand for <see cref="M:log4net.LogManager.GetLogger(System.String)"/>.
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>
11419 Gets the logger for the fully qualified name of the type specified.
11423 <member name="M:log4net.Core.LoggerManager.Shutdown">
11425 Shuts down the log4net system.
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.
11434 Some appenders need to be closed before the application exists.
11435 Otherwise, pending logging events might be lost.
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.
11445 <member name="M:log4net.Core.LoggerManager.ShutdownRepository(System.String)">
11447 Shuts down the repository for the repository specified.
11449 <param name="repository">The repository to shutdown.</param>
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.
11457 Some appenders need to be closed before the application exists.
11458 Otherwise, pending logging events might be lost.
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.
11468 <member name="M:log4net.Core.LoggerManager.ShutdownRepository(System.Reflection.Assembly)">
11470 Shuts down the repository for the repository specified.
11472 <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
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.
11481 Some appenders need to be closed before the application exists.
11482 Otherwise, pending logging events might be lost.
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.
11492 <member name="M:log4net.Core.LoggerManager.ResetConfiguration(System.String)">
11494 Resets all values contained in this repository instance to their defaults.
11496 <param name="repository">The repository to reset.</param>
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.
11508 <member name="M:log4net.Core.LoggerManager.ResetConfiguration(System.Reflection.Assembly)">
11510 Resets all values contained in this repository instance to their defaults.
11512 <param name="repositoryAssembly">The assembly to use to lookup the repository to reset.</param>
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.
11524 <member name="M:log4net.Core.LoggerManager.CreateDomain(System.String)">
11526 Creates a repository with the specified name.
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>
11532 <b>CreateDomain is obsolete. Use CreateRepository instead of CreateDomain.</b>
11535 Creates the default type of <see cref="T:log4net.Repository.ILoggerRepository"/> which is a
11536 <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> object.
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.
11543 <exception cref="T:log4net.Core.LogException">The specified repository already exists.</exception>
11545 <member name="M:log4net.Core.LoggerManager.CreateRepository(System.String)">
11547 Creates a repository with the specified name.
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>
11553 Creates the default type of <see cref="T:log4net.Repository.ILoggerRepository"/> which is a
11554 <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> object.
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.
11561 <exception cref="T:log4net.Core.LogException">The specified repository already exists.</exception>
11563 <member name="M:log4net.Core.LoggerManager.CreateDomain(System.String,System.Type)">
11565 Creates a repository with the specified name and repository type.
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>
11574 <b>CreateDomain is obsolete. Use CreateRepository instead of CreateDomain.</b>
11577 The <paramref name="repository"/> name must be unique. Repositories cannot be redefined.
11578 An Exception will be thrown if the repository already exists.
11581 <exception cref="T:log4net.Core.LogException">The specified repository already exists.</exception>
11583 <member name="M:log4net.Core.LoggerManager.CreateRepository(System.String,System.Type)">
11585 Creates a repository with the specified name and repository type.
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>
11594 The <paramref name="repository"/> name must be unique. Repositories cannot be redefined.
11595 An Exception will be thrown if the repository already exists.
11598 <exception cref="T:log4net.Core.LogException">The specified repository already exists.</exception>
11600 <member name="M:log4net.Core.LoggerManager.CreateDomain(System.Reflection.Assembly,System.Type)">
11602 Creates a repository for the specified assembly and repository type.
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>
11611 <b>CreateDomain is obsolete. Use CreateRepository instead of CreateDomain.</b>
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.
11620 <member name="M:log4net.Core.LoggerManager.CreateRepository(System.Reflection.Assembly,System.Type)">
11622 Creates a repository for the specified assembly and repository type.
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>
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.
11637 <member name="M:log4net.Core.LoggerManager.GetAllRepositories">
11639 Gets an array of all currently defined repositories.
11641 <returns>An array of all the known <see cref="T:log4net.Repository.ILoggerRepository"/> objects.</returns>
11644 Gets an array of all currently defined repositories.
11648 <member name="M:log4net.Core.LoggerManager.GetVersionInfo">
11650 Internal method to get pertinent version info.
11652 <returns>A string of version info.</returns>
11654 <member name="M:log4net.Core.LoggerManager.OnDomainUnload(System.Object,System.EventArgs)">
11656 Called when the <see cref="E:System.AppDomain.DomainUnload"/> event fires
11658 <param name="sender">the <see cref="T:System.AppDomain"/> that is exiting</param>
11659 <param name="e">null</param>
11662 Called when the <see cref="E:System.AppDomain.DomainUnload"/> event fires.
11665 When the event is triggered the log4net system is <see cref="M:log4net.Core.LoggerManager.Shutdown"/>.
11669 <member name="M:log4net.Core.LoggerManager.OnProcessExit(System.Object,System.EventArgs)">
11671 Called when the <see cref="E:System.AppDomain.ProcessExit"/> event fires
11673 <param name="sender">the <see cref="T:System.AppDomain"/> that is exiting</param>
11674 <param name="e">null</param>
11677 Called when the <see cref="E:System.AppDomain.ProcessExit"/> event fires.
11680 When the event is triggered the log4net system is <see cref="M:log4net.Core.LoggerManager.Shutdown"/>.
11684 <member name="F:log4net.Core.LoggerManager.s_repositorySelector">
11686 Initialize the default repository selector
11689 <member name="P:log4net.Core.LoggerManager.RepositorySelector">
11691 Gets or sets the repository selector used by the <see cref="T:log4net.LogManager"/>.
11694 The repository selector used by the <see cref="T:log4net.LogManager"/>.
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"/>).
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"/>).
11708 This context is used by the selector to lookup a specific repository.
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
11717 <member name="T:log4net.Core.LoggerWrapperImpl">
11719 Implementation of the <see cref="T:log4net.Core.ILoggerWrapper"/> interface.
11723 This class should be used as the base for all wrapper implementations.
11726 <author>Nicko Cadell</author>
11727 <author>Gert Driesen</author>
11729 <member name="M:log4net.Core.LoggerWrapperImpl.#ctor(log4net.Core.ILogger)">
11731 Constructs a new wrapper for the specified logger.
11733 <param name="logger">The logger to wrap.</param>
11736 Constructs a new wrapper for the specified logger.
11740 <member name="F:log4net.Core.LoggerWrapperImpl.m_logger">
11742 The logger that this object is wrapping
11745 <member name="P:log4net.Core.LoggerWrapperImpl.Logger">
11747 Gets the implementation behind this wrapper object.
11750 The <see cref="T:log4net.Core.ILogger"/> object that this object is implementing.
11754 The <c>Logger</c> object may not be the same object as this object
11755 because of logger decorators.
11758 This gets the actual underlying objects that is used to process
11763 <member name="T:log4net.Core.LoggingEventData">
11765 Portable data structure used by <see cref="T:log4net.Core.LoggingEvent"/>
11769 Portable data structure used by <see cref="T:log4net.Core.LoggingEvent"/>
11772 <author>Nicko Cadell</author>
11774 <member name="F:log4net.Core.LoggingEventData.LoggerName">
11784 <member name="F:log4net.Core.LoggingEventData.Level">
11786 Level of logging event.
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.
11796 <member name="F:log4net.Core.LoggingEventData.Message">
11798 The application supplied message.
11802 The application supplied message of logging event.
11806 <member name="F:log4net.Core.LoggingEventData.ThreadName">
11812 The name of thread in which this logging event was generated
11816 <member name="F:log4net.Core.LoggingEventData.TimeStamp">
11818 The time the event was logged
11822 The TimeStamp is stored in the local time zone for this computer.
11826 <member name="F:log4net.Core.LoggingEventData.LocationInfo">
11828 Location information for the caller.
11832 Location information for the caller.
11836 <member name="F:log4net.Core.LoggingEventData.UserName">
11838 String representation of the user
11842 String representation of the user's windows name,
11843 like DOMAIN\username
11847 <member name="F:log4net.Core.LoggingEventData.Identity">
11849 String representation of the identity.
11853 String representation of the current thread's principal identity.
11857 <member name="F:log4net.Core.LoggingEventData.ExceptionString">
11859 The string representation of the exception
11863 The string representation of the exception
11867 <member name="F:log4net.Core.LoggingEventData.Domain">
11869 String representation of the AppDomain.
11873 String representation of the AppDomain.
11877 <member name="F:log4net.Core.LoggingEventData.Properties">
11879 Additional event specific properties
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.
11889 <member name="T:log4net.Core.FixFlags">
11891 Flags passed to the <see cref="P:log4net.Core.LoggingEvent.Fix"/> property
11895 Flags passed to the <see cref="P:log4net.Core.LoggingEvent.Fix"/> property
11898 <author>Nicko Cadell</author>
11900 <member name="F:log4net.Core.FixFlags.Mdc">
11905 <member name="F:log4net.Core.FixFlags.Ndc">
11910 <member name="F:log4net.Core.FixFlags.Message">
11912 Fix the rendered message
11915 <member name="F:log4net.Core.FixFlags.ThreadName">
11917 Fix the thread name
11920 <member name="F:log4net.Core.FixFlags.LocationInfo">
11922 Fix the callers location information
11925 CAUTION: Very slow to generate
11928 <member name="F:log4net.Core.FixFlags.UserName">
11930 Fix the callers windows user name
11933 CAUTION: Slow to generate
11936 <member name="F:log4net.Core.FixFlags.Domain">
11938 Fix the domain friendly name
11941 <member name="F:log4net.Core.FixFlags.Identity">
11943 Fix the callers principal name
11946 CAUTION: May be slow to generate
11949 <member name="F:log4net.Core.FixFlags.Exception">
11951 Fix the exception text
11954 <member name="F:log4net.Core.FixFlags.Properties">
11956 Fix the event properties
11959 <member name="F:log4net.Core.FixFlags.None">
11964 <member name="F:log4net.Core.FixFlags.All">
11969 <member name="F:log4net.Core.FixFlags.Partial">
11971 Partial fields fixed
11975 This set of partial fields gives good performance. The following fields are fixed:
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>
11986 <member name="T:log4net.Core.LoggingEvent">
11988 The internal representation of logging events.
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.
11997 This class is of concern to those wishing to extend log4net.
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.
12010 <author>Nicko Cadell</author>
12011 <author>Gert Driesen</author>
12012 <author>Douglas de la Torre</author>
12013 <author>Daniel Cazzulino</author>
12015 <member name="F:log4net.Core.LoggingEvent.HostNameProperty">
12017 The key into the Properties map for the host name value.
12020 <member name="F:log4net.Core.LoggingEvent.IdentityProperty">
12022 The key into the Properties map for the thread identity value.
12025 <member name="F:log4net.Core.LoggingEvent.UserNameProperty">
12027 The key into the Properties map for the user name value.
12030 <member name="M:log4net.Core.LoggingEvent.#ctor(System.Type,log4net.Repository.ILoggerRepository,System.String,log4net.Core.Level,System.Object,System.Exception)">
12032 Initializes a new instance of the <see cref="T:log4net.Core.LoggingEvent"/> class
12033 from the supplied parameters.
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>
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.
12049 <para>This method is called by the log4net framework
12050 to create a logging event.
12054 <member name="M:log4net.Core.LoggingEvent.#ctor(System.Type,log4net.Repository.ILoggerRepository,log4net.Core.LoggingEventData,log4net.Core.FixFlags)">
12056 Initializes a new instance of the <see cref="T:log4net.Core.LoggingEvent"/> class
12057 using specific data.
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>
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.
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.
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.
12081 <member name="M:log4net.Core.LoggingEvent.#ctor(System.Type,log4net.Repository.ILoggerRepository,log4net.Core.LoggingEventData)">
12083 Initializes a new instance of the <see cref="T:log4net.Core.LoggingEvent"/> class
12084 using specific data.
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>
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.
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.
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.
12107 <member name="M:log4net.Core.LoggingEvent.#ctor(log4net.Core.LoggingEventData)">
12109 Initializes a new instance of the <see cref="T:log4net.Core.LoggingEvent"/> class
12110 using specific data.
12112 <param name="data">Data used to initialize the logging event.</param>
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.
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.
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.
12130 <member name="M:log4net.Core.LoggingEvent.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
12132 Serialization constructor
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>
12138 Initializes a new instance of the <see cref="T:log4net.Core.LoggingEvent"/> class
12139 with serialized data.
12143 <member name="M:log4net.Core.LoggingEvent.EnsureRepository(log4net.Repository.ILoggerRepository)">
12145 Ensure that the repository is set.
12147 <param name="repository">the value for the repository</param>
12149 <member name="M:log4net.Core.LoggingEvent.WriteRenderedMessage(System.IO.TextWriter)">
12151 Write the rendered message to a TextWriter
12153 <param name="writer">the writer to write the message to</param>
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.
12164 <member name="M:log4net.Core.LoggingEvent.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
12166 Serializes this object into the <see cref="T:System.Runtime.Serialization.SerializationInfo"/> provided.
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>
12172 The data in this event must be fixed before it can be serialized.
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.
12181 <member name="M:log4net.Core.LoggingEvent.GetLoggingEventData">
12183 Gets the portable data for this <see cref="T:log4net.Core.LoggingEvent"/>.
12185 <returns>The <see cref="T:log4net.Core.LoggingEventData"/> for this event.</returns>
12188 A new <see cref="T:log4net.Core.LoggingEvent"/> can be constructed using a
12189 <see cref="T:log4net.Core.LoggingEventData"/> instance.
12192 Does a <see cref="F:log4net.Core.FixFlags.Partial"/> fix of the data
12193 in the logging event before returning the event data.
12197 <member name="M:log4net.Core.LoggingEvent.GetLoggingEventData(log4net.Core.FixFlags)">
12199 Gets the portable data for this <see cref="T:log4net.Core.LoggingEvent"/>.
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>
12205 A new <see cref="T:log4net.Core.LoggingEvent"/> can be constructed using a
12206 <see cref="T:log4net.Core.LoggingEventData"/> instance.
12210 <member name="M:log4net.Core.LoggingEvent.GetExceptionStrRep">
12212 Returns this event's exception's rendered using the
12213 <see cref="P:log4net.Repository.ILoggerRepository.RendererMap"/>.
12216 This event's exception's rendered using the <see cref="P:log4net.Repository.ILoggerRepository.RendererMap"/>.
12220 <b>Obsolete. Use <see cref="M:log4net.Core.LoggingEvent.GetExceptionString"/> instead.</b>
12224 <member name="M:log4net.Core.LoggingEvent.GetExceptionString">
12226 Returns this event's exception's rendered using the
12227 <see cref="P:log4net.Repository.ILoggerRepository.RendererMap"/>.
12230 This event's exception's rendered using the <see cref="P:log4net.Repository.ILoggerRepository.RendererMap"/>.
12234 Returns this event's exception's rendered using the
12235 <see cref="P:log4net.Repository.ILoggerRepository.RendererMap"/>.
12239 <member name="M:log4net.Core.LoggingEvent.FixVolatileData">
12241 Fix instance fields that hold volatile data.
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.
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
12260 See <see cref="M:log4net.Core.LoggingEvent.FixVolatileData(System.Boolean)"/> for more
12265 <member name="M:log4net.Core.LoggingEvent.FixVolatileData(System.Boolean)">
12267 Fixes instance fields that hold volatile data.
12269 <param name="fastButLoose">Set to <c>true</c> to not fix data that takes a long time to fix.</param>
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.
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.
12290 Set <paramref name="fastButLoose"/> to <c>false</c> to ensure that all
12291 settings are fixed.
12295 <member name="M:log4net.Core.LoggingEvent.FixVolatileData(log4net.Core.FixFlags)">
12297 Fix the fields specified by the <see cref="T:log4net.Core.FixFlags"/> parameter
12299 <param name="flags">the fields to fix</param>
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.
12308 <member name="M:log4net.Core.LoggingEvent.LookupProperty(System.String)">
12310 Lookup a composite property in this event
12312 <param name="key">the key for the property to lookup</param>
12313 <returns>the value for the property</returns>
12316 This event has composite properties that combine together properties from
12317 several different contexts in the following order:
12318 <list type="definition">
12320 <term>this events properties</term>
12322 This event has <see cref="P:log4net.Core.LoggingEvent.Properties"/> that can be set. These
12323 properties are specific to this event only.
12327 <term>the thread properties</term>
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.
12334 <term>the global properties</term>
12336 The <see cref="P:log4net.GlobalContext.Properties"/> that are set globally. These
12337 properties are shared by all the threads in the AppDomain.
12344 <member name="M:log4net.Core.LoggingEvent.GetProperties">
12346 Get all the composite properties in this event
12348 <returns>the <see cref="T:log4net.Util.PropertiesDictionary"/> containing all the properties</returns>
12351 See <see cref="M:log4net.Core.LoggingEvent.LookupProperty(System.String)"/> for details of the composite properties
12352 stored by the event.
12355 This method returns a single <see cref="T:log4net.Util.PropertiesDictionary"/> containing all the
12356 properties defined for this event.
12360 <member name="F:log4net.Core.LoggingEvent.m_data">
12362 The internal logging event data.
12365 <member name="F:log4net.Core.LoggingEvent.m_compositeProperties">
12367 The internal logging event data.
12370 <member name="F:log4net.Core.LoggingEvent.m_eventProperties">
12372 The internal logging event data.
12375 <member name="F:log4net.Core.LoggingEvent.m_callerStackBoundaryDeclaringType">
12377 The fully qualified Type of the calling
12378 logger class in the stack frame (i.e. the declaring type of the method).
12381 <member name="F:log4net.Core.LoggingEvent.m_message">
12383 The application supplied message of logging event.
12386 <member name="F:log4net.Core.LoggingEvent.m_thrownException">
12388 The exception that was thrown.
12391 This is not serialized. The string representation
12392 is serialized instead.
12395 <member name="F:log4net.Core.LoggingEvent.m_repository">
12397 The repository that generated the logging event
12400 This is not serialized.
12403 <member name="F:log4net.Core.LoggingEvent.m_fixFlags">
12405 The fix state for this event
12408 These flags indicate which fields have been fixed.
12412 <member name="F:log4net.Core.LoggingEvent.m_cacheUpdatable">
12414 Indicated that the internal cache is updateable (ie not fixed)
12417 This is a seperate flag to m_fixFlags as it allows incrementel fixing and simpler
12418 changes in the caching strategy.
12421 <member name="P:log4net.Core.LoggingEvent.StartTime">
12423 Gets the time when the current process started.
12426 This is the time when this process started.
12430 The TimeStamp is stored in the local time zone for this computer.
12433 Tries to get the start time for the current process.
12434 Failing that it returns the time of the first call to
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.
12444 <member name="P:log4net.Core.LoggingEvent.Level">
12446 Gets the <see cref="P:log4net.Core.LoggingEvent.Level"/> of the logging event.
12449 The <see cref="P:log4net.Core.LoggingEvent.Level"/> of the logging event.
12453 Gets the <see cref="P:log4net.Core.LoggingEvent.Level"/> of the logging event.
12457 <member name="P:log4net.Core.LoggingEvent.TimeStamp">
12459 Gets the time of the logging event.
12462 The time of the logging event.
12466 The TimeStamp is stored in the local time zone for this computer.
12470 <member name="P:log4net.Core.LoggingEvent.LoggerName">
12472 Gets the name of the logger that logged the event.
12475 The name of the logger that logged the event.
12479 Gets the name of the logger that logged the event.
12483 <member name="P:log4net.Core.LoggingEvent.LocationInformation">
12485 Gets the location information for this logging event.
12488 The location information for this logging event.
12492 The collected information is cached for future use.
12495 See the <see cref="T:log4net.Core.LocationInfo"/> class for more information on
12496 supported frameworks and the different behavior in Debug and
12501 <member name="P:log4net.Core.LoggingEvent.MessageObject">
12503 Gets the message object used to initialize this event.
12506 The message object used to initialize this event.
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
12518 If there is no defined message object for this event then
12519 null will be returned.
12523 <member name="P:log4net.Core.LoggingEvent.ExceptionObject">
12525 Gets the exception object used to initialize this event.
12528 The exception object used to initialize this event.
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
12540 If there is no defined exception object for this event then
12541 null will be returned.
12545 <member name="P:log4net.Core.LoggingEvent.Repository">
12547 The <see cref="T:log4net.Repository.ILoggerRepository"/> that this event was created in.
12551 The <see cref="T:log4net.Repository.ILoggerRepository"/> that this event was created in.
12555 <member name="P:log4net.Core.LoggingEvent.RenderedMessage">
12557 Gets the message, rendered through the <see cref="P:log4net.Repository.ILoggerRepository.RendererMap"/>.
12560 The message rendered through the <see cref="P:log4net.Repository.ILoggerRepository.RendererMap"/>.
12564 The collected information is cached for future use.
12568 <member name="P:log4net.Core.LoggingEvent.ThreadName">
12570 Gets the name of the current thread.
12573 The name of the current thread, or the thread ID when
12574 the name is not available.
12578 The collected information is cached for future use.
12582 <member name="P:log4net.Core.LoggingEvent.UserName">
12584 Gets the name of the current user.
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
12593 Calls <c>WindowsIdentity.GetCurrent().Name</c> to get the name of
12594 the current windows user.
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
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.
12608 Timing for these operations:
12610 <list type="table">
12612 <term>Method</term>
12613 <description>Results</description>
12616 <term><c>WindowsIdentity.GetCurrent()</c></term>
12617 <description>10000 loops, 00:00:00.2031250 seconds</description>
12620 <term><c>WindowsIdentity.GetCurrent().Name</c></term>
12621 <description>10000 loops, 00:00:08.0468750 seconds</description>
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.
12631 <member name="P:log4net.Core.LoggingEvent.Identity">
12633 Gets the identity of the current thread principal.
12636 The string name of the identity of the current thread principal.
12640 Calls <c>System.Threading.Thread.CurrentPrincipal.Identity.Name</c> to get
12641 the name of the current thread principal.
12645 <member name="P:log4net.Core.LoggingEvent.Domain">
12647 Gets the AppDomain friendly name.
12650 The AppDomain friendly name.
12654 Gets the AppDomain friendly name.
12658 <member name="P:log4net.Core.LoggingEvent.Properties">
12660 Additional event specific properties.
12663 Additional event specific properties.
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.
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"/>.
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.
12686 <member name="P:log4net.Core.LoggingEvent.Fix">
12688 The fixed fields in this event
12691 The set of fields that are fixed in this event
12695 Fields will not be fixed if they have previously been fixed.
12696 It is not possible to 'unfix' a field.
12700 <member name="T:log4net.Core.LogImpl">
12702 Implementation of <see cref="T:log4net.ILog"/> wrapper interface.
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.
12710 This logger has methods to allow the caller to log at the following
12713 <list type="definition">
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.
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.
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.
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.
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.
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.
12770 <author>Nicko Cadell</author>
12771 <author>Gert Driesen</author>
12773 <member name="T:log4net.ILog">
12775 The ILog interface is use by application to log messages into
12776 the log4net framework.
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.
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.
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.
12796 <example>Simple example of logging messages
12798 ILog log = LogManager.GetLogger("application-log");
12800 log.Info("Application Start");
12801 log.Debug("This is a debug message");
12803 if (log.IsDebugEnabled)
12805 log.Debug("This is another debug message");
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>
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>
12817 Log a message object with the <see cref="F:log4net.Core.Level.Debug"/> level.
12819 <param name="message">The message object to log.</param>
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.
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.
12838 <seealso cref="M:log4net.ILog.Debug(System.Object,System.Exception)"/>
12839 <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
12841 <member name="M:log4net.ILog.Debug(System.Object,System.Exception)">
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
12847 <param name="message">The message object to log.</param>
12848 <param name="exception">The exception to log, including its stack trace.</param>
12851 See the <see cref="M:log4net.ILog.Debug(System.Object)"/> form for more detailed information.
12854 <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
12855 <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
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>
12860 Logs a formatted message string with the <see cref="F:log4net.Core.Level.Debug"/> level.
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>
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
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)"/>
12876 <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
12877 <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
12879 <member name="M:log4net.ILog.DebugFormat(System.String,System.Object)">
12881 Logs a formatted message string with the <see cref="F:log4net.Core.Level.Debug"/> level.
12883 <param name="format">A String containing zero or more format items</param>
12884 <param name="arg0">An Object to format</param>
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
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)"/>
12897 <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
12898 <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
12900 <member name="M:log4net.ILog.DebugFormat(System.String,System.Object,System.Object)">
12902 Logs a formatted message string with the <see cref="F:log4net.Core.Level.Debug"/> level.
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>
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
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)"/>
12919 <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
12920 <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
12922 <member name="M:log4net.ILog.DebugFormat(System.String,System.Object,System.Object,System.Object)">
12924 Logs a formatted message string with the <see cref="F:log4net.Core.Level.Debug"/> level.
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>
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
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)"/>
12942 <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
12943 <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
12945 <member name="M:log4net.ILog.DebugFormat(System.IFormatProvider,System.String,System.Object[])">
12947 Logs a formatted message string with the <see cref="F:log4net.Core.Level.Debug"/> level.
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>
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
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)"/>
12964 <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
12965 <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
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>
12970 Logs a message object with the <see cref="F:log4net.Core.Level.Info"/> level.
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
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.
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"/>
12994 <member name="M:log4net.ILog.Info(System.Object,System.Exception)">
12996 Logs a message object with the <c>INFO</c> level including
12997 the stack trace of the <see cref="T:System.Exception"/> passed
13000 <param name="message">The message object to log.</param>
13001 <param name="exception">The exception to log, including its stack trace.</param>
13004 See the <see cref="M:log4net.ILog.Info(System.Object)"/> form for more detailed information.
13007 <seealso cref="M:log4net.ILog.Info(System.Object)"/>
13008 <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
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>
13013 Logs a formatted message string with the <see cref="F:log4net.Core.Level.Info"/> level.
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>
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
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)"/>
13029 <seealso cref="M:log4net.ILog.Info(System.Object,System.Exception)"/>
13030 <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
13032 <member name="M:log4net.ILog.InfoFormat(System.String,System.Object)">
13034 Logs a formatted message string with the <see cref="F:log4net.Core.Level.Info"/> level.
13036 <param name="format">A String containing zero or more format items</param>
13037 <param name="arg0">An Object to format</param>
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
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)"/>
13050 <seealso cref="M:log4net.ILog.Info(System.Object)"/>
13051 <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
13053 <member name="M:log4net.ILog.InfoFormat(System.String,System.Object,System.Object)">
13055 Logs a formatted message string with the <see cref="F:log4net.Core.Level.Info"/> level.
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>
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
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)"/>
13072 <seealso cref="M:log4net.ILog.Info(System.Object)"/>
13073 <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
13075 <member name="M:log4net.ILog.InfoFormat(System.String,System.Object,System.Object,System.Object)">
13077 Logs a formatted message string with the <see cref="F:log4net.Core.Level.Info"/> level.
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>
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
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)"/>
13095 <seealso cref="M:log4net.ILog.Info(System.Object)"/>
13096 <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
13098 <member name="M:log4net.ILog.InfoFormat(System.IFormatProvider,System.String,System.Object[])">
13100 Logs a formatted message string with the <see cref="F:log4net.Core.Level.Info"/> level.
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>
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
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)"/>
13117 <seealso cref="M:log4net.ILog.Info(System.Object,System.Exception)"/>
13118 <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
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>
13123 Log a message object with the <see cref="F:log4net.Core.Level.Warn"/> level.
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
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.
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"/>
13147 <member name="M:log4net.ILog.Warn(System.Object,System.Exception)">
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
13153 <param name="message">The message object to log.</param>
13154 <param name="exception">The exception to log, including its stack trace.</param>
13157 See the <see cref="M:log4net.ILog.Warn(System.Object)"/> form for more detailed information.
13160 <seealso cref="M:log4net.ILog.Warn(System.Object)"/>
13161 <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
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>
13166 Logs a formatted message string with the <see cref="F:log4net.Core.Level.Warn"/> level.
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>
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
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)"/>
13182 <seealso cref="M:log4net.ILog.Warn(System.Object,System.Exception)"/>
13183 <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
13185 <member name="M:log4net.ILog.WarnFormat(System.String,System.Object)">
13187 Logs a formatted message string with the <see cref="F:log4net.Core.Level.Warn"/> level.
13189 <param name="format">A String containing zero or more format items</param>
13190 <param name="arg0">An Object to format</param>
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
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)"/>
13203 <seealso cref="M:log4net.ILog.Warn(System.Object)"/>
13204 <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
13206 <member name="M:log4net.ILog.WarnFormat(System.String,System.Object,System.Object)">
13208 Logs a formatted message string with the <see cref="F:log4net.Core.Level.Warn"/> level.
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>
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
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)"/>
13225 <seealso cref="M:log4net.ILog.Warn(System.Object)"/>
13226 <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
13228 <member name="M:log4net.ILog.WarnFormat(System.String,System.Object,System.Object,System.Object)">
13230 Logs a formatted message string with the <see cref="F:log4net.Core.Level.Warn"/> level.
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>
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
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)"/>
13248 <seealso cref="M:log4net.ILog.Warn(System.Object)"/>
13249 <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
13251 <member name="M:log4net.ILog.WarnFormat(System.IFormatProvider,System.String,System.Object[])">
13253 Logs a formatted message string with the <see cref="F:log4net.Core.Level.Warn"/> level.
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>
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
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)"/>
13270 <seealso cref="M:log4net.ILog.Warn(System.Object,System.Exception)"/>
13271 <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
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>
13276 Logs a message object with the <see cref="F:log4net.Core.Level.Error"/> level.
13278 <param name="message">The message object to log.</param>
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
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.
13297 <seealso cref="M:log4net.ILog.Error(System.Object,System.Exception)"/>
13298 <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
13300 <member name="M:log4net.ILog.Error(System.Object,System.Exception)">
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
13306 <param name="message">The message object to log.</param>
13307 <param name="exception">The exception to log, including its stack trace.</param>
13310 See the <see cref="M:log4net.ILog.Error(System.Object)"/> form for more detailed information.
13313 <seealso cref="M:log4net.ILog.Error(System.Object)"/>
13314 <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
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>
13319 Logs a formatted message string with the <see cref="F:log4net.Core.Level.Error"/> level.
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>
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
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)"/>
13335 <seealso cref="M:log4net.ILog.Error(System.Object,System.Exception)"/>
13336 <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
13338 <member name="M:log4net.ILog.ErrorFormat(System.String,System.Object)">
13340 Logs a formatted message string with the <see cref="F:log4net.Core.Level.Error"/> level.
13342 <param name="format">A String containing zero or more format items</param>
13343 <param name="arg0">An Object to format</param>
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
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)"/>
13356 <seealso cref="M:log4net.ILog.Error(System.Object)"/>
13357 <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
13359 <member name="M:log4net.ILog.ErrorFormat(System.String,System.Object,System.Object)">
13361 Logs a formatted message string with the <see cref="F:log4net.Core.Level.Error"/> level.
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>
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
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)"/>
13378 <seealso cref="M:log4net.ILog.Error(System.Object)"/>
13379 <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
13381 <member name="M:log4net.ILog.ErrorFormat(System.String,System.Object,System.Object,System.Object)">
13383 Logs a formatted message string with the <see cref="F:log4net.Core.Level.Error"/> level.
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>
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
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)"/>
13401 <seealso cref="M:log4net.ILog.Error(System.Object)"/>
13402 <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
13404 <member name="M:log4net.ILog.ErrorFormat(System.IFormatProvider,System.String,System.Object[])">
13406 Logs a formatted message string with the <see cref="F:log4net.Core.Level.Error"/> level.
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>
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
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)"/>
13423 <seealso cref="M:log4net.ILog.Error(System.Object,System.Exception)"/>
13424 <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
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>
13429 Log a message object with the <see cref="F:log4net.Core.Level.Fatal"/> level.
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
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.
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"/>
13453 <member name="M:log4net.ILog.Fatal(System.Object,System.Exception)">
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
13459 <param name="message">The message object to log.</param>
13460 <param name="exception">The exception to log, including its stack trace.</param>
13463 See the <see cref="M:log4net.ILog.Fatal(System.Object)"/> form for more detailed information.
13466 <seealso cref="M:log4net.ILog.Fatal(System.Object)"/>
13467 <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
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>
13472 Logs a formatted message string with the <see cref="F:log4net.Core.Level.Fatal"/> level.
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>
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
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)"/>
13488 <seealso cref="M:log4net.ILog.Fatal(System.Object,System.Exception)"/>
13489 <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
13491 <member name="M:log4net.ILog.FatalFormat(System.String,System.Object)">
13493 Logs a formatted message string with the <see cref="F:log4net.Core.Level.Fatal"/> level.
13495 <param name="format">A String containing zero or more format items</param>
13496 <param name="arg0">An Object to format</param>
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
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)"/>
13509 <seealso cref="M:log4net.ILog.Fatal(System.Object)"/>
13510 <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
13512 <member name="M:log4net.ILog.FatalFormat(System.String,System.Object,System.Object)">
13514 Logs a formatted message string with the <see cref="F:log4net.Core.Level.Fatal"/> level.
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>
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
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)"/>
13531 <seealso cref="M:log4net.ILog.Fatal(System.Object)"/>
13532 <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
13534 <member name="M:log4net.ILog.FatalFormat(System.String,System.Object,System.Object,System.Object)">
13536 Logs a formatted message string with the <see cref="F:log4net.Core.Level.Fatal"/> level.
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>
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
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)"/>
13554 <seealso cref="M:log4net.ILog.Fatal(System.Object)"/>
13555 <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
13557 <member name="M:log4net.ILog.FatalFormat(System.IFormatProvider,System.String,System.Object[])">
13559 Logs a formatted message string with the <see cref="F:log4net.Core.Level.Fatal"/> level.
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>
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
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)"/>
13576 <seealso cref="M:log4net.ILog.Fatal(System.Object,System.Exception)"/>
13577 <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
13579 <member name="P:log4net.ILog.IsDebugEnabled">
13581 Checks if this logger is enabled for the <see cref="F:log4net.Core.Level.Debug"/> level.
13584 <c>true</c> if this logger is enabled for <see cref="F:log4net.Core.Level.Debug"/> events, <c>false</c> otherwise.
13588 This function is intended to lessen the computational cost of
13589 disabled log debug statements.
13591 <para> For some ILog interface <c>log</c>, when you write:</para>
13593 log.Debug("This is entry number: " + i );
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.
13600 If you are worried about speed (who isn't), then you should write:
13603 if (log.IsDebugEnabled)
13605 log.Debug("This is entry number: " + i );
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.
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:
13622 private static readonly bool isDebugEnabled = log.IsDebugEnabled;
13625 Then when you come to log you can write:
13628 if (isDebugEnabled)
13630 log.Debug("This is entry number: " + i );
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.
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.
13647 <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
13648 <seealso cref="M:log4net.ILog.DebugFormat(System.IFormatProvider,System.String,System.Object[])"/>
13650 <member name="P:log4net.ILog.IsInfoEnabled">
13652 Checks if this logger is enabled for the <see cref="F:log4net.Core.Level.Info"/> level.
13655 <c>true</c> if this logger is enabled for <see cref="F:log4net.Core.Level.Info"/> events, <c>false</c> otherwise.
13658 For more information see <see cref="P:log4net.ILog.IsDebugEnabled"/>.
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"/>
13664 <member name="P:log4net.ILog.IsWarnEnabled">
13666 Checks if this logger is enabled for the <see cref="F:log4net.Core.Level.Warn"/> level.
13669 <c>true</c> if this logger is enabled for <see cref="F:log4net.Core.Level.Warn"/> events, <c>false</c> otherwise.
13672 For more information see <see cref="P:log4net.ILog.IsDebugEnabled"/>.
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"/>
13678 <member name="P:log4net.ILog.IsErrorEnabled">
13680 Checks if this logger is enabled for the <see cref="F:log4net.Core.Level.Error"/> level.
13683 <c>true</c> if this logger is enabled for <see cref="F:log4net.Core.Level.Error"/> events, <c>false</c> otherwise.
13686 For more information see <see cref="P:log4net.ILog.IsDebugEnabled"/>.
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"/>
13692 <member name="P:log4net.ILog.IsFatalEnabled">
13694 Checks if this logger is enabled for the <see cref="F:log4net.Core.Level.Fatal"/> level.
13697 <c>true</c> if this logger is enabled for <see cref="F:log4net.Core.Level.Fatal"/> events, <c>false</c> otherwise.
13700 For more information see <see cref="P:log4net.ILog.IsDebugEnabled"/>.
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"/>
13706 <member name="M:log4net.Core.LogImpl.#ctor(log4net.Core.ILogger)">
13708 Construct a new wrapper for the specified logger.
13710 <param name="logger">The logger to wrap.</param>
13713 Construct a new wrapper for the specified logger.
13717 <member name="M:log4net.Core.LogImpl.ReloadLevels(log4net.Repository.ILoggerRepository)">
13719 Virtual method called when the configuration of the repository changes
13721 <param name="repository">the repository holding the levels</param>
13724 Virtual method called when the configuration of the repository changes
13728 <member name="M:log4net.Core.LogImpl.Debug(System.Object)">
13730 Logs a message object with the <c>DEBUG</c> level.
13732 <param name="message">The message object to log.</param>
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
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.
13753 <member name="M:log4net.Core.LogImpl.Debug(System.Object,System.Exception)">
13755 Logs a message object with the <c>DEBUG</c> level
13757 <param name="message">The message object to log.</param>
13758 <param name="exception">The exception to log, including its stack trace.</param>
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
13766 See the <see cref="M:log4net.Core.LogImpl.Debug(System.Object)"/> form for more detailed information.
13769 <seealso cref="M:log4net.Core.LogImpl.Debug(System.Object)"/>
13771 <member name="M:log4net.Core.LogImpl.DebugFormat(System.String,System.Object[])">
13773 Logs a formatted message string with the <c>DEBUG</c> level.
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>
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
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.
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)"/>
13795 <member name="M:log4net.Core.LogImpl.DebugFormat(System.String,System.Object)">
13797 Logs a formatted message string with the <c>DEBUG</c> level.
13799 <param name="format">A String containing zero or more format items</param>
13800 <param name="arg0">An Object to format</param>
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
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.
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)"/>
13819 <member name="M:log4net.Core.LogImpl.DebugFormat(System.String,System.Object,System.Object)">
13821 Logs a formatted message string with the <c>DEBUG</c> level.
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>
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
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.
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)"/>
13844 <member name="M:log4net.Core.LogImpl.DebugFormat(System.String,System.Object,System.Object,System.Object)">
13846 Logs a formatted message string with the <c>DEBUG</c> level.
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>
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
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.
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)"/>
13870 <member name="M:log4net.Core.LogImpl.DebugFormat(System.IFormatProvider,System.String,System.Object[])">
13872 Logs a formatted message string with the <c>DEBUG</c> level.
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>
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
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)"/>
13890 <member name="M:log4net.Core.LogImpl.Info(System.Object)">
13892 Logs a message object with the <c>INFO</c> level.
13894 <param name="message">The message object to log.</param>
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.
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.
13915 <member name="M:log4net.Core.LogImpl.Info(System.Object,System.Exception)">
13917 Logs a message object with the <c>INFO</c> level.
13919 <param name="message">The message object to log.</param>
13920 <param name="exception">The exception to log, including its stack trace.</param>
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.
13928 See the <see cref="M:log4net.Core.LogImpl.Info(System.Object)"/> form for more detailed information.
13931 <seealso cref="M:log4net.Core.LogImpl.Info(System.Object)"/>
13933 <member name="M:log4net.Core.LogImpl.InfoFormat(System.String,System.Object[])">
13935 Logs a formatted message string with the <c>INFO</c> level.
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>
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
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.
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)"/>
13957 <member name="M:log4net.Core.LogImpl.InfoFormat(System.String,System.Object)">
13959 Logs a formatted message string with the <c>INFO</c> level.
13961 <param name="format">A String containing zero or more format items</param>
13962 <param name="arg0">An Object to format</param>
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
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.
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)"/>
13981 <member name="M:log4net.Core.LogImpl.InfoFormat(System.String,System.Object,System.Object)">
13983 Logs a formatted message string with the <c>INFO</c> level.
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>
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
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.
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)"/>
14006 <member name="M:log4net.Core.LogImpl.InfoFormat(System.String,System.Object,System.Object,System.Object)">
14008 Logs a formatted message string with the <c>INFO</c> level.
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>
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
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.
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)"/>
14032 <member name="M:log4net.Core.LogImpl.InfoFormat(System.IFormatProvider,System.String,System.Object[])">
14034 Logs a formatted message string with the <c>INFO</c> level.
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>
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
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)"/>
14052 <member name="M:log4net.Core.LogImpl.Warn(System.Object)">
14054 Logs a message object with the <c>WARN</c> level.
14056 <param name="message">the message object to log</param>
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
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.
14077 <member name="M:log4net.Core.LogImpl.Warn(System.Object,System.Exception)">
14079 Logs a message object with the <c>WARN</c> level
14081 <param name="message">The message object to log.</param>
14082 <param name="exception">The exception to log, including its stack trace.</param>
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.
14090 See the <see cref="M:log4net.Core.LogImpl.Warn(System.Object)"/> form for more detailed information.
14093 <seealso cref="M:log4net.Core.LogImpl.Warn(System.Object)"/>
14095 <member name="M:log4net.Core.LogImpl.WarnFormat(System.String,System.Object[])">
14097 Logs a formatted message string with the <c>WARN</c> level.
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>
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
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.
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)"/>
14119 <member name="M:log4net.Core.LogImpl.WarnFormat(System.String,System.Object)">
14121 Logs a formatted message string with the <c>WARN</c> level.
14123 <param name="format">A String containing zero or more format items</param>
14124 <param name="arg0">An Object to format</param>
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
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.
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)"/>
14143 <member name="M:log4net.Core.LogImpl.WarnFormat(System.String,System.Object,System.Object)">
14145 Logs a formatted message string with the <c>WARN</c> level.
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>
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
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.
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)"/>
14168 <member name="M:log4net.Core.LogImpl.WarnFormat(System.String,System.Object,System.Object,System.Object)">
14170 Logs a formatted message string with the <c>WARN</c> level.
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>
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
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.
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)"/>
14194 <member name="M:log4net.Core.LogImpl.WarnFormat(System.IFormatProvider,System.String,System.Object[])">
14196 Logs a formatted message string with the <c>WARN</c> level.
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>
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
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)"/>
14214 <member name="M:log4net.Core.LogImpl.Error(System.Object)">
14216 Logs a message object with the <c>ERROR</c> level.
14218 <param name="message">The message object to log.</param>
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
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.
14239 <member name="M:log4net.Core.LogImpl.Error(System.Object,System.Exception)">
14241 Logs a message object with the <c>ERROR</c> level
14243 <param name="message">The message object to log.</param>
14244 <param name="exception">The exception to log, including its stack trace.</param>
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.
14252 See the <see cref="M:log4net.Core.LogImpl.Error(System.Object)"/> form for more detailed information.
14255 <seealso cref="M:log4net.Core.LogImpl.Error(System.Object)"/>
14257 <member name="M:log4net.Core.LogImpl.ErrorFormat(System.String,System.Object[])">
14259 Logs a formatted message string with the <c>ERROR</c> level.
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>
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
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.
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)"/>
14281 <member name="M:log4net.Core.LogImpl.ErrorFormat(System.String,System.Object)">
14283 Logs a formatted message string with the <c>ERROR</c> level.
14285 <param name="format">A String containing zero or more format items</param>
14286 <param name="arg0">An Object to format</param>
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
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.
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)"/>
14305 <member name="M:log4net.Core.LogImpl.ErrorFormat(System.String,System.Object,System.Object)">
14307 Logs a formatted message string with the <c>ERROR</c> level.
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>
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
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.
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)"/>
14330 <member name="M:log4net.Core.LogImpl.ErrorFormat(System.String,System.Object,System.Object,System.Object)">
14332 Logs a formatted message string with the <c>ERROR</c> level.
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>
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
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.
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)"/>
14356 <member name="M:log4net.Core.LogImpl.ErrorFormat(System.IFormatProvider,System.String,System.Object[])">
14358 Logs a formatted message string with the <c>ERROR</c> level.
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>
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
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)"/>
14376 <member name="M:log4net.Core.LogImpl.Fatal(System.Object)">
14378 Logs a message object with the <c>FATAL</c> level.
14380 <param name="message">The message object to log.</param>
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
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.
14401 <member name="M:log4net.Core.LogImpl.Fatal(System.Object,System.Exception)">
14403 Logs a message object with the <c>FATAL</c> level
14405 <param name="message">The message object to log.</param>
14406 <param name="exception">The exception to log, including its stack trace.</param>
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.
14414 See the <see cref="M:log4net.Core.LogImpl.Fatal(System.Object)"/> form for more detailed information.
14417 <seealso cref="M:log4net.Core.LogImpl.Fatal(System.Object)"/>
14419 <member name="M:log4net.Core.LogImpl.FatalFormat(System.String,System.Object[])">
14421 Logs a formatted message string with the <c>FATAL</c> level.
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>
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
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.
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)"/>
14443 <member name="M:log4net.Core.LogImpl.FatalFormat(System.String,System.Object)">
14445 Logs a formatted message string with the <c>FATAL</c> level.
14447 <param name="format">A String containing zero or more format items</param>
14448 <param name="arg0">An Object to format</param>
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
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.
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)"/>
14467 <member name="M:log4net.Core.LogImpl.FatalFormat(System.String,System.Object,System.Object)">
14469 Logs a formatted message string with the <c>FATAL</c> level.
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>
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
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.
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)"/>
14492 <member name="M:log4net.Core.LogImpl.FatalFormat(System.String,System.Object,System.Object,System.Object)">
14494 Logs a formatted message string with the <c>FATAL</c> level.
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>
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
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.
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)"/>
14518 <member name="M:log4net.Core.LogImpl.FatalFormat(System.IFormatProvider,System.String,System.Object[])">
14520 Logs a formatted message string with the <c>FATAL</c> level.
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>
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
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)"/>
14538 <member name="M:log4net.Core.LogImpl.LoggerRepositoryConfigurationChanged(System.Object,System.EventArgs)">
14540 Event handler for the <see cref="E:log4net.Repository.ILoggerRepository.ConfigurationChanged"/> event
14542 <param name="sender">the repository</param>
14543 <param name="e">Empty</param>
14545 <member name="F:log4net.Core.LogImpl.ThisDeclaringType">
14547 The fully qualified name of this declaring type not the type of any subclass.
14550 <member name="P:log4net.Core.LogImpl.IsDebugEnabled">
14552 Checks if this logger is enabled for the <c>DEBUG</c>
14556 <c>true</c> if this logger is enabled for <c>DEBUG</c> events,
14557 <c>false</c> otherwise.
14561 This function is intended to lessen the computational cost of
14562 disabled log debug statements.
14565 For some <c>log</c> Logger object, when you write:
14568 log.Debug("This is entry number: " + i );
14571 You incur the cost constructing the message, concatenation in
14572 this case, regardless of whether the message is logged or not.
14575 If you are worried about speed, then you should write:
14578 if (log.IsDebugEnabled())
14580 log.Debug("This is entry number: " + i );
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.
14595 <member name="P:log4net.Core.LogImpl.IsInfoEnabled">
14597 Checks if this logger is enabled for the <c>INFO</c> level.
14600 <c>true</c> if this logger is enabled for <c>INFO</c> events,
14601 <c>false</c> otherwise.
14605 See <see cref="P:log4net.Core.LogImpl.IsDebugEnabled"/> for more information and examples
14606 of using this method.
14609 <seealso cref="P:log4net.Core.LogImpl.IsDebugEnabled"/>
14611 <member name="P:log4net.Core.LogImpl.IsWarnEnabled">
14613 Checks if this logger is enabled for the <c>WARN</c> level.
14616 <c>true</c> if this logger is enabled for <c>WARN</c> events,
14617 <c>false</c> otherwise.
14621 See <see cref="P:log4net.Core.LogImpl.IsDebugEnabled"/> for more information and examples
14622 of using this method.
14625 <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
14627 <member name="P:log4net.Core.LogImpl.IsErrorEnabled">
14629 Checks if this logger is enabled for the <c>ERROR</c> level.
14632 <c>true</c> if this logger is enabled for <c>ERROR</c> events,
14633 <c>false</c> otherwise.
14637 See <see cref="P:log4net.Core.LogImpl.IsDebugEnabled"/> for more information and examples of using this method.
14640 <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
14642 <member name="P:log4net.Core.LogImpl.IsFatalEnabled">
14644 Checks if this logger is enabled for the <c>FATAL</c> level.
14647 <c>true</c> if this logger is enabled for <c>FATAL</c> events,
14648 <c>false</c> otherwise.
14652 See <see cref="P:log4net.Core.LogImpl.IsDebugEnabled"/> for more information and examples of using this method.
14655 <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
14657 <member name="T:log4net.Core.SecurityContext">
14659 A SecurityContext used by log4net when interacting with protected resources
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.
14668 <author>Nicko Cadell</author>
14670 <member name="M:log4net.Core.SecurityContext.Impersonate(System.Object)">
14672 Impersonate this SecurityContext
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>
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.
14688 <member name="T:log4net.Core.SecurityContextProvider">
14690 The <see cref="T:log4net.Core.SecurityContextProvider"/> providers default <see cref="T:log4net.Core.SecurityContext"/> instances.
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"/>.
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.
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.
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.
14720 <author>Nicko Cadell</author>
14722 <member name="F:log4net.Core.SecurityContextProvider.s_defaultProvider">
14724 The default provider
14727 <member name="M:log4net.Core.SecurityContextProvider.#ctor">
14729 Protected default constructor to allow subclassing
14733 Protected default constructor to allow subclassing
14737 <member name="M:log4net.Core.SecurityContextProvider.CreateSecurityContext(System.Object)">
14739 Create a SecurityContext for a consumer
14741 <param name="consumer">The consumer requesting the SecurityContext</param>
14742 <returns>An impersonation context</returns>
14745 The default implementation is to return a <see cref="T:log4net.Util.NullSecurityContext"/>.
14748 Subclasses should override this method to provide their own
14753 <member name="P:log4net.Core.SecurityContextProvider.DefaultProvider">
14755 Gets or sets the default SecurityContextProvider
14758 The default SecurityContextProvider
14762 The default provider is used by configured components that
14763 require a <see cref="T:log4net.Core.SecurityContext"/> and have not had one
14767 By default this is an instance of <see cref="T:log4net.Core.SecurityContextProvider"/>
14768 that returns <see cref="T:log4net.Util.NullSecurityContext"/> objects.
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.
14777 <member name="T:log4net.Core.WrapperCreationHandler">
14779 Delegate used to handle creation of new wrappers.
14781 <param name="logger">The logger to wrap in a wrapper.</param>
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.
14789 The delegate to use is supplied to the <see cref="T:log4net.Core.WrapperMap"/>
14794 <member name="T:log4net.Core.WrapperMap">
14796 Maps between logger objects and wrapper objects.
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"/>.
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.
14812 <author>Nicko Cadell</author>
14813 <author>Gert Driesen</author>
14815 <member name="M:log4net.Core.WrapperMap.#ctor(log4net.Core.WrapperCreationHandler)">
14817 Initializes a new instance of the <see cref="T:log4net.Core.WrapperMap"/>
14819 <param name="createWrapperHandler">The handler to use to create the wrapper objects.</param>
14822 Initializes a new instance of the <see cref="T:log4net.Core.WrapperMap"/> class with
14823 the specified handler to create the wrapper objects.
14827 <member name="M:log4net.Core.WrapperMap.GetWrapper(log4net.Core.ILogger)">
14829 Gets the wrapper object for the specified logger.
14831 <returns>The wrapper object for the specified logger</returns>
14834 If the logger is null then the corresponding wrapper is null.
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
14844 <member name="M:log4net.Core.WrapperMap.CreateNewWrapperObject(log4net.Core.ILogger)">
14846 Creates the wrapper object for the specified logger.
14848 <param name="logger">The logger to wrap in a wrapper.</param>
14849 <returns>The wrapper object for the logger.</returns>
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.
14858 <member name="M:log4net.Core.WrapperMap.RepositoryShutdown(log4net.Repository.ILoggerRepository)">
14860 Called when a monitored repository shutdown event is received.
14862 <param name="repository">The <see cref="T:log4net.Repository.ILoggerRepository"/> that is shutting down</param>
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.
14873 <member name="M:log4net.Core.WrapperMap.ILoggerRepository_Shutdown(System.Object,System.EventArgs)">
14875 Event handler for repository shutdown event.
14877 <param name="sender">The sender of the event.</param>
14878 <param name="e">The event args.</param>
14880 <member name="F:log4net.Core.WrapperMap.m_repositories">
14882 Map of logger repositories to hashtables of ILogger to ILoggerWrapper mappings
14885 <member name="F:log4net.Core.WrapperMap.m_createWrapperHandler">
14887 The handler to use to create the extension wrapper objects.
14890 <member name="F:log4net.Core.WrapperMap.m_shutdownHandler">
14892 Internal reference to the delegate used to register for repository shutdown events.
14895 <member name="P:log4net.Core.WrapperMap.Repositories">
14897 Gets the map of logger repositories.
14900 Map of logger repositories.
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"/>.
14910 <member name="T:log4net.DateFormatter.AbsoluteTimeDateFormatter">
14912 Formats a <see cref="T:System.DateTime"/> as <c>"HH:mm:ss,fff"</c>.
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>.
14919 <author>Nicko Cadell</author>
14920 <author>Gert Driesen</author>
14922 <member name="T:log4net.DateFormatter.IDateFormatter">
14924 Render a <see cref="T:System.DateTime"/> as a string.
14928 Interface to abstract the rendering of a <see cref="T:System.DateTime"/>
14929 instance into a string.
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.
14936 <author>Nicko Cadell</author>
14937 <author>Gert Driesen</author>
14939 <member name="M:log4net.DateFormatter.IDateFormatter.FormatDate(System.DateTime,System.IO.TextWriter)">
14941 Formats the specified date as a string.
14943 <param name="dateToFormat">The date to format.</param>
14944 <param name="writer">The writer to write to.</param>
14947 Format the <see cref="T:System.DateTime"/> as a string and write it
14948 to the <see cref="T:System.IO.TextWriter"/> provided.
14952 <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.AbsoluteTimeDateFormat">
14954 String constant used to specify AbsoluteTimeDateFormat in layouts. Current value is <b>ABSOLUTE</b>.
14957 <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.DateAndTimeDateFormat">
14959 String constant used to specify DateTimeDateFormat in layouts. Current value is <b>DATE</b>.
14962 <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.Iso8601TimeDateFormat">
14964 String constant used to specify ISO8601DateFormat in layouts. Current value is <b>ISO8601</b>.
14967 <member name="M:log4net.DateFormatter.AbsoluteTimeDateFormatter.FormatDateWithoutMillis(System.DateTime,System.Text.StringBuilder)">
14969 Renders the date into a string. Format is <c>"HH:mm:ss"</c>.
14971 <param name="dateToFormat">The date to render into a string.</param>
14972 <param name="buffer">The string builder to write to.</param>
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.
14982 <member name="M:log4net.DateFormatter.AbsoluteTimeDateFormatter.FormatDate(System.DateTime,System.IO.TextWriter)">
14984 Renders the date into a string. Format is "HH:mm:ss,fff".
14986 <param name="dateToFormat">The date to render into a string.</param>
14987 <param name="writer">The writer to write to.</param>
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
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)"/>.
15002 <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.s_lastTimeToTheSecond">
15004 Last stored time with precision up to the second.
15007 <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.s_lastTimeBuf">
15009 Last stored time with precision up to the second, formatted
15013 <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.s_lastTimeString">
15015 Last stored time with precision up to the second, formatted
15019 <member name="T:log4net.DateFormatter.DateTimeDateFormatter">
15021 Formats a <see cref="T:System.DateTime"/> as <c>"dd MMM yyyy HH:mm:ss,fff"</c>
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>.
15030 <author>Nicko Cadell</author>
15031 <author>Gert Driesen</author>
15032 <author>Angelika Schnagl</author>
15034 <member name="M:log4net.DateFormatter.DateTimeDateFormatter.#ctor">
15036 Default constructor.
15040 Initializes a new instance of the <see cref="T:log4net.DateFormatter.DateTimeDateFormatter"/> class.
15044 <member name="M:log4net.DateFormatter.DateTimeDateFormatter.FormatDateWithoutMillis(System.DateTime,System.Text.StringBuilder)">
15046 Formats the date without the milliseconds part
15048 <param name="dateToFormat">The date to format.</param>
15049 <param name="buffer">The string builder to write to.</param>
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>.
15056 The base class will append the <c>",fff"</c> milliseconds section.
15057 This method will only be called at most once per second.
15061 <member name="F:log4net.DateFormatter.DateTimeDateFormatter.m_dateTimeFormatInfo">
15063 The format info for the invariant culture.
15066 <member name="T:log4net.DateFormatter.Iso8601DateFormatter">
15068 Formats the <see cref="T:System.DateTime"/> as <c>"yyyy-MM-dd HH:mm:ss,fff"</c>.
15072 Formats the <see cref="T:System.DateTime"/> specified as a string: <c>"yyyy-MM-dd HH:mm:ss,fff"</c>.
15075 <author>Nicko Cadell</author>
15076 <author>Gert Driesen</author>
15078 <member name="M:log4net.DateFormatter.Iso8601DateFormatter.#ctor">
15080 Default constructor
15084 Initializes a new instance of the <see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/> class.
15088 <member name="M:log4net.DateFormatter.Iso8601DateFormatter.FormatDateWithoutMillis(System.DateTime,System.Text.StringBuilder)">
15090 Formats the date without the milliseconds part
15092 <param name="dateToFormat">The date to format.</param>
15093 <param name="buffer">The string builder to write to.</param>
15096 Formats the date specified as a string: <c>"yyyy-MM-dd HH:mm:ss"</c>.
15099 The base class will append the <c>",fff"</c> milliseconds section.
15100 This method will only be called at most once per second.
15104 <member name="T:log4net.DateFormatter.SimpleDateFormatter">
15106 Formats the <see cref="T:System.DateTime"/> using the <see cref="M:System.DateTime.ToString(System.String,System.IFormatProvider)"/> method.
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.
15113 <author>Nicko Cadell</author>
15114 <author>Gert Driesen</author>
15116 <member name="M:log4net.DateFormatter.SimpleDateFormatter.#ctor(System.String)">
15120 <param name="format">The format string.</param>
15123 Initializes a new instance of the <see cref="T:log4net.DateFormatter.SimpleDateFormatter"/> class
15124 with the specified format string.
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)"/>.
15132 <member name="M:log4net.DateFormatter.SimpleDateFormatter.FormatDate(System.DateTime,System.IO.TextWriter)">
15134 Formats the date using <see cref="M:System.DateTime.ToString(System.String,System.IFormatProvider)"/>.
15136 <param name="dateToFormat">The date to convert to a string.</param>
15137 <param name="writer">The writer to write to.</param>
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.
15145 <member name="F:log4net.DateFormatter.SimpleDateFormatter.m_formatString">
15147 The format string used to format the <see cref="T:System.DateTime"/>.
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)"/>.
15156 <member name="T:log4net.Filter.DenyAllFilter">
15158 This filter drops all <see cref="T:log4net.Core.LoggingEvent"/>.
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"
15168 <author>Nicko Cadell</author>
15169 <author>Gert Driesen</author>
15171 <member name="T:log4net.Filter.FilterSkeleton">
15173 Subclass this type to implement customized logging event filtering
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.
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.
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"/>.
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.
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.
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.
15210 The philosophy of log4net filters is largely inspired from the
15214 <author>Nicko Cadell</author>
15215 <author>Gert Driesen</author>
15217 <member name="T:log4net.Filter.IFilter">
15219 Implement this interface to provide customized logging event filtering
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.
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.
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"/>.
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.
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.
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.
15256 The philosophy of log4net filters is largely inspired from the
15260 <author>Nicko Cadell</author>
15261 <author>Gert Driesen</author>
15263 <member name="M:log4net.Filter.IFilter.Decide(log4net.Core.LoggingEvent)">
15265 Decide if the logging event should be logged through an appender.
15267 <param name="loggingEvent">The LoggingEvent to decide upon</param>
15268 <returns>The decision of the filter</returns>
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
15279 <member name="P:log4net.Filter.IFilter.Next">
15281 Property to get and set the next filter
15284 The next filter in the chain
15288 Filters are typically composed into chains. This property allows the next filter in
15289 the chain to be accessed.
15293 <member name="F:log4net.Filter.FilterSkeleton.m_next">
15295 Points to the next filter in the filter chain.
15299 See <see cref="P:log4net.Filter.FilterSkeleton.Next"/> for more information.
15303 <member name="M:log4net.Filter.FilterSkeleton.ActivateOptions">
15305 Initialize the filter with the options set
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.
15316 If any of the configuration properties are modified then
15317 <see cref="M:log4net.Filter.FilterSkeleton.ActivateOptions"/> must be called again.
15320 Typically filter's options become active immediately on set,
15321 however this method must still be called.
15325 <member name="M:log4net.Filter.FilterSkeleton.Decide(log4net.Core.LoggingEvent)">
15327 Decide if the <see cref="T:log4net.Core.LoggingEvent"/> should be logged through an appender.
15329 <param name="loggingEvent">The <see cref="T:log4net.Core.LoggingEvent"/> to decide upon</param>
15330 <returns>The decision of the filter</returns>
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
15340 This method is marked <c>abstract</c> and must be implemented
15345 <member name="P:log4net.Filter.FilterSkeleton.Next">
15347 Property to get and set the next filter
15350 The next filter in the chain
15354 Filters are typically composed into chains. This property allows the next filter in
15355 the chain to be accessed.
15359 <member name="M:log4net.Filter.DenyAllFilter.#ctor">
15361 Default constructor
15364 <member name="M:log4net.Filter.DenyAllFilter.Decide(log4net.Core.LoggingEvent)">
15366 Always returns the integer constant <see cref="F:log4net.Filter.FilterDecision.Deny"/>
15368 <param name="loggingEvent">the LoggingEvent to filter</param>
15369 <returns>Always returns <see cref="F:log4net.Filter.FilterDecision.Deny"/></returns>
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!
15380 <member name="T:log4net.Filter.FilterDecision">
15382 The return result from <see cref="M:log4net.Filter.IFilter.Decide(log4net.Core.LoggingEvent)"/>
15386 The return result from <see cref="M:log4net.Filter.IFilter.Decide(log4net.Core.LoggingEvent)"/>
15390 <member name="F:log4net.Filter.FilterDecision.Deny">
15392 The log event must be dropped immediately without
15393 consulting with the remaining filters, if any, in the chain.
15396 <member name="F:log4net.Filter.FilterDecision.Neutral">
15398 This filter is neutral with respect to the log event.
15399 The remaining filters, if any, should be consulted for a final decision.
15402 <member name="F:log4net.Filter.FilterDecision.Accept">
15404 The log event must be logged immediately without
15405 consulting with the remaining filters, if any, in the chain.
15408 <member name="T:log4net.Filter.LevelMatchFilter">
15410 This is a very simple filter based on <see cref="T:log4net.Core.Level"/> matching.
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"/>.
15424 <author>Nicko Cadell</author>
15425 <author>Gert Driesen</author>
15427 <member name="F:log4net.Filter.LevelMatchFilter.m_acceptOnMatch">
15429 flag to indicate if the filter should <see cref="F:log4net.Filter.FilterDecision.Accept"/> on a match
15432 <member name="F:log4net.Filter.LevelMatchFilter.m_levelToMatch">
15434 the <see cref="T:log4net.Core.Level"/> to match against
15437 <member name="M:log4net.Filter.LevelMatchFilter.#ctor">
15439 Default constructor
15442 <member name="M:log4net.Filter.LevelMatchFilter.Decide(log4net.Core.LoggingEvent)">
15444 Tests if the <see cref="T:log4net.Core.Level"/> of the logging event matches that of the filter
15446 <param name="loggingEvent">the event to filter</param>
15447 <returns>see remarks</returns>
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"/>.
15459 <member name="P:log4net.Filter.LevelMatchFilter.AcceptOnMatch">
15461 <see cref="F:log4net.Filter.FilterDecision.Accept"/> when matching <see cref="P:log4net.Filter.LevelMatchFilter.LevelToMatch"/>
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.
15471 The default is <c>true</c> i.e. to <see cref="F:log4net.Filter.FilterDecision.Accept"/> the event.
15475 <member name="P:log4net.Filter.LevelMatchFilter.LevelToMatch">
15477 The <see cref="T:log4net.Core.Level"/> that the filter will match
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"/>.
15487 <member name="T:log4net.Filter.LevelRangeFilter">
15489 This is a simple filter based on <see cref="T:log4net.Core.Level"/> matching.
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.
15502 <author>Nicko Cadell</author>
15503 <author>Gert Driesen</author>
15505 <member name="F:log4net.Filter.LevelRangeFilter.m_acceptOnMatch">
15507 Flag to indicate the behavior when matching a <see cref="T:log4net.Core.Level"/>
15510 <member name="F:log4net.Filter.LevelRangeFilter.m_levelMin">
15512 the minimum <see cref="T:log4net.Core.Level"/> value to match
15515 <member name="F:log4net.Filter.LevelRangeFilter.m_levelMax">
15517 the maximum <see cref="T:log4net.Core.Level"/> value to match
15520 <member name="M:log4net.Filter.LevelRangeFilter.#ctor">
15522 Default constructor
15525 <member name="M:log4net.Filter.LevelRangeFilter.Decide(log4net.Core.LoggingEvent)">
15527 Check if the event should be logged.
15529 <param name="loggingEvent">the logging event to check</param>
15530 <returns>see remarks</returns>
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.
15542 <member name="P:log4net.Filter.LevelRangeFilter.AcceptOnMatch">
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"/>
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.
15554 The default is <c>true</c> i.e. to <see cref="F:log4net.Filter.FilterDecision.Accept"/> the event.
15558 <member name="P:log4net.Filter.LevelRangeFilter.LevelMin">
15560 Set the minimum matched <see cref="T:log4net.Core.Level"/>
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"/>.
15570 <member name="P:log4net.Filter.LevelRangeFilter.LevelMax">
15572 Sets the maximum matched <see cref="T:log4net.Core.Level"/>
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"/>.
15582 <member name="T:log4net.Filter.LoggerMatchFilter">
15584 Simple filter to match a string in the event's logger name.
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.
15597 <author>Daniel Cazzulino</author>
15599 <member name="F:log4net.Filter.LoggerMatchFilter.m_acceptOnMatch">
15601 Flag to indicate the behavior when we have a match
15604 <member name="F:log4net.Filter.LoggerMatchFilter.m_loggerToMatch">
15606 The logger name string to substring match against the event
15609 <member name="M:log4net.Filter.LoggerMatchFilter.#ctor">
15611 Default constructor
15614 <member name="M:log4net.Filter.LoggerMatchFilter.Decide(log4net.Core.LoggingEvent)">
15616 Check if this filter should allow the event to be logged
15618 <param name="loggingEvent">the event being logged</param>
15619 <returns>see remarks</returns>
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.
15634 <member name="P:log4net.Filter.LoggerMatchFilter.AcceptOnMatch">
15636 <see cref="F:log4net.Filter.FilterDecision.Accept"/> when matching <see cref="P:log4net.Filter.LoggerMatchFilter.LoggerToMatch"/>
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.
15646 The default is <c>true</c> i.e. to <see cref="F:log4net.Filter.FilterDecision.Accept"/> the event.
15650 <member name="P:log4net.Filter.LoggerMatchFilter.LoggerToMatch">
15652 The <see cref="P:log4net.Core.LoggingEvent.LoggerName"/> that the filter will match
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"/>.
15664 <member name="T:log4net.Filter.MdcFilter">
15666 Simple filter to match a keyed string in the <see cref="T:log4net.MDC"/>
15670 Simple filter to match a keyed string in the <see cref="T:log4net.MDC"/>
15673 As the MDC has been replaced with layered properties the
15674 <see cref="T:log4net.Filter.PropertyFilter"/> should be used instead.
15677 <author>Nicko Cadell</author>
15678 <author>Gert Driesen</author>
15680 <member name="T:log4net.Filter.PropertyFilter">
15682 Simple filter to match a string an event property
15686 Simple filter to match a string in the value for a
15687 specific event property
15690 <author>Nicko Cadell</author>
15692 <member name="T:log4net.Filter.StringMatchFilter">
15694 Simple filter to match a string in the rendered message
15698 Simple filter to match a string in the rendered message
15701 <author>Nicko Cadell</author>
15702 <author>Gert Driesen</author>
15704 <member name="F:log4net.Filter.StringMatchFilter.m_acceptOnMatch">
15706 Flag to indicate the behavior when we have a match
15709 <member name="F:log4net.Filter.StringMatchFilter.m_stringToMatch">
15711 The string to substring match against the message
15714 <member name="F:log4net.Filter.StringMatchFilter.m_stringRegexToMatch">
15716 A string regex to match
15719 <member name="F:log4net.Filter.StringMatchFilter.m_regexToMatch">
15721 A regex object to match (generated from m_stringRegexToMatch)
15724 <member name="M:log4net.Filter.StringMatchFilter.#ctor">
15726 Default constructor
15729 <member name="M:log4net.Filter.StringMatchFilter.ActivateOptions">
15731 Initialize and precompile the Regex if required
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.
15742 If any of the configuration properties are modified then
15743 <see cref="M:log4net.Filter.StringMatchFilter.ActivateOptions"/> must be called again.
15747 <member name="M:log4net.Filter.StringMatchFilter.Decide(log4net.Core.LoggingEvent)">
15749 Check if this filter should allow the event to be logged
15751 <param name="loggingEvent">the event being logged</param>
15752 <returns>see remarks</returns>
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.
15766 <member name="P:log4net.Filter.StringMatchFilter.AcceptOnMatch">
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"/>
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.
15778 The default is <c>true</c> i.e. to <see cref="F:log4net.Filter.FilterDecision.Accept"/> the event.
15782 <member name="P:log4net.Filter.StringMatchFilter.StringToMatch">
15784 Sets the static string to match
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"/>.
15794 One of <see cref="P:log4net.Filter.StringMatchFilter.StringToMatch"/> or <see cref="P:log4net.Filter.StringMatchFilter.RegexToMatch"/>
15799 <member name="P:log4net.Filter.StringMatchFilter.RegexToMatch">
15801 Sets the regular expression to match
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"/>.
15811 One of <see cref="P:log4net.Filter.StringMatchFilter.StringToMatch"/> or <see cref="P:log4net.Filter.StringMatchFilter.RegexToMatch"/>
15816 <member name="F:log4net.Filter.PropertyFilter.m_key">
15818 The key to use to lookup the string from the event properties
15821 <member name="M:log4net.Filter.PropertyFilter.#ctor">
15823 Default constructor
15826 <member name="M:log4net.Filter.PropertyFilter.Decide(log4net.Core.LoggingEvent)">
15828 Check if this filter should allow the event to be logged
15830 <param name="loggingEvent">the event being logged</param>
15831 <returns>see remarks</returns>
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.
15846 <member name="P:log4net.Filter.PropertyFilter.Key">
15848 The key to lookup in the event properties and then match against.
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.
15858 <member name="T:log4net.Filter.NdcFilter">
15860 Simple filter to match a string in the <see cref="T:log4net.NDC"/>
15864 Simple filter to match a string in the <see cref="T:log4net.NDC"/>
15867 As the MDC has been replaced with named stacks stored in the
15868 properties collections the <see cref="T:log4net.Filter.PropertyFilter"/> should
15872 <author>Nicko Cadell</author>
15873 <author>Gert Driesen</author>
15875 <member name="M:log4net.Filter.NdcFilter.#ctor">
15877 Default constructor
15881 Sets the <see cref="P:log4net.Filter.PropertyFilter.Key"/> to <c>"NDC"</c>.
15885 <member name="T:log4net.Layout.Pattern.AppDomainPatternConverter">
15887 Write the event appdomain name to the output
15891 Writes the <see cref="P:log4net.Core.LoggingEvent.Domain"/> to the output writer.
15894 <author>Daniel Cazzulino</author>
15895 <author>Nicko Cadell</author>
15897 <member name="T:log4net.Layout.Pattern.PatternLayoutConverter">
15899 Abstract class that provides the formatting functionality that
15900 derived classes need.
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.
15907 <author>Nicko Cadell</author>
15909 <member name="T:log4net.Util.PatternConverter">
15911 Abstract class that provides the formatting functionality that
15912 derived classes need.
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.
15921 <author>Nicko Cadell</author>
15922 <author>Gert Driesen</author>
15924 <member name="F:log4net.Util.PatternConverter.c_renderBufferSize">
15926 Initial buffer size
15929 <member name="F:log4net.Util.PatternConverter.c_renderBufferMaxCapacity">
15931 Maximum buffer size before it is recycled
15934 <member name="M:log4net.Util.PatternConverter.#ctor">
15936 Protected constructor
15940 Initializes a new instance of the <see cref="T:log4net.Util.PatternConverter"/> class.
15944 <member name="M:log4net.Util.PatternConverter.Convert(System.IO.TextWriter,System.Object)">
15946 Evaluate this pattern converter and write the output to a writer.
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>
15952 Derived pattern converters must override this method in order to
15953 convert conversion specifiers in the appropriate way.
15957 <member name="M:log4net.Util.PatternConverter.SetNext(log4net.Util.PatternConverter)">
15959 Set the next pattern converter in the chains
15961 <param name="patternConverter">the pattern converter that should follow this converter in the chain</param>
15962 <returns>the next converter</returns>
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.
15970 <member name="M:log4net.Util.PatternConverter.Format(System.IO.TextWriter,System.Object)">
15972 Write the pattern converter to the writer with appropriate formatting
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>
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.
15985 <member name="M:log4net.Util.PatternConverter.SpacePad(System.IO.TextWriter,System.Int32)">
15987 Fast space padding method.
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>
15993 Fast space padding method.
15997 <member name="F:log4net.Util.PatternConverter.m_option">
15999 The option string to the converter
16002 <member name="M:log4net.Util.PatternConverter.WriteDictionary(System.IO.TextWriter,log4net.Repository.ILoggerRepository,System.Collections.IDictionary)">
16004 Write an dictionary to a <see cref="T:System.IO.TextWriter"/>
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>
16011 Writes the <see cref="T:System.Collections.IDictionary"/> to a writer in the form:
16014 {key1=value1, key2=value2, key3=value3}
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.
16023 <member name="M:log4net.Util.PatternConverter.WriteObject(System.IO.TextWriter,log4net.Repository.ILoggerRepository,System.Object)">
16025 Write an object to a <see cref="T:System.IO.TextWriter"/>
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>
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.
16038 <member name="P:log4net.Util.PatternConverter.Next">
16040 Get the next pattern converter in the chain
16043 the next pattern converter in the chain
16047 Get the next pattern converter in the chain
16051 <member name="P:log4net.Util.PatternConverter.FormattingInfo">
16053 Gets or sets the formatting info for this converter
16056 The formatting info for this converter
16060 Gets or sets the formatting info for this converter
16064 <member name="P:log4net.Util.PatternConverter.Option">
16066 Gets or sets the option value for this converter
16069 The option for this converter
16073 Gets or sets the option value for this converter
16077 <member name="M:log4net.Layout.Pattern.PatternLayoutConverter.#ctor">
16079 Initializes a new instance of the <see cref="T:log4net.Layout.Pattern.PatternLayoutConverter"/> class.
16082 <member name="M:log4net.Layout.Pattern.PatternLayoutConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16084 Derived pattern converters must override this method in order to
16085 convert conversion specifiers in the correct way.
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>
16090 <member name="M:log4net.Layout.Pattern.PatternLayoutConverter.Convert(System.IO.TextWriter,System.Object)">
16092 Derived pattern converters must override this method in order to
16093 convert conversion specifiers in the correct way.
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>
16098 <member name="F:log4net.Layout.Pattern.PatternLayoutConverter.m_ignoresException">
16100 Flag indicating if this converter handles exceptions
16103 <c>false</c> if this converter handles exceptions
16106 <member name="P:log4net.Layout.Pattern.PatternLayoutConverter.IgnoresException">
16108 Flag indicating if this converter handles the logging event exception
16110 <value><c>false</c> if this converter handles the logging event exception</value>
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>.
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.
16124 <member name="M:log4net.Layout.Pattern.AppDomainPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16126 Write the event appdomain name to the output
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>
16132 Writes the <see cref="P:log4net.Core.LoggingEvent.Domain"/> to the output <paramref name="writer"/>.
16136 <member name="T:log4net.Layout.Pattern.DatePatternConverter">
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"/>.
16143 Render the <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> to the writer as a string.
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">
16150 <term>Option value</term>
16151 <description>Output</description>
16154 <term>ISO8601</term>
16156 Uses the <see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/> formatter.
16157 Formats using the <c>"yyyy-MM-dd HH:mm:ss,fff"</c> pattern.
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>.
16168 <term>ABSOLUTE</term>
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>.
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>.
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"/>.
16191 <author>Nicko Cadell</author>
16193 <member name="F:log4net.Layout.Pattern.DatePatternConverter.m_dateFormatter">
16195 The <see cref="T:log4net.DateFormatter.IDateFormatter"/> used to render the date to a string
16199 The <see cref="T:log4net.DateFormatter.IDateFormatter"/> used to render the date to a string
16203 <member name="M:log4net.Layout.Pattern.DatePatternConverter.ActivateOptions">
16205 Initialize the converter pattern based on the <see cref="P:log4net.Util.PatternConverter.Option"/> property.
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.
16216 If any of the configuration properties are modified then
16217 <see cref="M:log4net.Layout.Pattern.DatePatternConverter.ActivateOptions"/> must be called again.
16221 <member name="M:log4net.Layout.Pattern.DatePatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16223 Convert the pattern into the rendered message
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>
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.
16233 The <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> passed is in the local time zone.
16237 <member name="T:log4net.Layout.Pattern.ExceptionPatternConverter">
16239 Write the exception text to the output
16243 If an exception object is stored in the logging event
16244 it will be rendered into the pattern output with a
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.
16254 <author>Nicko Cadell</author>
16256 <member name="M:log4net.Layout.Pattern.ExceptionPatternConverter.#ctor">
16258 Default constructor
16261 <member name="M:log4net.Layout.Pattern.ExceptionPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16263 Write the exception text to the output
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>
16269 If an exception object is stored in the logging event
16270 it will be rendered into the pattern output with a
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.
16281 <member name="T:log4net.Layout.Pattern.FileLocationPatternConverter">
16283 Writes the caller location file name to the output
16287 Writes the value of the <see cref="P:log4net.Core.LocationInfo.FileName"/> for
16288 the event to the output writer.
16291 <author>Nicko Cadell</author>
16293 <member name="M:log4net.Layout.Pattern.FileLocationPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16295 Write the caller location file name to the output
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>
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"/>.
16306 <member name="T:log4net.Layout.Pattern.FullLocationPatternConverter">
16308 Write the caller location info to the output
16312 Writes the <see cref="P:log4net.Core.LocationInfo.FullInfo"/> to the output writer.
16315 <author>Nicko Cadell</author>
16317 <member name="M:log4net.Layout.Pattern.FullLocationPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16319 Write the caller location info to the output
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>
16325 Writes the <see cref="P:log4net.Core.LocationInfo.FullInfo"/> to the output writer.
16329 <member name="T:log4net.Layout.Pattern.IdentityPatternConverter">
16331 Writes the event identity to the output
16335 Writes the value of the <see cref="P:log4net.Core.LoggingEvent.Identity"/> to
16339 <author>Daniel Cazzulino</author>
16340 <author>Nicko Cadell</author>
16342 <member name="M:log4net.Layout.Pattern.IdentityPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16344 Writes the event identity to the output
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>
16350 Writes the value of the <paramref name="loggingEvent"/>
16351 <see cref="P:log4net.Core.LoggingEvent.Identity"/> to
16352 the output <paramref name="writer"/>.
16356 <member name="T:log4net.Layout.Pattern.LevelPatternConverter">
16358 Write the event level to the output
16362 Writes the display name of the event <see cref="P:log4net.Core.LoggingEvent.Level"/>
16366 <author>Nicko Cadell</author>
16368 <member name="M:log4net.Layout.Pattern.LevelPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16370 Write the event level to the output
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>
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"/>.
16381 <member name="T:log4net.Layout.Pattern.LineLocationPatternConverter">
16383 Write the caller location line number to the output
16387 Writes the value of the <see cref="P:log4net.Core.LocationInfo.LineNumber"/> for
16388 the event to the output writer.
16391 <author>Nicko Cadell</author>
16393 <member name="M:log4net.Layout.Pattern.LineLocationPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16395 Write the caller location line number to the output
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>
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"/>.
16406 <member name="T:log4net.Layout.Pattern.LoggerPatternConverter">
16408 Converter for logger name
16412 Outputs the <see cref="P:log4net.Core.LoggingEvent.LoggerName"/> of the event.
16415 <author>Nicko Cadell</author>
16417 <member name="T:log4net.Layout.Pattern.NamedPatternConverter">
16419 Converter to output and truncate <c>'.'</c> separated strings
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.
16428 Subclasses should override the <see cref="M:log4net.Layout.Pattern.NamedPatternConverter.GetFullyQualifiedName(log4net.Core.LoggingEvent)"/> method to
16429 return the fully qualified string.
16432 <author>Nicko Cadell</author>
16434 <member name="M:log4net.Layout.Pattern.NamedPatternConverter.ActivateOptions">
16436 Initialize the converter
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.
16447 If any of the configuration properties are modified then
16448 <see cref="M:log4net.Layout.Pattern.NamedPatternConverter.ActivateOptions"/> must be called again.
16452 <member name="M:log4net.Layout.Pattern.NamedPatternConverter.GetFullyQualifiedName(log4net.Core.LoggingEvent)">
16454 Get the fully qualified string data
16456 <param name="loggingEvent">the event being logged</param>
16457 <returns>the fully qualified name</returns>
16460 Overridden by subclasses to get the fully qualified name before the
16461 precision is applied to it.
16464 Return the fully qualified <c>'.'</c> (dot/period) separated string.
16468 <member name="M:log4net.Layout.Pattern.NamedPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16470 Convert the pattern to the rendered message
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>
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.
16479 <member name="M:log4net.Layout.Pattern.LoggerPatternConverter.GetFullyQualifiedName(log4net.Core.LoggingEvent)">
16481 Gets the fully qualified name of the logger
16483 <param name="loggingEvent">the event being logged</param>
16484 <returns>The fully qualified logger name</returns>
16487 Returns the <see cref="P:log4net.Core.LoggingEvent.LoggerName"/> of the <paramref name="loggingEvent"/>.
16491 <member name="T:log4net.Layout.Pattern.MessagePatternConverter">
16493 Writes the event message to the output
16497 Uses the <see cref="M:log4net.Core.LoggingEvent.WriteRenderedMessage(System.IO.TextWriter)"/> method
16498 to write out the event message.
16501 <author>Nicko Cadell</author>
16503 <member name="M:log4net.Layout.Pattern.MessagePatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16505 Writes the event message to the output
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>
16511 Uses the <see cref="M:log4net.Core.LoggingEvent.WriteRenderedMessage(System.IO.TextWriter)"/> method
16512 to write out the event message.
16516 <member name="T:log4net.Layout.Pattern.MethodLocationPatternConverter">
16518 Write the method name to the output
16522 Writes the caller location <see cref="P:log4net.Core.LocationInfo.MethodName"/> to
16526 <author>Nicko Cadell</author>
16528 <member name="M:log4net.Layout.Pattern.MethodLocationPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16530 Write the method name to the output
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>
16536 Writes the caller location <see cref="P:log4net.Core.LocationInfo.MethodName"/> to
16541 <member name="T:log4net.Layout.Pattern.NdcPatternConverter">
16543 Converter to include event NDC
16547 Outputs the value of the event property named <c>NDC</c>.
16550 The <see cref="T:log4net.Layout.Pattern.PropertyPatternConverter"/> should be used instead.
16553 <author>Nicko Cadell</author>
16555 <member name="M:log4net.Layout.Pattern.NdcPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16557 Write the event NDC to the output
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>
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.
16567 The <see cref="T:log4net.Layout.Pattern.PropertyPatternConverter"/> should be used instead.
16571 <member name="T:log4net.Layout.Pattern.PropertyPatternConverter">
16573 Property pattern converter
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"/>
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.
16586 <author>Nicko Cadell</author>
16588 <member name="M:log4net.Layout.Pattern.PropertyPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16590 Write the property value to the output
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>
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"/>
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.
16606 <member name="T:log4net.Layout.Pattern.RelativeTimePatternConverter">
16608 Converter to output the relative time of the event
16612 Converter to output the time of the event relative to the start of the program.
16615 <author>Nicko Cadell</author>
16617 <member name="M:log4net.Layout.Pattern.RelativeTimePatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16619 Write the relative time to the output
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>
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"/>.
16631 <member name="M:log4net.Layout.Pattern.RelativeTimePatternConverter.TimeDifferenceInMillis(System.DateTime,System.DateTime)">
16633 Helper method to get the time difference between two DateTime objects
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>
16639 <member name="T:log4net.Layout.Pattern.ThreadPatternConverter">
16641 Converter to include event thread name
16645 Writes the <see cref="P:log4net.Core.LoggingEvent.ThreadName"/> to the output.
16648 <author>Nicko Cadell</author>
16650 <member name="M:log4net.Layout.Pattern.ThreadPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16652 Write the ThreadName to the output
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>
16658 Writes the <see cref="P:log4net.Core.LoggingEvent.ThreadName"/> to the <paramref name="writer"/>.
16662 <member name="T:log4net.Layout.Pattern.TypeNamePatternConverter">
16664 Pattern converter for the class name
16668 Outputs the <see cref="P:log4net.Core.LocationInfo.ClassName"/> of the event.
16671 <author>Nicko Cadell</author>
16673 <member name="M:log4net.Layout.Pattern.TypeNamePatternConverter.GetFullyQualifiedName(log4net.Core.LoggingEvent)">
16675 Gets the fully qualified name of the class
16677 <param name="loggingEvent">the event being logged</param>
16678 <returns>The fully qualified type name for the caller location</returns>
16681 Returns the <see cref="P:log4net.Core.LocationInfo.ClassName"/> of the <paramref name="loggingEvent"/>.
16685 <member name="T:log4net.Layout.Pattern.UserNamePatternConverter">
16687 Converter to include event user name
16689 <author>Douglas de la Torre</author>
16690 <author>Nicko Cadell</author>
16692 <member name="M:log4net.Layout.Pattern.UserNamePatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16694 Convert the pattern to the rendered message
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>
16699 <member name="T:log4net.Layout.Pattern.UtcDatePatternConverter">
16701 Write the TimeStamp to the output
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"/>.
16709 Uses a <see cref="T:log4net.DateFormatter.IDateFormatter"/> to format the <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/>
16713 See the <see cref="T:log4net.Layout.Pattern.DatePatternConverter"/> for details on the date pattern syntax.
16716 <seealso cref="T:log4net.Layout.Pattern.DatePatternConverter"/>
16717 <author>Nicko Cadell</author>
16719 <member name="M:log4net.Layout.Pattern.UtcDatePatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16721 Write the TimeStamp to the output
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>
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.
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.
16735 <seealso cref="T:log4net.Layout.Pattern.DatePatternConverter"/>
16737 <member name="T:log4net.Layout.ExceptionLayout">
16739 A Layout that renders only the Exception text from the logging event
16743 A Layout that renders only the Exception text from the logging event.
16746 This Layout should only be used with appenders that utilize multiple
16747 layouts (e.g. <see cref="T:log4net.Appender.AdoNetAppender"/>).
16750 <author>Nicko Cadell</author>
16751 <author>Gert Driesen</author>
16753 <member name="T:log4net.Layout.LayoutSkeleton">
16755 Extend this abstract class to create your own log layout format.
16759 This is the base implementation of the <see cref="T:log4net.Layout.ILayout"/>
16760 interface. Most layout objects should extend this class.
16764 <note type="inheritinfo">
16766 Subclasses must implement the <see cref="M:log4net.Layout.LayoutSkeleton.Format(System.IO.TextWriter,log4net.Core.LoggingEvent)"/>
16770 Subclasses should set the <see cref="P:log4net.Layout.LayoutSkeleton.IgnoresException"/> in their default
16775 <author>Nicko Cadell</author>
16776 <author>Gert Driesen</author>
16778 <member name="T:log4net.Layout.ILayout">
16780 Interface implemented by layout objects
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.
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.
16793 <author>Nicko Cadell</author>
16794 <author>Gert Driesen</author>
16796 <member name="M:log4net.Layout.ILayout.Format(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16798 Implement this method to create your own layout format.
16800 <param name="writer">The TextWriter to write the formatted event to</param>
16801 <param name="loggingEvent">The event to format</param>
16804 This method is called by an appender to format
16805 the <paramref name="loggingEvent"/> as text and output to a writer.
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"/>.
16813 StringWriter writer = new StringWriter();
16814 Layout.Format(writer, loggingEvent);
16815 string formattedEvent = writer.ToString();
16819 <member name="P:log4net.Layout.ILayout.ContentType">
16821 The content type output by this layout.
16823 <value>The content type</value>
16826 The content type output by this layout.
16829 This is a MIME type e.g. <c>"text/plain"</c>.
16833 <member name="P:log4net.Layout.ILayout.Header">
16835 The header for the layout format.
16837 <value>the layout header</value>
16840 The Header text will be appended before any logging events
16841 are formatted and appended.
16845 <member name="P:log4net.Layout.ILayout.Footer">
16847 The footer for the layout format.
16849 <value>the layout footer</value>
16852 The Footer text will be appended after all the logging events
16853 have been formatted and appended.
16857 <member name="P:log4net.Layout.ILayout.IgnoresException">
16859 Flag indicating if this layout handle exceptions
16861 <value><c>false</c> if this layout handles exceptions</value>
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>.
16871 <member name="F:log4net.Layout.LayoutSkeleton.m_header">
16877 See <see cref="P:log4net.Layout.LayoutSkeleton.Header"/> for more information.
16881 <member name="F:log4net.Layout.LayoutSkeleton.m_footer">
16887 See <see cref="P:log4net.Layout.LayoutSkeleton.Footer"/> for more information.
16891 <member name="F:log4net.Layout.LayoutSkeleton.m_ignoresException">
16893 Flag indicating if this layout handles exceptions
16897 <c>false</c> if this layout handles exceptions
16901 <member name="M:log4net.Layout.LayoutSkeleton.#ctor">
16903 Empty default constructor
16907 Empty default constructor
16911 <member name="M:log4net.Layout.LayoutSkeleton.ActivateOptions">
16913 Activate component options
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.
16924 If any of the configuration properties are modified then
16925 <see cref="M:log4net.Layout.LayoutSkeleton.ActivateOptions"/> must be called again.
16928 This method must be implemented by the subclass.
16932 <member name="M:log4net.Layout.LayoutSkeleton.Format(System.IO.TextWriter,log4net.Core.LoggingEvent)">
16934 Implement this method to create your own layout format.
16936 <param name="writer">The TextWriter to write the formatted event to</param>
16937 <param name="loggingEvent">The event to format</param>
16940 This method is called by an appender to format
16941 the <paramref name="loggingEvent"/> as text.
16945 <member name="P:log4net.Layout.LayoutSkeleton.ContentType">
16947 The content type output by this layout.
16949 <value>The content type is <c>"text/plain"</c></value>
16952 The content type output by this layout.
16955 This base class uses the value <c>"text/plain"</c>.
16956 To change this value a subclass must override this
16961 <member name="P:log4net.Layout.LayoutSkeleton.Header">
16963 The header for the layout format.
16965 <value>the layout header</value>
16968 The Header text will be appended before any logging events
16969 are formatted and appended.
16973 <member name="P:log4net.Layout.LayoutSkeleton.Footer">
16975 The footer for the layout format.
16977 <value>the layout footer</value>
16980 The Footer text will be appended after all the logging events
16981 have been formatted and appended.
16985 <member name="P:log4net.Layout.LayoutSkeleton.IgnoresException">
16987 Flag indicating if this layout handles exceptions
16989 <value><c>false</c> if this layout handles exceptions</value>
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>.
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.
17003 <member name="M:log4net.Layout.ExceptionLayout.#ctor">
17005 Default constructor
17009 Constructs a ExceptionLayout
17013 <member name="M:log4net.Layout.ExceptionLayout.ActivateOptions">
17015 Activate component options
17019 Part of the <see cref="T:log4net.Core.IOptionHandler"/> component activation
17023 This method does nothing as options become effective immediately.
17027 <member name="M:log4net.Layout.ExceptionLayout.Format(System.IO.TextWriter,log4net.Core.LoggingEvent)">
17029 Gets the exception text from the logging event
17031 <param name="writer">The TextWriter to write the formatted event to</param>
17032 <param name="loggingEvent">the event being logged</param>
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"/>.
17040 <member name="T:log4net.Layout.IRawLayout">
17042 Interface for raw layout objects
17046 Interface used to format a <see cref="T:log4net.Core.LoggingEvent"/>
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.
17057 <author>Nicko Cadell</author>
17058 <author>Gert Driesen</author>
17060 <member name="M:log4net.Layout.IRawLayout.Format(log4net.Core.LoggingEvent)">
17062 Implement this method to create your own layout format.
17064 <param name="loggingEvent">The event to format</param>
17065 <returns>returns the formatted event</returns>
17068 Implement this method to create your own layout format.
17072 <member name="T:log4net.Layout.Layout2RawLayoutAdapter">
17074 Adapts any <see cref="T:log4net.Layout.ILayout"/> to a <see cref="T:log4net.Layout.IRawLayout"/>
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.
17082 <author>Nicko Cadell</author>
17083 <author>Gert Driesen</author>
17085 <member name="F:log4net.Layout.Layout2RawLayoutAdapter.m_layout">
17087 The layout to adapt
17090 <member name="M:log4net.Layout.Layout2RawLayoutAdapter.#ctor(log4net.Layout.ILayout)">
17092 Construct a new adapter
17094 <param name="layout">the layout to adapt</param>
17097 Create the adapter for the specified <paramref name="layout"/>.
17101 <member name="M:log4net.Layout.Layout2RawLayoutAdapter.Format(log4net.Core.LoggingEvent)">
17103 Format the logging event as an object.
17105 <param name="loggingEvent">The event to format</param>
17106 <returns>returns the formatted event</returns>
17109 Format the logging event as an object.
17112 Uses the <see cref="T:log4net.Layout.ILayout"/> object supplied to
17113 the constructor to perform the formatting.
17117 <member name="T:log4net.Layout.PatternLayout">
17119 A flexible layout configurable with pattern string.
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>.
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>.
17134 <i>You are free to insert any literal text within the conversion
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.
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
17151 ILog log = LogManager.GetLogger(typeof(TestApp));
17152 log.Debug("Message 1");
17153 log.Warn("Message 2");
17155 <para>would yield the output</para>
17157 DEBUG [main]: Message 1
17158 WARN [main]: Message 2
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.
17169 The recognized conversion pattern names are:
17171 <list type="table">
17173 <term>Conversion Pattern Name</term>
17174 <description>Effect</description>
17178 <description>Equivalent to <b>appdomain</b></description>
17181 <term>appdomain</term>
17183 Used to output the friendly name of the AppDomain where the
17184 logging event was generated.
17189 <description>Equivalent to <b>logger</b></description>
17193 <description>Equivalent to <b>type</b></description>
17197 <description>Equivalent to <b>type</b></description>
17201 <description>Equivalent to <b>date</b></description>
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"/>).
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)"/>.
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>.
17230 These dedicated date formatters perform significantly
17231 better than <see cref="M:System.DateTime.ToString(System.String)"/>.
17236 <term>exception</term>
17239 Used to output the exception passed in with the log message.
17242 If an exception object is stored in the logging event
17243 it will be rendered into the pattern output with a
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.
17254 <description>Equivalent to <b>file</b></description>
17260 Used to output the file name where the logging request was
17264 <b>WARNING</b> Generating caller location information is
17265 extremely slow. Its use should be avoided unless execution speed
17269 See the note below on the availability of caller location information.
17274 <term>identity</term>
17277 Used to output the user name for the currently active user
17278 (Principal.Identity.Name).
17281 <b>WARNING</b> Generating caller information is
17282 extremely slow. Its use should be avoided unless execution speed
17289 <description>Equivalent to <b>location</b></description>
17293 <description>Equivalent to <b>line</b></description>
17296 <term>location</term>
17299 Used to output location information of the caller which generated
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.
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.
17314 See the note below on the availability of caller location information.
17322 Used to output the level of the logging event.
17330 Used to output the line number from where the logging request
17334 <b>WARNING</b> Generating caller location information is
17335 extremely slow. Its use should be avoided unless execution speed
17339 See the note below on the availability of caller location information.
17344 <term>logger</term>
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
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.
17358 For example, for the logger name "a.b.c" the pattern
17359 <b>%logger{2}</b> will output "b.c".
17365 <description>Equivalent to <b>message</b></description>
17369 <description>Equivalent to <b>method</b></description>
17372 <term>message</term>
17375 Used to output the application supplied message associated with
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>.
17391 <term>method</term>
17394 Used to output the method name where the logging request was
17398 <b>WARNING</b> Generating caller location information is
17399 extremely slow. Its use should be avoided unless execution speed
17403 See the note below on the availability of caller location information.
17409 <description>Equivalent to <b>newline</b></description>
17412 <term>newline</term>
17415 Outputs the platform dependent line separator character or
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.
17429 Used to output the NDC (nested diagnostic context) associated
17430 with the thread that generated the logging event.
17436 <description>Equivalent to <b>level</b></description>
17440 <description>Equivalent to <b>property</b></description>
17443 <term>properties</term>
17444 <description>Equivalent to <b>property</b></description>
17447 <term>property</term>
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.
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.
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.
17467 <list type="definition">
17469 <term>the event properties</term>
17471 The event has <see cref="P:log4net.Core.LoggingEvent.Properties"/> that can be set. These
17472 properties are specific to this event only.
17476 <term>the thread properties</term>
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.
17483 <term>the global properties</term>
17485 The <see cref="P:log4net.GlobalContext.Properties"/> that are set globally. These
17486 properties are shared by all the threads in the AppDomain.
17495 <description>Equivalent to <b>timestamp</b></description>
17499 <description>Equivalent to <b>thread</b></description>
17502 <term>timestamp</term>
17505 Used to output the number of milliseconds elapsed since the start
17506 of the application until the creation of the logging event.
17511 <term>thread</term>
17514 Used to output the name of the thread that generated the
17515 logging event. Uses the thread number if no name is available.
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.
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.
17534 For example, for the class name "log4net.Layout.PatternLayout", the
17535 pattern <b>%type{1}</b> will output "PatternLayout".
17538 <b>WARNING</b> Generating the caller class information is
17539 slow. Thus, its use should be avoided unless execution speed is
17543 See the note below on the availability of caller location information.
17549 <description>Equivalent to <b>identity</b></description>
17552 <term>username</term>
17555 Used to output the WindowsIdentity for the currently
17559 <b>WARNING</b> Generating caller WindowsIdentity information is
17560 extremely slow. Its use should be avoided unless execution speed
17566 <term>utcdate</term>
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"/>).
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)"/>.
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>.
17591 These dedicated date formatters perform significantly
17592 better than <see cref="M:System.DateTime.ToString(System.String)"/>.
17598 <description>Equivalent to <b>username</b></description>
17602 <description>Equivalent to <b>ndc</b></description>
17606 <description>Equivalent to <b>mdc</b></description>
17612 The sequence %% outputs a single percent sign.
17618 The single letter patterns are deprecated in favor of the
17619 longer more descriptive pattern names.
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.
17627 The optional format modifier is placed between the percent sign
17628 and the conversion pattern name.
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.
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.
17655 Below are various format modifier examples for the logger
17656 conversion specifier.
17658 <div class="tablediv">
17659 <table class="dtTABLE" cellspacing="0">
17661 <th>Format modifier</th>
17662 <th>left justify</th>
17663 <th>minimum width</th>
17664 <th>maximum width</th>
17668 <td align="center">%20logger</td>
17669 <td align="center">false</td>
17670 <td align="center">20</td>
17671 <td align="center">none</td>
17674 Left pad with spaces if the logger name is less than 20
17680 <td align="center">%-20logger</td>
17681 <td align="center">true</td>
17682 <td align="center">20</td>
17683 <td align="center">none</td>
17686 Right pad with spaces if the logger
17687 name is less than 20 characters long.
17692 <td align="center">%.30logger</td>
17693 <td align="center">NA</td>
17694 <td align="center">none</td>
17695 <td align="center">30</td>
17698 Truncate from the beginning if the logger
17699 name is longer than 30 characters.
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>
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.
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>
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.
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.
17738 <note type="caution">
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.
17745 <note type="caution">
17747 The <c>System.Diagnostics.StackTrace</c> class has this to say about Release builds:
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."
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.
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.
17768 This is a more detailed pattern.
17769 <code><b>%timestamp [%thread] %level %logger %ndc - %message%newline</b></code>
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
17777 <code><b>%-6timestamp [%15.15thread] %-5level %30.30logger %ndc - %message%newline</b></code>
17779 <author>Nicko Cadell</author>
17780 <author>Gert Driesen</author>
17781 <author>Douglas de la Torre</author>
17782 <author>Daniel Cazzulino</author>
17784 <member name="F:log4net.Layout.PatternLayout.DefaultConversionPattern">
17786 Default pattern string for log output.
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.
17796 <member name="F:log4net.Layout.PatternLayout.DetailConversionPattern">
17798 A detailed conversion pattern
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>.
17807 <member name="F:log4net.Layout.PatternLayout.s_globalRulesRegistry">
17809 Internal map of converter identifiers to converter types.
17813 This static map is overridden by the m_converterRegistry instance map
17817 <member name="F:log4net.Layout.PatternLayout.m_pattern">
17822 <member name="F:log4net.Layout.PatternLayout.m_head">
17824 the head of the pattern converter chain
17827 <member name="F:log4net.Layout.PatternLayout.m_instanceRulesRegistry">
17829 patterns defined on this PatternLayout only
17832 <member name="M:log4net.Layout.PatternLayout.#cctor">
17834 Initialize the global registry
17838 Defines the builtin global rules.
17842 <member name="M:log4net.Layout.PatternLayout.#ctor">
17844 Constructs a PatternLayout using the DefaultConversionPattern
17848 The default pattern just produces the application supplied message.
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.
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
17862 <member name="M:log4net.Layout.PatternLayout.#ctor(System.String)">
17864 Constructs a PatternLayout using the supplied conversion pattern
17866 <param name="pattern">the pattern to use</param>
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.
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.
17879 <member name="M:log4net.Layout.PatternLayout.CreatePatternParser(System.String)">
17881 Create the pattern parser instance
17883 <param name="pattern">the pattern to parse</param>
17884 <returns>The <see cref="T:log4net.Util.PatternParser"/> that will format the event</returns>
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"/>.
17892 <member name="M:log4net.Layout.PatternLayout.ActivateOptions">
17894 Initialize layout options
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.
17905 If any of the configuration properties are modified then
17906 <see cref="M:log4net.Layout.PatternLayout.ActivateOptions"/> must be called again.
17910 <member name="M:log4net.Layout.PatternLayout.Format(System.IO.TextWriter,log4net.Core.LoggingEvent)">
17912 Produces a formatted string as specified by the conversion pattern.
17914 <param name="loggingEvent">the event being logged</param>
17915 <param name="writer">The TextWriter to write the formatted event to</param>
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.
17923 <member name="M:log4net.Layout.PatternLayout.AddConverter(log4net.Layout.PatternLayout.ConverterInfo)">
17925 Add a converter to this PatternLayout
17927 <param name="converterInfo">the converter info</param>
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.
17935 <member name="M:log4net.Layout.PatternLayout.AddConverter(System.String,System.Type)">
17937 Add a converter to this PatternLayout
17939 <param name="name">the name of the conversion pattern for this converter</param>
17940 <param name="type">the type of the converter</param>
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"/>.
17948 The <paramref name="type"/> specified must extend the
17949 <see cref="T:log4net.Util.PatternConverter"/> type.
17953 <member name="P:log4net.Layout.PatternLayout.ConversionPattern">
17955 The pattern formatting string
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.
17965 <member name="T:log4net.Layout.PatternLayout.ConverterInfo">
17967 Wrapper class used to map converter names to converter types
17971 Pattern converter info class used during configuration to
17972 pass to the <see cref="M:log4net.Layout.PatternLayout.AddConverter(log4net.Layout.PatternLayout.ConverterInfo)"/>
17977 <member name="M:log4net.Layout.PatternLayout.ConverterInfo.#ctor">
17979 default constructor
17982 <member name="P:log4net.Layout.PatternLayout.ConverterInfo.Name">
17984 Gets or sets the name of the conversion pattern
17988 The name of the pattern in the format string
17992 <member name="P:log4net.Layout.PatternLayout.ConverterInfo.Type">
17994 Gets or sets the type of the converter
17998 The value specified must extend the
17999 <see cref="T:log4net.Util.PatternConverter"/> type.
18003 <member name="T:log4net.Layout.RawLayoutConverter">
18005 Type converter for the <see cref="T:log4net.Layout.IRawLayout"/> interface
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"/>.
18014 <author>Nicko Cadell</author>
18015 <author>Gert Driesen</author>
18017 <member name="T:log4net.Util.TypeConverters.IConvertFrom">
18019 Interface supported by type converters
18023 This interface supports conversion from arbitrary types
18024 to a single target type. See <see cref="T:log4net.Util.TypeConverters.TypeConverterAttribute"/>.
18027 <author>Nicko Cadell</author>
18028 <author>Gert Driesen</author>
18030 <member name="M:log4net.Util.TypeConverters.IConvertFrom.CanConvertFrom(System.Type)">
18032 Can the source type be converted to the type supported by this object
18034 <param name="sourceType">the type to convert</param>
18035 <returns>true if the conversion is possible</returns>
18038 Test if the <paramref name="sourceType"/> can be converted to the
18039 type supported by this converter.
18043 <member name="M:log4net.Util.TypeConverters.IConvertFrom.ConvertFrom(System.Object)">
18045 Convert the source object to the type supported by this object
18047 <param name="source">the object to convert</param>
18048 <returns>the converted object</returns>
18051 Converts the <paramref name="source"/> to the type supported
18056 <member name="M:log4net.Layout.RawLayoutConverter.CanConvertFrom(System.Type)">
18058 Can the sourceType be converted to an <see cref="T:log4net.Layout.IRawLayout"/>
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>
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"/>.
18070 <member name="M:log4net.Layout.RawLayoutConverter.ConvertFrom(System.Object)">
18072 Convert the value to a <see cref="T:log4net.Layout.IRawLayout"/> object
18074 <param name="source">the value to convert</param>
18075 <returns>the <see cref="T:log4net.Layout.IRawLayout"/> object</returns>
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.
18086 <member name="T:log4net.Layout.RawPropertyLayout">
18088 Extract the value of a property from the <see cref="T:log4net.Core.LoggingEvent"/>
18092 Extract the value of a property from the <see cref="T:log4net.Core.LoggingEvent"/>
18095 <author>Nicko Cadell</author>
18097 <member name="M:log4net.Layout.RawPropertyLayout.#ctor">
18099 Constructs a RawPropertyLayout
18102 <member name="M:log4net.Layout.RawPropertyLayout.Format(log4net.Core.LoggingEvent)">
18104 Lookup the property for <see cref="P:log4net.Layout.RawPropertyLayout.Key"/>
18106 <param name="loggingEvent">The event to format</param>
18107 <returns>returns property value</returns>
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.
18116 <member name="P:log4net.Layout.RawPropertyLayout.Key">
18118 The name of the value to lookup in the LoggingEvent Properties collection.
18121 Value to lookup in the LoggingEvent Properties collection
18125 String name of the property to lookup in the <see cref="T:log4net.Core.LoggingEvent"/>.
18129 <member name="T:log4net.Layout.RawTimeStampLayout">
18131 Extract the date from the <see cref="T:log4net.Core.LoggingEvent"/>
18135 Extract the date from the <see cref="T:log4net.Core.LoggingEvent"/>
18138 <author>Nicko Cadell</author>
18139 <author>Gert Driesen</author>
18141 <member name="M:log4net.Layout.RawTimeStampLayout.#ctor">
18143 Constructs a RawTimeStampLayout
18146 <member name="M:log4net.Layout.RawTimeStampLayout.Format(log4net.Core.LoggingEvent)">
18148 Gets the <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> as a <see cref="T:System.DateTime"/>.
18150 <param name="loggingEvent">The event to format</param>
18151 <returns>returns the time stamp</returns>
18154 Gets the <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> as a <see cref="T:System.DateTime"/>.
18157 The time stamp is in local time. To format the time stamp
18158 in universal time use <see cref="T:log4net.Layout.RawUtcTimeStampLayout"/>.
18162 <member name="T:log4net.Layout.RawUtcTimeStampLayout">
18164 Extract the date from the <see cref="T:log4net.Core.LoggingEvent"/>
18168 Extract the date from the <see cref="T:log4net.Core.LoggingEvent"/>
18171 <author>Nicko Cadell</author>
18172 <author>Gert Driesen</author>
18174 <member name="M:log4net.Layout.RawUtcTimeStampLayout.#ctor">
18176 Constructs a RawUtcTimeStampLayout
18179 <member name="M:log4net.Layout.RawUtcTimeStampLayout.Format(log4net.Core.LoggingEvent)">
18181 Gets the <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> as a <see cref="T:System.DateTime"/>.
18183 <param name="loggingEvent">The event to format</param>
18184 <returns>returns the time stamp</returns>
18187 Gets the <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> as a <see cref="T:System.DateTime"/>.
18190 The time stamp is in universal time. To format the time stamp
18191 in local time use <see cref="T:log4net.Layout.RawTimeStampLayout"/>.
18195 <member name="T:log4net.Layout.SimpleLayout">
18197 A very simple layout
18201 SimpleLayout consists of the level of the log statement,
18202 followed by " - " and then the log message itself. For example,
18204 DEBUG - Hello world
18208 <author>Nicko Cadell</author>
18209 <author>Gert Driesen</author>
18211 <member name="M:log4net.Layout.SimpleLayout.#ctor">
18213 Constructs a SimpleLayout
18216 <member name="M:log4net.Layout.SimpleLayout.ActivateOptions">
18218 Initialize layout options
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.
18229 If any of the configuration properties are modified then
18230 <see cref="M:log4net.Layout.SimpleLayout.ActivateOptions"/> must be called again.
18234 <member name="M:log4net.Layout.SimpleLayout.Format(System.IO.TextWriter,log4net.Core.LoggingEvent)">
18236 Produces a simple formatted output.
18238 <param name="loggingEvent">the event being logged</param>
18239 <param name="writer">The TextWriter to write the formatted event to</param>
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.
18248 <member name="T:log4net.Layout.XmlLayout">
18250 Layout that formats the log events as XML elements.
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.
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
18265 <?xml version="1.0" ?>
18267 <!DOCTYPE log4net:events SYSTEM "log4net-events.dtd" [<!ENTITY data SYSTEM "abc">]>
18269 <log4net:events version="1.2" xmlns:log4net="http://logging.apache.org/log4net/schemas/log4net-events-1.2>
18271 </log4net:events>
18274 This approach enforces the independence of the <see cref="T:log4net.Layout.XmlLayout"/>
18275 and the appender where it is embedded.
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.
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.
18290 <author>Nicko Cadell</author>
18291 <author>Gert Driesen</author>
18293 <member name="T:log4net.Layout.XmlLayoutBase">
18295 Layout that formats the log events as XML elements.
18299 This is an abstract class that must be subclassed by an implementation
18300 to conform to a specific schema.
18303 Deriving classes must implement the <see cref="M:log4net.Layout.XmlLayoutBase.FormatXml(System.Xml.XmlWriter,log4net.Core.LoggingEvent)"/> method.
18306 <author>Nicko Cadell</author>
18307 <author>Gert Driesen</author>
18309 <member name="M:log4net.Layout.XmlLayoutBase.#ctor">
18311 Protected constructor to support subclasses
18315 Initializes a new instance of the <see cref="T:log4net.Layout.XmlLayoutBase"/> class
18316 with no location info.
18320 <member name="M:log4net.Layout.XmlLayoutBase.#ctor(System.Boolean)">
18322 Protected constructor to support subclasses
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.
18333 If you are embedding this layout within an SMTPAppender
18334 then make sure to set the <b>LocationInfo</b> option of that
18339 <member name="M:log4net.Layout.XmlLayoutBase.ActivateOptions">
18341 Initialize layout options
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.
18352 If any of the configuration properties are modified then
18353 <see cref="M:log4net.Layout.XmlLayoutBase.ActivateOptions"/> must be called again.
18357 <member name="M:log4net.Layout.XmlLayoutBase.Format(System.IO.TextWriter,log4net.Core.LoggingEvent)">
18359 Produces a formatted string.
18361 <param name="loggingEvent">The event being logged.</param>
18362 <param name="writer">The TextWriter to write the formatted event to</param>
18365 Format the <see cref="T:log4net.Core.LoggingEvent"/> and write it to the <see cref="T:System.IO.TextWriter"/>.
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.
18375 <member name="M:log4net.Layout.XmlLayoutBase.FormatXml(System.Xml.XmlWriter,log4net.Core.LoggingEvent)">
18377 Does the actual writing of the XML.
18379 <param name="writer">The writer to use to output the event to.</param>
18380 <param name="loggingEvent">The event to write.</param>
18383 Subclasses should override this method to format
18384 the <see cref="T:log4net.Core.LoggingEvent"/> as XML.
18388 <member name="F:log4net.Layout.XmlLayoutBase.m_locationInfo">
18390 Flag to indicate if location information should be included in
18394 <member name="F:log4net.Layout.XmlLayoutBase.m_protectCloseTextWriter">
18396 Writer adapter that ignores Close
18399 <member name="F:log4net.Layout.XmlLayoutBase.m_invalidCharReplacement">
18401 The string to replace invalid chars with
18404 <member name="P:log4net.Layout.XmlLayoutBase.LocationInfo">
18406 Gets a value indicating whether to include location information in
18410 <c>true</c> if location information should be included in the XML
18411 events; otherwise, <c>false</c>.
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.
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
18426 <member name="P:log4net.Layout.XmlLayoutBase.InvalidCharReplacement">
18428 The string to replace characters that can not be expressed in XML with.
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.
18441 <member name="P:log4net.Layout.XmlLayoutBase.ContentType">
18443 Gets the content type output by this layout.
18446 As this is the XML layout, the value is always <c>"text/xml"</c>.
18450 As this is the XML layout, the value is always <c>"text/xml"</c>.
18454 <member name="M:log4net.Layout.XmlLayout.#ctor">
18456 Constructs an XmlLayout
18459 <member name="M:log4net.Layout.XmlLayout.#ctor(System.Boolean)">
18461 Constructs an XmlLayout.
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.
18472 If you are embedding this layout within an SmtpAppender
18473 then make sure to set the <b>LocationInfo</b> option of that
18478 <member name="M:log4net.Layout.XmlLayout.ActivateOptions">
18480 Initialize layout options
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.
18491 If any of the configuration properties are modified then
18492 <see cref="M:log4net.Layout.XmlLayout.ActivateOptions"/> must be called again.
18495 Builds a cache of the element names
18499 <member name="M:log4net.Layout.XmlLayout.FormatXml(System.Xml.XmlWriter,log4net.Core.LoggingEvent)">
18501 Does the actual writing of the XML.
18503 <param name="writer">The writer to use to output the event to.</param>
18504 <param name="loggingEvent">The event to write.</param>
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"/>.
18512 <member name="F:log4net.Layout.XmlLayout.m_prefix">
18514 The prefix to use for all generated element names
18517 <member name="P:log4net.Layout.XmlLayout.Prefix">
18519 The prefix to use for all element names
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.
18529 <member name="P:log4net.Layout.XmlLayout.Base64EncodeMessage">
18531 Set whether or not to base64 encode the message.
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.
18544 <member name="P:log4net.Layout.XmlLayout.Base64EncodeProperties">
18546 Set whether or not to base64 encode the property values.
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.
18559 <member name="T:log4net.Layout.XmlLayoutSchemaLog4j">
18561 Layout that formats the log events as XML elements compatible with the log4j schema
18565 Formats the log events according to the http://logging.apache.org/log4j schema.
18568 <author>Nicko Cadell</author>
18570 <member name="F:log4net.Layout.XmlLayoutSchemaLog4j.s_date1970">
18572 The 1st of January 1970 in UTC
18575 <member name="M:log4net.Layout.XmlLayoutSchemaLog4j.#ctor">
18577 Constructs an XMLLayoutSchemaLog4j
18580 <member name="M:log4net.Layout.XmlLayoutSchemaLog4j.#ctor(System.Boolean)">
18582 Constructs an XMLLayoutSchemaLog4j.
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.
18593 If you are embedding this layout within an SMTPAppender
18594 then make sure to set the <b>LocationInfo</b> option of that
18599 <member name="M:log4net.Layout.XmlLayoutSchemaLog4j.FormatXml(System.Xml.XmlWriter,log4net.Core.LoggingEvent)">
18601 Actually do the writing of the xml
18603 <param name="writer">the writer to use</param>
18604 <param name="loggingEvent">the event to write</param>
18607 Generate XML that is compatible with the log4j schema.
18611 <member name="P:log4net.Layout.XmlLayoutSchemaLog4j.Version">
18613 The version of the log4j schema to use.
18617 Only version 1.2 of the log4j schema is supported.
18621 <member name="T:log4net.ObjectRenderer.DefaultRenderer">
18623 The default object Renderer.
18627 The default renderer supports rendering objects and collections to strings.
18630 See the <see cref="M:log4net.ObjectRenderer.DefaultRenderer.RenderObject(log4net.ObjectRenderer.RendererMap,System.Object,System.IO.TextWriter)"/> method for details of the output.
18633 <author>Nicko Cadell</author>
18634 <author>Gert Driesen</author>
18636 <member name="T:log4net.ObjectRenderer.IObjectRenderer">
18638 Implement this interface in order to render objects as strings
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"/>
18648 <author>Nicko Cadell</author>
18649 <author>Gert Driesen</author>
18651 <member name="M:log4net.ObjectRenderer.IObjectRenderer.RenderObject(log4net.ObjectRenderer.RendererMap,System.Object,System.IO.TextWriter)">
18653 Render the object <paramref name="obj"/> to a string
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>
18660 Render the object <paramref name="obj"/> to a
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.
18672 <member name="M:log4net.ObjectRenderer.DefaultRenderer.#ctor">
18674 Default constructor
18678 Default constructor
18682 <member name="M:log4net.ObjectRenderer.DefaultRenderer.RenderObject(log4net.ObjectRenderer.RendererMap,System.Object,System.IO.TextWriter)">
18684 Render the object <paramref name="obj"/> to a string
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>
18691 Render the object <paramref name="obj"/> to a string.
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.
18701 The default renderer supports rendering objects to strings as follows:
18703 <list type="table">
18706 <description>Rendered String</description>
18709 <term><c>null</c></term>
18711 <para>"(null)"</para>
18715 <term><see cref="T:System.Array"/></term>
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.
18724 For example: <c>int[] {1, 2, 3}</c>.
18727 If the array is not one dimensional the
18728 <c>Array.ToString()</c> is returned.
18733 <term><see cref="T:System.Collections.IEnumerable"/>, <see cref="T:System.Collections.ICollection"/> & <see cref="T:System.Collections.IEnumerator"/></term>
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.
18741 For example: <c>{a, b, c}</c>.
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.
18750 <term><see cref="T:System.Collections.DictionaryEntry"/></term>
18753 Rendered as the key, an equals sign ('='), and the value (using the appropriate
18757 For example: <c>key=value</c>.
18764 <para><c>Object.ToString()</c></para>
18770 <member name="M:log4net.ObjectRenderer.DefaultRenderer.RenderArray(log4net.ObjectRenderer.RendererMap,System.Array,System.IO.TextWriter)">
18772 Render the array argument into a string
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>
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>.
18786 If the array is not one dimensional the
18787 <c>Array.ToString()</c> is returned.
18791 <member name="M:log4net.ObjectRenderer.DefaultRenderer.RenderEnumerator(log4net.ObjectRenderer.RendererMap,System.Collections.IEnumerator,System.IO.TextWriter)">
18793 Render the enumerator argument into a string
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>
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:
18807 <member name="M:log4net.ObjectRenderer.DefaultRenderer.RenderDictionaryEntry(log4net.ObjectRenderer.RendererMap,System.Collections.DictionaryEntry,System.IO.TextWriter)">
18809 Render the DictionaryEntry argument into a string
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>
18816 Render the key, an equals sign ('='), and the value (using the appropriate
18817 renderer). For example: <c>key=value</c>.
18821 <member name="T:log4net.ObjectRenderer.RendererMap">
18823 Map class objects to an <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>.
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.
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.
18836 <author>Nicko Cadell</author>
18837 <author>Gert Driesen</author>
18839 <member name="M:log4net.ObjectRenderer.RendererMap.#ctor">
18841 Default Constructor
18845 Default constructor.
18849 <member name="M:log4net.ObjectRenderer.RendererMap.FindAndRender(System.Object)">
18851 Render <paramref name="obj"/> using the appropriate renderer.
18853 <param name="obj">the object to render to a string</param>
18854 <returns>the object rendered as a string</returns>
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"/>.
18863 <member name="M:log4net.ObjectRenderer.RendererMap.FindAndRender(System.Object,System.IO.TextWriter)">
18865 Render <paramref name="obj"/> using the appropriate renderer.
18867 <param name="obj">the object to render to a string</param>
18868 <param name="writer">The writer to render to</param>
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"/>.
18879 <member name="M:log4net.ObjectRenderer.RendererMap.Get(System.Object)">
18881 Gets the renderer for the specified object type
18883 <param name="obj">the object to lookup the renderer for</param>
18884 <returns>the renderer for <paramref name="obj"/></returns>
18887 Gets the renderer for the specified object type.
18890 Syntactic sugar method that calls <see cref="M:log4net.ObjectRenderer.RendererMap.Get(System.Type)"/>
18891 with the type of the object parameter.
18895 <member name="M:log4net.ObjectRenderer.RendererMap.Get(System.Type)">
18897 Gets the renderer for the specified type
18899 <param name="type">the type to lookup the renderer for</param>
18900 <returns>the renderer for the specified type</returns>
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.
18909 <member name="M:log4net.ObjectRenderer.RendererMap.SearchTypeAndInterfaces(System.Type)">
18911 Internal function to recursively search interfaces
18913 <param name="type">the type to lookup the renderer for</param>
18914 <returns>the renderer for the specified type</returns>
18916 <member name="M:log4net.ObjectRenderer.RendererMap.Clear">
18918 Clear the map of renderers
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"/>
18928 <member name="M:log4net.ObjectRenderer.RendererMap.Put(System.Type,log4net.ObjectRenderer.IObjectRenderer)">
18930 Register an <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/> for <paramref name="typeToRender"/>.
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>
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.
18942 <member name="P:log4net.ObjectRenderer.RendererMap.DefaultRenderer">
18944 Get the default renderer instance
18946 <value>the default renderer</value>
18949 Get the default renderer
18953 <member name="T:log4net.Plugin.IPlugin">
18955 Interface implemented by logger repository plugins.
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.
18965 The <c>log4net.Config.PluginAttribute</c> can be used to
18966 attach plugins to repositories created using configuration
18970 <author>Nicko Cadell</author>
18971 <author>Gert Driesen</author>
18973 <member name="M:log4net.Plugin.IPlugin.Attach(log4net.Repository.ILoggerRepository)">
18975 Attaches the plugin to the specified <see cref="T:log4net.Repository.ILoggerRepository"/>.
18977 <param name="repository">The <see cref="T:log4net.Repository.ILoggerRepository"/> that this plugin should be attached to.</param>
18980 A plugin may only be attached to a single repository.
18983 This method is called when the plugin is attached to the repository.
18987 <member name="M:log4net.Plugin.IPlugin.Shutdown">
18989 Is called when the plugin is to shutdown.
18993 This method is called to notify the plugin that
18994 it should stop operating and should detach from
18999 <member name="P:log4net.Plugin.IPlugin.Name">
19001 Gets the name of the plugin.
19004 The name of the plugin.
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.
19014 <member name="T:log4net.Plugin.PluginCollection">
19016 A strongly-typed collection of <see cref="T:log4net.Plugin.IPlugin"/> objects.
19018 <author>Nicko Cadell</author>
19020 <member name="M:log4net.Plugin.PluginCollection.ReadOnly(log4net.Plugin.PluginCollection)">
19022 Creates a read-only wrapper for a <c>PluginCollection</c> instance.
19024 <param name="list">list to create a readonly wrapper arround</param>
19026 A <c>PluginCollection</c> wrapper that is read-only.
19029 <member name="M:log4net.Plugin.PluginCollection.#ctor">
19031 Initializes a new instance of the <c>PluginCollection</c> class
19032 that is empty and has the default initial capacity.
19035 <member name="M:log4net.Plugin.PluginCollection.#ctor(System.Int32)">
19037 Initializes a new instance of the <c>PluginCollection</c> class
19038 that has the specified initial capacity.
19040 <param name="capacity">
19041 The number of elements that the new <c>PluginCollection</c> is initially capable of storing.
19044 <member name="M:log4net.Plugin.PluginCollection.#ctor(log4net.Plugin.PluginCollection)">
19046 Initializes a new instance of the <c>PluginCollection</c> class
19047 that contains elements copied from the specified <c>PluginCollection</c>.
19049 <param name="c">The <c>PluginCollection</c> whose elements are copied to the new collection.</param>
19051 <member name="M:log4net.Plugin.PluginCollection.#ctor(log4net.Plugin.IPlugin[])">
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.
19056 <param name="a">The <see cref="T:log4net.Plugin.IPlugin"/> array whose elements are copied to the new list.</param>
19058 <member name="M:log4net.Plugin.PluginCollection.#ctor(System.Collections.ICollection)">
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.
19063 <param name="col">The <see cref="T:log4net.Plugin.IPlugin"/> collection whose elements are copied to the new list.</param>
19065 <member name="M:log4net.Plugin.PluginCollection.#ctor(log4net.Plugin.PluginCollection.Tag)">
19067 Allow subclasses to avoid our default constructors
19069 <param name="tag"></param>
19072 <member name="M:log4net.Plugin.PluginCollection.CopyTo(log4net.Plugin.IPlugin[])">
19074 Copies the entire <c>PluginCollection</c> to a one-dimensional
19075 <see cref="T:log4net.Plugin.IPlugin"/> array.
19077 <param name="array">The one-dimensional <see cref="T:log4net.Plugin.IPlugin"/> array to copy to.</param>
19079 <member name="M:log4net.Plugin.PluginCollection.CopyTo(log4net.Plugin.IPlugin[],System.Int32)">
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.
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>
19087 <member name="M:log4net.Plugin.PluginCollection.Add(log4net.Plugin.IPlugin)">
19089 Adds a <see cref="T:log4net.Plugin.IPlugin"/> to the end of the <c>PluginCollection</c>.
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>
19094 <member name="M:log4net.Plugin.PluginCollection.Clear">
19096 Removes all elements from the <c>PluginCollection</c>.
19099 <member name="M:log4net.Plugin.PluginCollection.Clone">
19101 Creates a shallow copy of the <see cref="T:log4net.Plugin.PluginCollection"/>.
19103 <returns>A new <see cref="T:log4net.Plugin.PluginCollection"/> with a shallow copy of the collection data.</returns>
19105 <member name="M:log4net.Plugin.PluginCollection.Contains(log4net.Plugin.IPlugin)">
19107 Determines whether a given <see cref="T:log4net.Plugin.IPlugin"/> is in the <c>PluginCollection</c>.
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>
19112 <member name="M:log4net.Plugin.PluginCollection.IndexOf(log4net.Plugin.IPlugin)">
19114 Returns the zero-based index of the first occurrence of a <see cref="T:log4net.Plugin.IPlugin"/>
19115 in the <c>PluginCollection</c>.
19117 <param name="item">The <see cref="T:log4net.Plugin.IPlugin"/> to locate in the <c>PluginCollection</c>.</param>
19119 The zero-based index of the first occurrence of <paramref name="item"/>
19120 in the entire <c>PluginCollection</c>, if found; otherwise, -1.
19123 <member name="M:log4net.Plugin.PluginCollection.Insert(System.Int32,log4net.Plugin.IPlugin)">
19125 Inserts an element into the <c>PluginCollection</c> at the specified index.
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>
19132 <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Plugin.PluginCollection.Count"/>.</para>
19135 <member name="M:log4net.Plugin.PluginCollection.Remove(log4net.Plugin.IPlugin)">
19137 Removes the first occurrence of a specific <see cref="T:log4net.Plugin.IPlugin"/> from the <c>PluginCollection</c>.
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>.
19144 <member name="M:log4net.Plugin.PluginCollection.RemoveAt(System.Int32)">
19146 Removes the element at the specified index of the <c>PluginCollection</c>.
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>
19152 <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Plugin.PluginCollection.Count"/>.</para>
19155 <member name="M:log4net.Plugin.PluginCollection.GetEnumerator">
19157 Returns an enumerator that can iterate through the <c>PluginCollection</c>.
19159 <returns>An <see cref="T:log4net.Plugin.PluginCollection.Enumerator"/> for the entire <c>PluginCollection</c>.</returns>
19161 <member name="M:log4net.Plugin.PluginCollection.AddRange(log4net.Plugin.PluginCollection)">
19163 Adds the elements of another <c>PluginCollection</c> to the current <c>PluginCollection</c>.
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>
19168 <member name="M:log4net.Plugin.PluginCollection.AddRange(log4net.Plugin.IPlugin[])">
19170 Adds the elements of a <see cref="T:log4net.Plugin.IPlugin"/> array to the current <c>PluginCollection</c>.
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>
19175 <member name="M:log4net.Plugin.PluginCollection.AddRange(System.Collections.ICollection)">
19177 Adds the elements of a <see cref="T:log4net.Plugin.IPlugin"/> collection to the current <c>PluginCollection</c>.
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>
19182 <member name="M:log4net.Plugin.PluginCollection.TrimToSize">
19184 Sets the capacity to the actual number of elements.
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>
19191 <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Plugin.PluginCollection.Count"/>.</para>
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>
19198 <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Plugin.PluginCollection.Count"/>.</para>
19201 <member name="P:log4net.Plugin.PluginCollection.Count">
19203 Gets the number of elements actually contained in the <c>PluginCollection</c>.
19206 <member name="P:log4net.Plugin.PluginCollection.IsSynchronized">
19208 Gets a value indicating whether access to the collection is synchronized (thread-safe).
19210 <returns>true if access to the ICollection is synchronized (thread-safe); otherwise, false.</returns>
19212 <member name="P:log4net.Plugin.PluginCollection.SyncRoot">
19214 Gets an object that can be used to synchronize access to the collection.
19217 An object that can be used to synchronize access to the collection.
19220 <member name="P:log4net.Plugin.PluginCollection.Item(System.Int32)">
19222 Gets or sets the <see cref="T:log4net.Plugin.IPlugin"/> at the specified index.
19225 The <see cref="T:log4net.Plugin.IPlugin"/> at the specified index.
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>
19231 <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Plugin.PluginCollection.Count"/>.</para>
19234 <member name="P:log4net.Plugin.PluginCollection.IsFixedSize">
19236 Gets a value indicating whether the collection has a fixed size.
19238 <value><c>true</c> if the collection has a fixed size; otherwise, <c>false</c>. The default is <c>false</c>.</value>
19240 <member name="P:log4net.Plugin.PluginCollection.IsReadOnly">
19242 Gets a value indicating whether the IList is read-only.
19244 <value><c>true</c> if the collection is read-only; otherwise, <c>false</c>. The default is <c>false</c>.</value>
19246 <member name="P:log4net.Plugin.PluginCollection.Capacity">
19248 Gets or sets the number of elements the <c>PluginCollection</c> can contain.
19251 The number of elements the <c>PluginCollection</c> can contain.
19254 <member name="T:log4net.Plugin.PluginCollection.IPluginCollectionEnumerator">
19256 Supports type-safe iteration over a <see cref="T:log4net.Plugin.PluginCollection"/>.
19260 <member name="M:log4net.Plugin.PluginCollection.IPluginCollectionEnumerator.MoveNext">
19262 Advances the enumerator to the next element in the collection.
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.
19268 <exception cref="T:System.InvalidOperationException">
19269 The collection was modified after the enumerator was created.
19272 <member name="M:log4net.Plugin.PluginCollection.IPluginCollectionEnumerator.Reset">
19274 Sets the enumerator to its initial position, before the first element in the collection.
19277 <member name="P:log4net.Plugin.PluginCollection.IPluginCollectionEnumerator.Current">
19279 Gets the current element in the collection.
19282 <member name="T:log4net.Plugin.PluginCollection.Tag">
19284 Type visible only to our subclasses
19285 Used to access protected constructor
19289 <member name="F:log4net.Plugin.PluginCollection.Tag.Default">
19294 <member name="T:log4net.Plugin.PluginCollection.Enumerator">
19296 Supports simple iteration over a <see cref="T:log4net.Plugin.PluginCollection"/>.
19300 <member name="M:log4net.Plugin.PluginCollection.Enumerator.#ctor(log4net.Plugin.PluginCollection)">
19302 Initializes a new instance of the <c>Enumerator</c> class.
19304 <param name="tc"></param>
19306 <member name="M:log4net.Plugin.PluginCollection.Enumerator.MoveNext">
19308 Advances the enumerator to the next element in the collection.
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.
19314 <exception cref="T:System.InvalidOperationException">
19315 The collection was modified after the enumerator was created.
19318 <member name="M:log4net.Plugin.PluginCollection.Enumerator.Reset">
19320 Sets the enumerator to its initial position, before the first element in the collection.
19323 <member name="P:log4net.Plugin.PluginCollection.Enumerator.Current">
19325 Gets the current element in the collection.
19328 The current element in the collection.
19331 <member name="T:log4net.Plugin.PluginCollection.ReadOnlyPluginCollection">
19334 <member name="T:log4net.Plugin.PluginMap">
19336 Map of repository plugins.
19340 This class is a name keyed map of the plugins that are
19341 attached to a repository.
19344 <author>Nicko Cadell</author>
19345 <author>Gert Driesen</author>
19347 <member name="M:log4net.Plugin.PluginMap.#ctor(log4net.Repository.ILoggerRepository)">
19351 <param name="repository">The repository that the plugins should be attached to.</param>
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.
19359 <member name="M:log4net.Plugin.PluginMap.Add(log4net.Plugin.IPlugin)">
19361 Adds a <see cref="T:log4net.Plugin.IPlugin"/> to the map.
19363 <param name="plugin">The <see cref="T:log4net.Plugin.IPlugin"/> to add to the map.</param>
19366 The <see cref="T:log4net.Plugin.IPlugin"/> will be attached to the repository when added.
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
19376 <member name="M:log4net.Plugin.PluginMap.Remove(log4net.Plugin.IPlugin)">
19378 Removes a <see cref="T:log4net.Plugin.IPlugin"/> from the map.
19380 <param name="plugin">The <see cref="T:log4net.Plugin.IPlugin"/> to remove from the map.</param>
19383 Remove a specific plugin from this map.
19387 <member name="P:log4net.Plugin.PluginMap.Item(System.String)">
19389 Gets a <see cref="T:log4net.Plugin.IPlugin"/> by name.
19391 <param name="name">The name of the <see cref="T:log4net.Plugin.IPlugin"/> to lookup.</param>
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.
19398 Lookup a plugin by name. If the plugin is not found <c>null</c>
19403 <member name="P:log4net.Plugin.PluginMap.AllPlugins">
19405 Gets all possible plugins as a list of <see cref="T:log4net.Plugin.IPlugin"/> objects.
19407 <value>All possible plugins as a list of <see cref="T:log4net.Plugin.IPlugin"/> objects.</value>
19410 Get a collection of all the plugins defined in this map.
19414 <member name="T:log4net.Plugin.PluginSkeleton">
19416 Base implementation of <see cref="T:log4net.Plugin.IPlugin"/>
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.
19425 <author>Nicko Cadell</author>
19426 <author>Gert Driesen</author>
19428 <member name="M:log4net.Plugin.PluginSkeleton.#ctor(System.String)">
19432 <param name="name">the name of the plugin</param>
19434 Initializes a new Plugin with the specified name.
19437 <member name="M:log4net.Plugin.PluginSkeleton.Attach(log4net.Repository.ILoggerRepository)">
19439 Attaches this plugin to a <see cref="T:log4net.Repository.ILoggerRepository"/>.
19441 <param name="repository">The <see cref="T:log4net.Repository.ILoggerRepository"/> that this plugin should be attached to.</param>
19444 A plugin may only be attached to a single repository.
19447 This method is called when the plugin is attached to the repository.
19451 <member name="M:log4net.Plugin.PluginSkeleton.Shutdown">
19453 Is called when the plugin is to shutdown.
19457 This method is called to notify the plugin that
19458 it should stop operating and should detach from
19463 <member name="F:log4net.Plugin.PluginSkeleton.m_name">
19465 The name of this plugin.
19468 <member name="F:log4net.Plugin.PluginSkeleton.m_repository">
19470 The repository this plugin is attached to.
19473 <member name="P:log4net.Plugin.PluginSkeleton.Name">
19475 Gets or sets the name of the plugin.
19478 The name of the plugin.
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.
19487 The name of the plugin must not change one the
19488 plugin has been attached to a repository.
19492 <member name="P:log4net.Plugin.PluginSkeleton.LoggerRepository">
19494 The repository for this plugin
19497 The <see cref="T:log4net.Repository.ILoggerRepository"/> that this plugin is attached to.
19501 Gets or sets the <see cref="T:log4net.Repository.ILoggerRepository"/> that this plugin is
19506 <member name="T:log4net.Plugin.RemoteLoggingServerPlugin">
19508 Plugin that listens for events from the <see cref="T:log4net.Appender.RemotingAppender"/>
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"/>.
19517 When an event is received it is relogged within the attached repository
19518 as if it had been raised locally.
19521 <author>Nicko Cadell</author>
19522 <author>Gert Driesen</author>
19524 <member name="M:log4net.Plugin.RemoteLoggingServerPlugin.#ctor">
19526 Default constructor
19530 Initializes a new instance of the <see cref="T:log4net.Plugin.RemoteLoggingServerPlugin"/> class.
19533 The <see cref="P:log4net.Plugin.RemoteLoggingServerPlugin.SinkUri"/> property must be set.
19537 <member name="M:log4net.Plugin.RemoteLoggingServerPlugin.#ctor(System.String)">
19539 Construct with sink Uri.
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>
19545 Initializes a new instance of the <see cref="T:log4net.Plugin.RemoteLoggingServerPlugin"/> class
19546 with specified name.
19550 <member name="M:log4net.Plugin.RemoteLoggingServerPlugin.Attach(log4net.Repository.ILoggerRepository)">
19552 Attaches this plugin to a <see cref="T:log4net.Repository.ILoggerRepository"/>.
19554 <param name="repository">The <see cref="T:log4net.Repository.ILoggerRepository"/> that this plugin should be attached to.</param>
19557 A plugin may only be attached to a single repository.
19560 This method is called when the plugin is attached to the repository.
19564 <member name="M:log4net.Plugin.RemoteLoggingServerPlugin.Shutdown">
19566 Is called when the plugin is to shutdown.
19570 When the plugin is shutdown the remote logging
19571 sink is disconnected.
19575 <member name="P:log4net.Plugin.RemoteLoggingServerPlugin.SinkUri">
19577 Gets or sets the URI of this sink.
19580 The URI of this sink.
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)"/>
19589 <member name="T:log4net.Plugin.RemoteLoggingServerPlugin.RemoteLoggingSinkImpl">
19591 Delivers <see cref="T:log4net.Core.LoggingEvent"/> objects to a remote sink.
19595 Internal class used to listen for logging events
19596 and deliver them to the local repository.
19600 <member name="M:log4net.Plugin.RemoteLoggingServerPlugin.RemoteLoggingSinkImpl.#ctor(log4net.Repository.ILoggerRepository)">
19604 <param name="repository">The repository to log to.</param>
19607 Initializes a new instance of the <see cref="T:log4net.Plugin.RemoteLoggingServerPlugin.RemoteLoggingSinkImpl"/> for the
19608 specified <see cref="T:log4net.Repository.ILoggerRepository"/>.
19612 <member name="M:log4net.Plugin.RemoteLoggingServerPlugin.RemoteLoggingSinkImpl.LogEvents(log4net.Core.LoggingEvent[])">
19614 Logs the events to the repository.
19616 <param name="events">The events to log.</param>
19619 The events passed are logged to the <see cref="T:log4net.Repository.ILoggerRepository"/>
19623 <member name="M:log4net.Plugin.RemoteLoggingServerPlugin.RemoteLoggingSinkImpl.InitializeLifetimeService">
19625 Obtains a lifetime service object to control the lifetime
19626 policy for this instance.
19628 <returns><c>null</c> to indicate that this instance should live forever.</returns>
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>.
19637 <member name="F:log4net.Plugin.RemoteLoggingServerPlugin.RemoteLoggingSinkImpl.m_repository">
19639 The underlying <see cref="T:log4net.Repository.ILoggerRepository"/> that events should
19643 <member name="T:log4net.Repository.Hierarchy.DefaultLoggerFactory">
19645 Default implementation of <see cref="T:log4net.Repository.Hierarchy.ILoggerFactory"/>
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.
19654 <author>Nicko Cadell</author>
19655 <author>Gert Driesen</author>
19657 <member name="T:log4net.Repository.Hierarchy.ILoggerFactory">
19659 Interface abstracts creation of <see cref="T:log4net.Repository.Hierarchy.Logger"/> instances
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.
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"/>.
19671 Implement this interface to create new subclasses of <see cref="T:log4net.Repository.Hierarchy.Logger"/>.
19674 <author>Nicko Cadell</author>
19675 <author>Gert Driesen</author>
19677 <member name="M:log4net.Repository.Hierarchy.ILoggerFactory.CreateLogger(System.String)">
19679 Create a new <see cref="T:log4net.Repository.Hierarchy.Logger"/> instance
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>
19685 Create a new <see cref="T:log4net.Repository.Hierarchy.Logger"/> instance with the
19689 Called by the <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> to create
19690 new named <see cref="T:log4net.Repository.Hierarchy.Logger"/> instances.
19693 If the <paramref name="name"/> is <c>null</c> then the root logger
19698 <member name="M:log4net.Repository.Hierarchy.DefaultLoggerFactory.#ctor">
19700 Default constructor
19704 Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.DefaultLoggerFactory"/> class.
19708 <member name="M:log4net.Repository.Hierarchy.DefaultLoggerFactory.CreateLogger(System.String)">
19710 Create a new <see cref="T:log4net.Repository.Hierarchy.Logger"/> instance
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>
19716 Create a new <see cref="T:log4net.Repository.Hierarchy.Logger"/> instance with the
19720 Called by the <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> to create
19721 new named <see cref="T:log4net.Repository.Hierarchy.Logger"/> instances.
19724 If the <paramref name="name"/> is <c>null</c> then the root logger
19729 <member name="T:log4net.Repository.Hierarchy.DefaultLoggerFactory.LoggerImpl">
19731 Default internal subclass of <see cref="T:log4net.Repository.Hierarchy.Logger"/>
19735 This subclass has no additional behavior over the
19736 <see cref="T:log4net.Repository.Hierarchy.Logger"/> class but does allow instances
19741 <member name="T:log4net.Repository.Hierarchy.Logger">
19743 Implementation of <see cref="T:log4net.Core.ILogger"/> used by <see cref="P:log4net.Repository.Hierarchy.Logger.Hierarchy"/>
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
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.
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"/>.
19763 <author>Nicko Cadell</author>
19764 <author>Gert Driesen</author>
19765 <author>Aspi Havewala</author>
19766 <author>Douglas de la Torre</author>
19768 <member name="M:log4net.Repository.Hierarchy.Logger.#ctor(System.String)">
19770 This constructor created a new <see cref="T:log4net.Repository.Hierarchy.Logger"/> instance and
19773 <param name="name">The name of the <see cref="T:log4net.Repository.Hierarchy.Logger"/>.</param>
19776 This constructor is protected and designed to be used by
19777 a subclass that is not abstract.
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
19786 <member name="M:log4net.Repository.Hierarchy.Logger.AddAppender(log4net.Appender.IAppender)">
19788 Add <paramref name="newAppender"/> to the list of appenders of this
19791 <param name="newAppender">An appender to add to this logger</param>
19794 Add <paramref name="newAppender"/> to the list of appenders of this
19798 If <paramref name="newAppender"/> is already in the list of
19799 appenders, then it won't be added again.
19803 <member name="M:log4net.Repository.Hierarchy.Logger.GetAppender(System.String)">
19805 Look for the appender named as <c>name</c>
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>
19811 Returns the named appender, or null if the appender is not found.
19815 <member name="M:log4net.Repository.Hierarchy.Logger.RemoveAllAppenders">
19817 Remove all previously added appenders from this Logger instance.
19821 Remove all previously added appenders from this Logger instance.
19824 This is useful when re-reading configuration information.
19828 <member name="M:log4net.Repository.Hierarchy.Logger.RemoveAppender(log4net.Appender.IAppender)">
19830 Remove the appender passed as parameter form the list of appenders.
19832 <param name="appender">The appender to remove</param>
19833 <returns>The appender removed from the list</returns>
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.
19843 <member name="M:log4net.Repository.Hierarchy.Logger.RemoveAppender(System.String)">
19845 Remove the appender passed as parameter form the list of appenders.
19847 <param name="name">The name of the appender to remove</param>
19848 <returns>The appender removed from the list</returns>
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.
19858 <member name="M:log4net.Repository.Hierarchy.Logger.Log(System.Type,log4net.Core.Level,System.Object,System.Exception)">
19860 This generic form is intended to be used by wrappers.
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>
19869 Generate a logging event for the specified <paramref name="level"/> using
19870 the <paramref name="message"/> and <paramref name="exception"/>.
19873 This method must not throw any exception to the caller.
19877 <member name="M:log4net.Repository.Hierarchy.Logger.Log(log4net.Core.LoggingEvent)">
19879 This is the most generic printing method that is intended to be used
19882 <param name="logEvent">The event being logged.</param>
19885 Logs the specified logging event through this logger.
19888 This method must not throw any exception to the caller.
19892 <member name="M:log4net.Repository.Hierarchy.Logger.IsEnabledFor(log4net.Core.Level)">
19894 Checks if this logger is enabled for a given <see cref="P:log4net.Repository.Hierarchy.Logger.Level"/> passed as parameter.
19896 <param name="level">The level to check.</param>
19898 <c>true</c> if this logger is enabled for <c>level</c>, otherwise <c>false</c>.
19902 Test if this logger is going to log events of the specified <paramref name="level"/>.
19905 This method must not throw any exception to the caller.
19909 <member name="M:log4net.Repository.Hierarchy.Logger.CallAppenders(log4net.Core.LoggingEvent)">
19911 Deliver the <see cref="T:log4net.Core.LoggingEvent"/> to the attached appenders.
19913 <param name="loggingEvent">The event to log.</param>
19916 Call the appenders in the hierarchy starting at
19917 <c>this</c>. If no appenders could be found, emit a
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.
19927 <member name="M:log4net.Repository.Hierarchy.Logger.CloseNestedAppenders">
19929 Closes all attached appenders implementing the <see cref="T:log4net.Core.IAppenderAttachable"/> interface.
19933 Used to ensure that the appenders are correctly shutdown.
19937 <member name="M:log4net.Repository.Hierarchy.Logger.Log(log4net.Core.Level,System.Object,System.Exception)">
19939 This is the most generic printing method. This generic form is intended to be used by wrappers
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>
19946 Generate a logging event for the specified <paramref name="level"/> using
19947 the <paramref name="message"/>.
19951 <member name="M:log4net.Repository.Hierarchy.Logger.ForcedLog(System.Type,log4net.Core.Level,System.Object,System.Exception)">
19953 Creates a new logging event and logs the event without further checks.
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>
19962 Generates a logging event and delivers it to the attached
19967 <member name="M:log4net.Repository.Hierarchy.Logger.ForcedLog(log4net.Core.LoggingEvent)">
19969 Creates a new logging event and logs the event without further checks.
19971 <param name="logEvent">The event being logged.</param>
19974 Delivers the logging event to the attached appenders.
19978 <member name="F:log4net.Repository.Hierarchy.Logger.ThisDeclaringType">
19980 The fully qualified type of the Logger class.
19983 <member name="F:log4net.Repository.Hierarchy.Logger.m_name">
19985 The name of this logger.
19988 <member name="F:log4net.Repository.Hierarchy.Logger.m_level">
19990 The assigned level of this logger.
19994 The <c>level</c> variable need not be
19995 assigned a value in which case it is inherited
19996 form the hierarchy.
20000 <member name="F:log4net.Repository.Hierarchy.Logger.m_parent">
20002 The parent of this logger.
20006 The parent of this logger.
20007 All loggers have at least one ancestor which is the root logger.
20011 <member name="F:log4net.Repository.Hierarchy.Logger.m_hierarchy">
20013 Loggers need to know what Hierarchy they are in.
20017 Loggers need to know what Hierarchy they are in.
20018 The hierarchy that this logger is a member of is stored
20023 <member name="F:log4net.Repository.Hierarchy.Logger.m_appenderAttachedImpl">
20025 Helper implementation of the <see cref="T:log4net.Core.IAppenderAttachable"/> interface
20028 <member name="F:log4net.Repository.Hierarchy.Logger.m_additive">
20030 Flag indicating if child loggers inherit their parents appenders
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.
20044 <member name="F:log4net.Repository.Hierarchy.Logger.m_appenderLock">
20046 Lock to protect AppenderAttachedImpl variable m_appenderAttachedImpl
20049 <member name="P:log4net.Repository.Hierarchy.Logger.Parent">
20051 Gets or sets the parent logger in the hierarchy.
20054 The parent logger in the hierarchy.
20058 Part of the Composite pattern that makes the hierarchy.
20059 The hierarchy is parent linked rather than child linked.
20063 <member name="P:log4net.Repository.Hierarchy.Logger.Additivity">
20065 Gets or sets a value indicating if child loggers inherit their parent's appenders.
20068 <c>true</c> if child loggers inherit their parent's appenders.
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.
20082 <member name="P:log4net.Repository.Hierarchy.Logger.EffectiveLevel">
20084 Gets the effective level for this logger.
20086 <returns>The nearest level in the logger hierarchy.</returns>
20089 Starting from this logger, searches the logger hierarchy for a
20090 non-null level and returns it. Otherwise, returns the level of the
20093 <para>The Logger class is designed so that this method executes as
20094 quickly as possible.</para>
20097 <member name="P:log4net.Repository.Hierarchy.Logger.Hierarchy">
20099 Gets or sets the <see cref="P:log4net.Repository.Hierarchy.Logger.Hierarchy"/> where this
20100 <c>Logger</c> instance is attached to.
20102 <value>The hierarchy that this logger belongs to.</value>
20105 This logger must be attached to a single <see cref="P:log4net.Repository.Hierarchy.Logger.Hierarchy"/>.
20109 <member name="P:log4net.Repository.Hierarchy.Logger.Level">
20111 Gets or sets the assigned <see cref="P:log4net.Repository.Hierarchy.Logger.Level"/>, if any, for this Logger.
20114 The <see cref="P:log4net.Repository.Hierarchy.Logger.Level"/> of this logger.
20118 The assigned <see cref="P:log4net.Repository.Hierarchy.Logger.Level"/> can be <c>null</c>.
20122 <member name="P:log4net.Repository.Hierarchy.Logger.Appenders">
20124 Get the appenders contained in this logger as an
20125 <see cref="T:System.Collections.ICollection"/>.
20127 <returns>A collection of the appenders in this logger</returns>
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.
20136 <member name="P:log4net.Repository.Hierarchy.Logger.Name">
20138 Gets the logger name.
20141 The name of the logger.
20145 The name of this logger
20149 <member name="P:log4net.Repository.Hierarchy.Logger.Repository">
20151 Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> where this
20152 <c>Logger</c> instance is attached to.
20155 The <see cref="T:log4net.Repository.ILoggerRepository"/> that this logger belongs to.
20159 Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> where this
20160 <c>Logger</c> instance is attached to.
20164 <member name="M:log4net.Repository.Hierarchy.DefaultLoggerFactory.LoggerImpl.#ctor(System.String)">
20166 Construct a new Logger
20168 <param name="name">the name of the logger</param>
20171 Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.DefaultLoggerFactory.LoggerImpl"/> class
20172 with the specified name.
20176 <member name="T:log4net.Repository.Hierarchy.LoggerCreationEventHandler">
20178 Delegate used to handle logger creation event notifications.
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>
20184 Delegate used to handle logger creation event notifications.
20188 <member name="T:log4net.Repository.Hierarchy.LoggerCreationEventArgs">
20190 Provides data for the <see cref="E:log4net.Repository.Hierarchy.Hierarchy.LoggerCreatedEvent"/> event.
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.
20199 <member name="F:log4net.Repository.Hierarchy.LoggerCreationEventArgs.m_log">
20201 The <see cref="P:log4net.Repository.Hierarchy.LoggerCreationEventArgs.Logger"/> created
20204 <member name="M:log4net.Repository.Hierarchy.LoggerCreationEventArgs.#ctor(log4net.Repository.Hierarchy.Logger)">
20208 <param name="log">The <see cref="P:log4net.Repository.Hierarchy.LoggerCreationEventArgs.Logger"/> that has been created.</param>
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"/>.
20216 <member name="P:log4net.Repository.Hierarchy.LoggerCreationEventArgs.Logger">
20218 Gets the <see cref="P:log4net.Repository.Hierarchy.LoggerCreationEventArgs.Logger"/> that has been created.
20221 The <see cref="P:log4net.Repository.Hierarchy.LoggerCreationEventArgs.Logger"/> that has been created.
20225 The <see cref="P:log4net.Repository.Hierarchy.LoggerCreationEventArgs.Logger"/> that has been created.
20229 <member name="T:log4net.Repository.Hierarchy.Hierarchy">
20231 Hierarchical organization of loggers
20235 <i>The casual user should not have to deal with this class
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.
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.
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.
20257 <author>Nicko Cadell</author>
20258 <author>Gert Driesen</author>
20260 <member name="T:log4net.Repository.LoggerRepositorySkeleton">
20262 Base implementation of <see cref="T:log4net.Repository.ILoggerRepository"/>
20266 Default abstract implementation of the <see cref="T:log4net.Repository.ILoggerRepository"/> interface.
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.
20273 <author>Nicko Cadell</author>
20274 <author>Gert Driesen</author>
20276 <member name="T:log4net.Repository.ILoggerRepository">
20278 Interface implemented by logger repositories.
20282 This interface is implemented by logger repositories. e.g.
20283 <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/>.
20286 This interface is used by the <see cref="T:log4net.LogManager"/>
20287 to obtain <see cref="T:log4net.ILog"/> interfaces.
20290 <author>Nicko Cadell</author>
20291 <author>Gert Driesen</author>
20293 <member name="M:log4net.Repository.ILoggerRepository.Exists(System.String)">
20295 Check if the named logger exists in the repository. If so return
20296 its reference, otherwise returns <c>null</c>.
20298 <param name="name">The name of the logger to lookup</param>
20299 <returns>The Logger object with the name specified</returns>
20302 If the names logger exists it is returned, otherwise
20303 <c>null</c> is returned.
20307 <member name="M:log4net.Repository.ILoggerRepository.GetCurrentLoggers">
20309 Returns all the currently defined loggers as an Array.
20311 <returns>All the defined loggers</returns>
20314 Returns all the currently defined loggers as an Array.
20318 <member name="M:log4net.Repository.ILoggerRepository.GetLogger(System.String)">
20320 Returns a named logger instance
20322 <param name="name">The name of the logger to retrieve</param>
20323 <returns>The logger object with the name specified</returns>
20326 Returns a named logger instance.
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.
20335 <member name="M:log4net.Repository.ILoggerRepository.Shutdown">
20336 <summary>Shutdown the repository</summary>
20339 Shutting down a repository will <i>safely</i> close and remove
20340 all appenders in all loggers including the root logger.
20343 Some appenders need to be closed before the
20344 application exists. Otherwise, pending logging events might be
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.
20355 <member name="M:log4net.Repository.ILoggerRepository.ResetConfiguration">
20357 Reset the repositories configuration to a default state
20361 Reset all values contained in this instance to their
20365 Existing loggers are not removed. They are just reset.
20368 This method should be used sparingly and with care as it will
20369 block all logging until it is completed.
20373 <member name="M:log4net.Repository.ILoggerRepository.Log(log4net.Core.LoggingEvent)">
20375 Log the <see cref="T:log4net.Core.LoggingEvent"/> through this repository.
20377 <param name="logEvent">the event to log</param>
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.
20386 The <c>logEvent</c> is delivered to the appropriate logger and
20387 that logger is then responsible for logging the event.
20391 <member name="M:log4net.Repository.ILoggerRepository.GetAppenders">
20393 Returns all the Appenders that are configured as an Array.
20395 <returns>All the Appenders</returns>
20398 Returns all the Appenders that are configured as an Array.
20402 <member name="P:log4net.Repository.ILoggerRepository.Name">
20404 The name of the repository
20407 The name of the repository
20411 The name of the repository.
20415 <member name="P:log4net.Repository.ILoggerRepository.RendererMap">
20417 RendererMap accesses the object renderer map for this repository.
20420 RendererMap accesses the object renderer map for this repository.
20424 RendererMap accesses the object renderer map for this repository.
20427 The RendererMap holds a mapping between types and
20428 <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/> objects.
20432 <member name="P:log4net.Repository.ILoggerRepository.PluginMap">
20434 The plugin map for this repository.
20437 The plugin map for this repository.
20441 The plugin map holds the <see cref="T:log4net.Plugin.IPlugin"/> instances
20442 that have been attached to this repository.
20446 <member name="P:log4net.Repository.ILoggerRepository.LevelMap">
20448 Get the level map for the Repository.
20452 Get the level map for the Repository.
20455 The level map defines the mappings between
20456 level names and <see cref="T:log4net.Core.Level"/> objects in
20461 <member name="P:log4net.Repository.ILoggerRepository.Threshold">
20463 The threshold for all events in this repository
20466 The threshold for all events in this repository
20470 The threshold for all events in this repository.
20474 <member name="P:log4net.Repository.ILoggerRepository.Configured">
20476 Flag indicates if this repository has been configured.
20479 Flag indicates if this repository has been configured.
20483 Flag indicates if this repository has been configured.
20487 <member name="E:log4net.Repository.ILoggerRepository.ShutdownEvent">
20489 Event to notify that the repository has been shutdown.
20492 Event to notify that the repository has been shutdown.
20496 Event raised when the repository has been shutdown.
20500 <member name="E:log4net.Repository.ILoggerRepository.ConfigurationReset">
20502 Event to notify that the repository has had its configuration reset.
20505 Event to notify that the repository has had its configuration reset.
20509 Event raised when the repository's configuration has been
20514 <member name="E:log4net.Repository.ILoggerRepository.ConfigurationChanged">
20516 Event to notify that the repository has had its configuration changed.
20519 Event to notify that the repository has had its configuration changed.
20523 Event raised when the repository's configuration has been changed.
20527 <member name="P:log4net.Repository.ILoggerRepository.Properties">
20529 Repository specific properties
20532 Repository specific properties
20536 These properties can be specified on a repository specific basis.
20540 <member name="M:log4net.Repository.LoggerRepositorySkeleton.#ctor">
20542 Default Constructor
20546 Initializes the repository with default (empty) properties.
20550 <member name="M:log4net.Repository.LoggerRepositorySkeleton.#ctor(log4net.Util.PropertiesDictionary)">
20552 Construct the repository using specific properties
20554 <param name="properties">the properties to set for this repository</param>
20557 Initializes the repository with specified properties.
20561 <member name="M:log4net.Repository.LoggerRepositorySkeleton.Exists(System.String)">
20563 Test if logger exists
20565 <param name="name">The name of the logger to lookup</param>
20566 <returns>The Logger object with the name specified</returns>
20569 Check if the named logger exists in the repository. If so return
20570 its reference, otherwise returns <c>null</c>.
20574 <member name="M:log4net.Repository.LoggerRepositorySkeleton.GetCurrentLoggers">
20576 Returns all the currently defined loggers in the repository
20578 <returns>All the defined loggers</returns>
20581 Returns all the currently defined loggers in the repository as an Array.
20585 <member name="M:log4net.Repository.LoggerRepositorySkeleton.GetLogger(System.String)">
20587 Return a new logger instance
20589 <param name="name">The name of the logger to retrieve</param>
20590 <returns>The logger object with the name specified</returns>
20593 Return a new logger instance.
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.
20602 <member name="M:log4net.Repository.LoggerRepositorySkeleton.Shutdown">
20604 Shutdown the repository
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.
20614 <member name="M:log4net.Repository.LoggerRepositorySkeleton.ResetConfiguration">
20616 Reset the repositories configuration to a default state
20620 Reset all values contained in this instance to their
20624 Existing loggers are not removed. They are just reset.
20627 This method should be used sparingly and with care as it will
20628 block all logging until it is completed.
20632 <member name="M:log4net.Repository.LoggerRepositorySkeleton.Log(log4net.Core.LoggingEvent)">
20634 Log the logEvent through this repository.
20636 <param name="logEvent">the event to log</param>
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.
20645 The <c>logEvent</c> is delivered to the appropriate logger and
20646 that logger is then responsible for logging the event.
20650 <member name="M:log4net.Repository.LoggerRepositorySkeleton.GetAppenders">
20652 Returns all the Appenders that are configured as an Array.
20654 <returns>All the Appenders</returns>
20657 Returns all the Appenders that are configured as an Array.
20661 <member name="M:log4net.Repository.LoggerRepositorySkeleton.AddRenderer(System.Type,log4net.ObjectRenderer.IObjectRenderer)">
20663 Adds an object renderer for a specific class.
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>
20669 Adds an object renderer for a specific class.
20673 <member name="M:log4net.Repository.LoggerRepositorySkeleton.OnShutdown(System.EventArgs)">
20675 Notify the registered listeners that the repository is shutting down
20677 <param name="e">Empty EventArgs</param>
20680 Notify any listeners that this repository is shutting down.
20684 <member name="M:log4net.Repository.LoggerRepositorySkeleton.OnConfigurationReset(System.EventArgs)">
20686 Notify the registered listeners that the repository has had its configuration reset
20688 <param name="e">Empty EventArgs</param>
20691 Notify any listeners that this repository's configuration has been reset.
20695 <member name="M:log4net.Repository.LoggerRepositorySkeleton.OnConfigurationChanged(System.EventArgs)">
20697 Notify the registered listeners that the repository has had its configuration changed
20699 <param name="e">Empty EventArgs</param>
20702 Notify any listeners that this repository's configuration has changed.
20706 <member name="M:log4net.Repository.LoggerRepositorySkeleton.RaiseConfigurationChanged(System.EventArgs)">
20708 Raise a configuration changed event on this repository
20710 <param name="e">EventArgs.Empty</param>
20713 Applications that programmatically change the configuration of the repository should
20714 raise this event notification to notify listeners.
20718 <member name="P:log4net.Repository.LoggerRepositorySkeleton.Name">
20720 The name of the repository
20723 The string name of the repository
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"/>.
20733 <member name="P:log4net.Repository.LoggerRepositorySkeleton.Threshold">
20735 The threshold for all events in this repository
20738 The threshold for all events in this repository
20742 The threshold for all events in this repository
20746 <member name="P:log4net.Repository.LoggerRepositorySkeleton.RendererMap">
20748 RendererMap accesses the object renderer map for this repository.
20751 RendererMap accesses the object renderer map for this repository.
20755 RendererMap accesses the object renderer map for this repository.
20758 The RendererMap holds a mapping between types and
20759 <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/> objects.
20763 <member name="P:log4net.Repository.LoggerRepositorySkeleton.PluginMap">
20765 The plugin map for this repository.
20768 The plugin map for this repository.
20772 The plugin map holds the <see cref="T:log4net.Plugin.IPlugin"/> instances
20773 that have been attached to this repository.
20777 <member name="P:log4net.Repository.LoggerRepositorySkeleton.LevelMap">
20779 Get the level map for the Repository.
20783 Get the level map for the Repository.
20786 The level map defines the mappings between
20787 level names and <see cref="T:log4net.Core.Level"/> objects in
20792 <member name="P:log4net.Repository.LoggerRepositorySkeleton.Configured">
20794 Flag indicates if this repository has been configured.
20797 Flag indicates if this repository has been configured.
20801 Flag indicates if this repository has been configured.
20805 <member name="E:log4net.Repository.LoggerRepositorySkeleton.ShutdownEvent">
20807 Event to notify that the repository has been shutdown.
20810 Event to notify that the repository has been shutdown.
20814 Event raised when the repository has been shutdown.
20818 <member name="E:log4net.Repository.LoggerRepositorySkeleton.ConfigurationReset">
20820 Event to notify that the repository has had its configuration reset.
20823 Event to notify that the repository has had its configuration reset.
20827 Event raised when the repository's configuration has been
20832 <member name="E:log4net.Repository.LoggerRepositorySkeleton.ConfigurationChanged">
20834 Event to notify that the repository has had its configuration changed.
20837 Event to notify that the repository has had its configuration changed.
20841 Event raised when the repository's configuration has been changed.
20845 <member name="P:log4net.Repository.LoggerRepositorySkeleton.Properties">
20847 Repository specific properties
20850 Repository specific properties
20853 These properties can be specified on a repository specific basis
20856 <member name="T:log4net.Repository.IBasicRepositoryConfigurator">
20858 Basic Configurator interface for repositories
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"/>.
20866 A <see cref="T:log4net.Repository.ILoggerRepository"/> should implement this interface to support
20867 configuration by the <see cref="T:log4net.Config.BasicConfigurator"/>.
20870 <author>Nicko Cadell</author>
20871 <author>Gert Driesen</author>
20873 <member name="M:log4net.Repository.IBasicRepositoryConfigurator.Configure(log4net.Appender.IAppender)">
20875 Initialize the repository using the specified appender
20877 <param name="appender">the appender to use to log all logging events</param>
20880 Configure the repository to route all logging events to the
20881 specified appender.
20885 <member name="T:log4net.Repository.IXmlRepositoryConfigurator">
20887 Configure repository using XML
20891 Interface used by Xml configurator to configure a <see cref="T:log4net.Repository.ILoggerRepository"/>.
20894 A <see cref="T:log4net.Repository.ILoggerRepository"/> should implement this interface to support
20895 configuration by the <see cref="T:log4net.Config.XmlConfigurator"/>.
20898 <author>Nicko Cadell</author>
20899 <author>Gert Driesen</author>
20901 <member name="M:log4net.Repository.IXmlRepositoryConfigurator.Configure(System.Xml.XmlElement)">
20903 Initialize the repository using the specified config
20905 <param name="element">the element containing the root of the config</param>
20908 The schema for the XML configuration data is defined by
20909 the implementation.
20913 <member name="M:log4net.Repository.Hierarchy.Hierarchy.#ctor">
20915 Default constructor
20919 Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> class.
20923 <member name="M:log4net.Repository.Hierarchy.Hierarchy.#ctor(log4net.Util.PropertiesDictionary)">
20925 Construct with properties
20927 <param name="properties">The properties to pass to this repository.</param>
20930 Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> class.
20934 <member name="M:log4net.Repository.Hierarchy.Hierarchy.#ctor(log4net.Repository.Hierarchy.ILoggerFactory)">
20936 Construct with a logger factory
20938 <param name="loggerFactory">The factory to use to create new logger instances.</param>
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"/>.
20946 <member name="M:log4net.Repository.Hierarchy.Hierarchy.#ctor(log4net.Util.PropertiesDictionary,log4net.Repository.Hierarchy.ILoggerFactory)">
20948 Construct with properties and a logger factory
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>
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"/>.
20959 <member name="M:log4net.Repository.Hierarchy.Hierarchy.Exists(System.String)">
20961 Test if a logger exists
20963 <param name="name">The name of the logger to lookup</param>
20964 <returns>The Logger object with the name specified</returns>
20967 Check if the named logger exists in the hierarchy. If so return
20968 its reference, otherwise returns <c>null</c>.
20972 <member name="M:log4net.Repository.Hierarchy.Hierarchy.GetCurrentLoggers">
20974 Returns all the currently defined loggers in the hierarchy as an Array
20976 <returns>All the defined loggers</returns>
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
20985 <member name="M:log4net.Repository.Hierarchy.Hierarchy.GetLogger(System.String)">
20987 Return a new logger instance named as the first parameter using
20988 the default factory.
20992 Return a new logger instance named as the first parameter using
20993 the default factory.
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.
21001 <param name="name">The name of the logger to retrieve</param>
21002 <returns>The logger object with the name specified</returns>
21004 <member name="M:log4net.Repository.Hierarchy.Hierarchy.Shutdown">
21006 Shutting down a hierarchy will <i>safely</i> close and remove
21007 all appenders in all loggers including the root logger.
21011 Shutting down a hierarchy will <i>safely</i> close and remove
21012 all appenders in all loggers including the root logger.
21015 Some appenders need to be closed before the
21016 application exists. Otherwise, pending logging events might be
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.
21027 <member name="M:log4net.Repository.Hierarchy.Hierarchy.ResetConfiguration">
21029 Reset all values contained in this hierarchy instance to their default.
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.
21041 Existing loggers are not removed. They are just reset.
21044 This method should be used sparingly and with care as it will
21045 block all logging until it is completed.
21049 <member name="M:log4net.Repository.Hierarchy.Hierarchy.Log(log4net.Core.LoggingEvent)">
21051 Log the logEvent through this hierarchy.
21053 <param name="logEvent">the event to log</param>
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.
21062 The <c>logEvent</c> is delivered to the appropriate logger and
21063 that logger is then responsible for logging the event.
21067 <member name="M:log4net.Repository.Hierarchy.Hierarchy.GetAppenders">
21069 Returns all the Appenders that are currently configured
21071 <returns>An array containing all the currently configured appenders</returns>
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.
21079 The list returned is unordered but does not contain duplicates.
21083 <member name="M:log4net.Repository.Hierarchy.Hierarchy.CollectAppender(System.Collections.ArrayList,log4net.Appender.IAppender)">
21085 Collect the appenders from an <see cref="T:log4net.Core.IAppenderAttachable"/>.
21086 The appender may also be a container.
21088 <param name="appenderList"></param>
21089 <param name="appender"></param>
21091 <member name="M:log4net.Repository.Hierarchy.Hierarchy.CollectAppenders(System.Collections.ArrayList,log4net.Core.IAppenderAttachable)">
21093 Collect the appenders from an <see cref="T:log4net.Core.IAppenderAttachable"/> container
21095 <param name="appenderList"></param>
21096 <param name="container"></param>
21098 <member name="M:log4net.Repository.Hierarchy.Hierarchy.log4net#Repository#IBasicRepositoryConfigurator#Configure(log4net.Appender.IAppender)">
21100 Initialize the log4net system using the specified appender
21102 <param name="appender">the appender to use to log all logging events</param>
21104 <member name="M:log4net.Repository.Hierarchy.Hierarchy.BasicRepositoryConfigure(log4net.Appender.IAppender)">
21106 Initialize the log4net system using the specified appender
21108 <param name="appender">the appender to use to log all logging events</param>
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.
21117 <member name="M:log4net.Repository.Hierarchy.Hierarchy.log4net#Repository#IXmlRepositoryConfigurator#Configure(System.Xml.XmlElement)">
21119 Initialize the log4net system using the specified config
21121 <param name="element">the element containing the root of the config</param>
21123 <member name="M:log4net.Repository.Hierarchy.Hierarchy.XmlRepositoryConfigure(System.Xml.XmlElement)">
21125 Initialize the log4net system using the specified config
21127 <param name="element">the element containing the root of the config</param>
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.
21136 <member name="M:log4net.Repository.Hierarchy.Hierarchy.IsDisabled(log4net.Core.Level)">
21138 Test if this hierarchy is disabled for the specified <see cref="T:log4net.Core.Level"/>.
21140 <param name="level">The level to check against.</param>
21142 <c>true</c> if the repository is disabled for the level argument, <c>false</c> otherwise.
21146 If this hierarchy has not been configured then this method will
21147 always return <c>true</c>.
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.
21155 See also the <see cref="P:log4net.Repository.ILoggerRepository.Threshold"/> property.
21159 <member name="M:log4net.Repository.Hierarchy.Hierarchy.Clear">
21161 Clear all logger definitions from the internal hashtable
21165 This call will clear all logger definitions from the internal
21166 hashtable. Invoking this method will irrevocably mess up the
21170 You should <b>really</b> know what you are doing before
21171 invoking this method.
21175 <member name="M:log4net.Repository.Hierarchy.Hierarchy.GetLogger(System.String,log4net.Repository.Hierarchy.ILoggerFactory)">
21177 Return a new logger instance named as the first parameter using
21178 <paramref name="factory"/>.
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>
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.
21192 <member name="M:log4net.Repository.Hierarchy.Hierarchy.OnLoggerCreationEvent(log4net.Repository.Hierarchy.Logger)">
21194 Sends a logger creation event to all registered listeners
21196 <param name="logger">The newly created logger</param>
21198 Raises the logger creation event.
21201 <member name="M:log4net.Repository.Hierarchy.Hierarchy.UpdateParents(log4net.Repository.Hierarchy.Logger)">
21203 Updates all the parents of the specified logger
21205 <param name="log">The logger to update the parents for</param>
21208 This method loops through all the <i>potential</i> parents of
21209 <paramref name="log"/>. There 3 possible cases:
21211 <list type="number">
21213 <term>No entry for the potential parent of <paramref name="log"/> exists</term>
21215 We create a ProvisionNode for this potential
21216 parent and insert <paramref name="log"/> in that provision node.
21220 <term>The entry is of type Logger for the potential parent.</term>
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
21229 <term>The entry is of type ProvisionNode for this potential parent.</term>
21231 We add <paramref name="log"/> to the list of children for this
21238 <member name="M:log4net.Repository.Hierarchy.Hierarchy.UpdateChildren(log4net.Repository.Hierarchy.ProvisionNode,log4net.Repository.Hierarchy.Logger)">
21240 Replace a <see cref="T:log4net.Repository.Hierarchy.ProvisionNode"/> with a <see cref="T:log4net.Repository.Hierarchy.Logger"/> in the hierarchy.
21242 <param name="pn"></param>
21243 <param name="log"></param>
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
21252 We loop on all the children 'c' in 'pn'.
21255 If the child 'c' has been already linked to a child of
21256 'log' then there is no need to update 'c'.
21259 Otherwise, we set log's parent field to c's parent and set
21260 c's parent field to log.
21264 <member name="M:log4net.Repository.Hierarchy.Hierarchy.AddLevel(log4net.Repository.Hierarchy.Hierarchy.LevelEntry)">
21266 Define or redefine a Level using the values in the <see cref="T:log4net.Repository.Hierarchy.Hierarchy.LevelEntry"/> argument
21268 <param name="levelEntry">the level values</param>
21271 Define or redefine a Level using the values in the <see cref="T:log4net.Repository.Hierarchy.Hierarchy.LevelEntry"/> argument
21274 Supports setting levels via the configuration file.
21278 <member name="M:log4net.Repository.Hierarchy.Hierarchy.AddProperty(log4net.Repository.Hierarchy.Hierarchy.PropertyEntry)">
21280 Set a Property using the values in the <see cref="T:log4net.Repository.Hierarchy.Hierarchy.LevelEntry"/> argument
21282 <param name="propertyEntry">the property value</param>
21285 Set a Property using the values in the <see cref="T:log4net.Repository.Hierarchy.Hierarchy.LevelEntry"/> argument.
21288 Supports setting property values via the configuration file.
21292 <member name="E:log4net.Repository.Hierarchy.Hierarchy.LoggerCreatedEvent">
21294 Event used to notify that a logger has been created.
21298 Event raised when a logger is created.
21302 <member name="P:log4net.Repository.Hierarchy.Hierarchy.EmittedNoAppenderWarning">
21304 Has no appender warning been emitted
21308 Flag to indicate if we have already issued a warning
21309 about not having an appender warning.
21313 <member name="P:log4net.Repository.Hierarchy.Hierarchy.Root">
21315 Get the root of this hierarchy
21319 Get the root of this hierarchy.
21323 <member name="P:log4net.Repository.Hierarchy.Hierarchy.LoggerFactory">
21325 Gets or sets the default <see cref="T:log4net.Repository.Hierarchy.ILoggerFactory"/> instance.
21327 <value>The default <see cref="T:log4net.Repository.Hierarchy.ILoggerFactory"/></value>
21330 The logger factory is used to create logger instances.
21334 <member name="T:log4net.Repository.Hierarchy.Hierarchy.LevelEntry">
21336 A class to hold the value, name and display name for a level
21340 A class to hold the value, name and display name for a level
21344 <member name="M:log4net.Repository.Hierarchy.Hierarchy.LevelEntry.ToString">
21346 Override <c>Object.ToString</c> to return sensible debug info
21348 <returns>string info about this object</returns>
21350 <member name="P:log4net.Repository.Hierarchy.Hierarchy.LevelEntry.Value">
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.
21361 <member name="P:log4net.Repository.Hierarchy.Hierarchy.LevelEntry.Name">
21366 The name of the level
21370 The name of the level.
21374 <member name="P:log4net.Repository.Hierarchy.Hierarchy.LevelEntry.DisplayName">
21376 Display name for the level
21379 The display name of the level
21383 The display name of the level.
21387 <member name="T:log4net.Repository.Hierarchy.Hierarchy.PropertyEntry">
21389 A class to hold the key and data for a property set in the config file
21393 A class to hold the key and data for a property set in the config file
21397 <member name="M:log4net.Repository.Hierarchy.Hierarchy.PropertyEntry.ToString">
21399 Override <c>Object.ToString</c> to return sensible debug info
21401 <returns>string info about this object</returns>
21403 <member name="P:log4net.Repository.Hierarchy.Hierarchy.PropertyEntry.Key">
21416 <member name="P:log4net.Repository.Hierarchy.Hierarchy.PropertyEntry.Value">
21429 <member name="T:log4net.Repository.Hierarchy.LoggerKey">
21431 Used internally to accelerate hash table searches.
21435 Internal class used to improve performance of
21436 string keyed hashtables.
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.
21445 <author>Nicko Cadell</author>
21446 <author>Gert Driesen</author>
21448 <member name="M:log4net.Repository.Hierarchy.LoggerKey.#ctor(System.String)">
21450 Construct key with string name
21454 Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.LoggerKey"/> class
21455 with the specified name.
21458 Stores the hashcode of the string and interns
21459 the string key to optimize comparisons.
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.
21468 <param name="name">The name of the logger.</param>
21470 <member name="M:log4net.Repository.Hierarchy.LoggerKey.GetHashCode">
21472 Returns a hash code for the current instance.
21474 <returns>A hash code for the current instance.</returns>
21477 Returns the cached hashcode.
21481 <member name="M:log4net.Repository.Hierarchy.LoggerKey.Equals(System.Object)">
21483 Determines whether two <see cref="T:log4net.Repository.Hierarchy.LoggerKey"/> instances
21486 <param name="obj">The <see cref="T:System.Object"/> to compare with the current <see cref="T:log4net.Repository.Hierarchy.LoggerKey"/>.</param>
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>.
21492 Compares the references of the interned strings.
21496 <member name="T:log4net.Repository.Hierarchy.ProvisionNode">
21498 Provision nodes are used where no logger instance has been specified
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.
21507 A provision node holds a list of child loggers on behalf of
21508 a logger that does not exist.
21511 <author>Nicko Cadell</author>
21512 <author>Gert Driesen</author>
21514 <member name="M:log4net.Repository.Hierarchy.ProvisionNode.#ctor(log4net.Repository.Hierarchy.Logger)">
21516 Create a new provision node with child node
21518 <param name="log">A child logger to add to this node.</param>
21521 Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.ProvisionNode"/> class
21522 with the specified child logger.
21526 <member name="T:log4net.Repository.Hierarchy.RootLogger">
21528 The <see cref="T:log4net.Repository.Hierarchy.RootLogger"/> sits at the root of the logger hierarchy tree.
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.
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.
21542 <author>Nicko Cadell</author>
21543 <author>Gert Driesen</author>
21545 <member name="M:log4net.Repository.Hierarchy.RootLogger.#ctor(log4net.Core.Level)">
21547 Construct a <see cref="T:log4net.Repository.Hierarchy.RootLogger"/>
21549 <param name="level">The level to assign to the root logger.</param>
21552 Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.RootLogger"/> class with
21553 the specified logging level.
21556 The root logger names itself as "root". However, the root
21557 logger cannot be retrieved by name.
21561 <member name="P:log4net.Repository.Hierarchy.RootLogger.EffectiveLevel">
21563 Gets the assigned level value without walking the logger hierarchy.
21565 <value>The assigned level value without walking the logger hierarchy.</value>
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"/>.
21574 <member name="P:log4net.Repository.Hierarchy.RootLogger.Level">
21576 Gets or sets the assigned <see cref="P:log4net.Repository.Hierarchy.RootLogger.Level"/> for the root logger.
21579 The <see cref="P:log4net.Repository.Hierarchy.RootLogger.Level"/> of the root logger.
21583 Setting the level of the root logger to a <c>null</c> reference
21584 may have catastrophic results. We prevent this here.
21588 <member name="T:log4net.Repository.Hierarchy.XmlHierarchyConfigurator">
21590 Initializes the log4net environment using an XML DOM.
21594 Configures a <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> using an XML DOM.
21597 <author>Nicko Cadell</author>
21598 <author>Gert Driesen</author>
21600 <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.#ctor(log4net.Repository.Hierarchy.Hierarchy)">
21602 Construct the configurator for a hierarchy
21604 <param name="hierarchy">The hierarchy to build.</param>
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"/>.
21612 <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.Configure(System.Xml.XmlElement)">
21614 Configure the hierarchy by parsing a DOM tree of XML elements.
21616 <param name="element">The root element to parse.</param>
21619 Configure the hierarchy by parsing a DOM tree of XML elements.
21623 <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.FindAppenderByReference(System.Xml.XmlElement)">
21625 Parse appenders by IDREF.
21627 <param name="appenderRef">The appender ref element.</param>
21628 <returns>The instance of the appender that the ref refers to.</returns>
21631 Parse an XML element that represents an appender and return
21636 <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseAppender(System.Xml.XmlElement)">
21638 Parses an appender element.
21640 <param name="appenderElement">The appender element.</param>
21641 <returns>The appender instance or <c>null</c> when parsing failed.</returns>
21644 Parse an XML element that represents an appender and return
21645 the appender instance.
21649 <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseLogger(System.Xml.XmlElement)">
21651 Parses a logger element.
21653 <param name="loggerElement">The logger element.</param>
21656 Parse an XML element that represents a logger.
21660 <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseRoot(System.Xml.XmlElement)">
21662 Parses the root logger element.
21664 <param name="rootElement">The root element.</param>
21667 Parse an XML element that represents the root logger.
21671 <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseChildrenOfLoggerElement(System.Xml.XmlElement,log4net.Repository.Hierarchy.Logger,System.Boolean)">
21673 Parses the children of a logger element.
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>
21680 Parse the child elements of a <logger> element.
21684 <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseRenderer(System.Xml.XmlElement)">
21686 Parses an object renderer.
21688 <param name="element">The renderer element.</param>
21691 Parse an XML element that represents a renderer.
21695 <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseLevel(System.Xml.XmlElement,log4net.Repository.Hierarchy.Logger,System.Boolean)">
21697 Parses a level element.
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>
21704 Parse an XML element that represents a level.
21708 <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.SetParameter(System.Xml.XmlElement,System.Object)">
21710 Sets a parameter on an object.
21712 <param name="element">The parameter element.</param>
21713 <param name="target">The object to set the parameter on.</param>
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
21726 <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.HasAttributesOrElements(System.Xml.XmlElement)">
21728 Test if an element has no attributes or child elements
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>
21733 <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.IsTypeConstructible(System.Type)">
21735 Test if a <see cref="T:System.Type"/> is constructible with <c>Activator.CreateInstance</c>.
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>
21740 <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.FindMethodInfo(System.Type,System.String)">
21742 Look for a method on the <paramref name="targetType"/> that matches the <paramref name="name"/> supplied
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>
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.
21755 <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ConvertStringTo(System.Type,System.String)">
21757 Converts a string value to a target type.
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>
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.
21768 <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.CreateObjectFromXml(System.Xml.XmlElement,System.Type,System.Type)">
21770 Creates an object as specified in XML.
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>
21778 Parse an XML element and create an object instance based on the configuration
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.
21789 <member name="F:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.m_appenderBag">
21791 key: appenderName, value: appender.
21794 <member name="F:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.m_hierarchy">
21796 The Hierarchy being configured.
21799 <member name="T:log4net.Repository.LoggerRepositoryShutdownEventHandler">
21801 Delegate used to handle logger repository shutdown event notifications
21803 <param name="sender">The <see cref="T:log4net.Repository.ILoggerRepository"/> that is shutting down.</param>
21804 <param name="e">Empty event args</param>
21807 Delegate used to handle logger repository shutdown event notifications.
21811 <member name="T:log4net.Repository.LoggerRepositoryConfigurationResetEventHandler">
21813 Delegate used to handle logger repository configuration reset event notifications
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>
21819 Delegate used to handle logger repository configuration reset event notifications.
21823 <member name="T:log4net.Repository.LoggerRepositoryConfigurationChangedEventHandler">
21825 Delegate used to handle event notifications for logger repository configuration changes.
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>
21831 Delegate used to handle event notifications for logger repository configuration changes.
21835 <member name="T:log4net.Util.PatternStringConverters.AppDomainPatternConverter">
21837 Write the name of the current AppDomain to the output
21841 Write the name of the current AppDomain to the output writer
21844 <author>Nicko Cadell</author>
21846 <member name="M:log4net.Util.PatternStringConverters.AppDomainPatternConverter.Convert(System.IO.TextWriter,System.Object)">
21848 Write the name of the current AppDomain to the output
21850 <param name="writer">the writer to write to</param>
21851 <param name="state">null, state is not set</param>
21854 Writes name of the current AppDomain to the output <paramref name="writer"/>.
21858 <member name="T:log4net.Util.PatternStringConverters.DatePatternConverter">
21860 Write the current date to the output
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.
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">
21872 <term>Option value</term>
21873 <description>Output</description>
21876 <term>ISO8601</term>
21878 Uses the <see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/> formatter.
21879 Formats using the <c>"yyyy-MM-dd HH:mm:ss,fff"</c> pattern.
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>.
21890 <term>ABSOLUTE</term>
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>.
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>.
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"/>.
21913 <author>Nicko Cadell</author>
21915 <member name="F:log4net.Util.PatternStringConverters.DatePatternConverter.m_dateFormatter">
21917 The <see cref="T:log4net.DateFormatter.IDateFormatter"/> used to render the date to a string
21921 The <see cref="T:log4net.DateFormatter.IDateFormatter"/> used to render the date to a string
21925 <member name="M:log4net.Util.PatternStringConverters.DatePatternConverter.ActivateOptions">
21927 Initialize the converter options
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.
21938 If any of the configuration properties are modified then
21939 <see cref="M:log4net.Util.PatternStringConverters.DatePatternConverter.ActivateOptions"/> must be called again.
21943 <member name="M:log4net.Util.PatternStringConverters.DatePatternConverter.Convert(System.IO.TextWriter,System.Object)">
21945 Write the current date to the output
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>
21951 Pass the current date and time to the <see cref="T:log4net.DateFormatter.IDateFormatter"/>
21952 for it to render it to the writer.
21955 The date and time passed is in the local time zone.
21959 <member name="T:log4net.Util.PatternStringConverters.EnvironmentPatternConverter">
21961 Write an environment variable to the output
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.
21970 <author>Nicko Cadell</author>
21972 <member name="M:log4net.Util.PatternStringConverters.EnvironmentPatternConverter.Convert(System.IO.TextWriter,System.Object)">
21974 Write an environment variable to the output
21976 <param name="writer">the writer to write to</param>
21977 <param name="state">null, state is not set</param>
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"/>
21987 <member name="T:log4net.Util.PatternStringConverters.IdentityPatternConverter">
21989 Write the current thread identity to the output
21993 Write the current thread identity to the output writer
21996 <author>Nicko Cadell</author>
21998 <member name="M:log4net.Util.PatternStringConverters.IdentityPatternConverter.Convert(System.IO.TextWriter,System.Object)">
22000 Write the current thread identity to the output
22002 <param name="writer">the writer to write to</param>
22003 <param name="state">null, state is not set</param>
22006 Writes the current thread identity to the output <paramref name="writer"/>.
22010 <member name="T:log4net.Util.PatternStringConverters.LiteralPatternConverter">
22012 Pattern converter for literal string instances in the pattern
22016 Writes the literal string value specified in the
22017 <see cref="P:log4net.Util.PatternConverter.Option"/> property to
22021 <author>Nicko Cadell</author>
22023 <member name="M:log4net.Util.PatternStringConverters.LiteralPatternConverter.SetNext(log4net.Util.PatternConverter)">
22025 Set the next converter in the chain
22027 <param name="pc">The next pattern converter in the chain</param>
22028 <returns>The next pattern converter</returns>
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
22041 <member name="M:log4net.Util.PatternStringConverters.LiteralPatternConverter.Format(System.IO.TextWriter,System.Object)">
22043 Write the literal to the output
22045 <param name="writer">the writer to write to</param>
22046 <param name="state">null, not set</param>
22049 Override the formatting behavior to ignore the FormattingInfo
22050 because we have a literal instead.
22053 Writes the value of <see cref="P:log4net.Util.PatternConverter.Option"/>
22054 to the output <paramref name="writer"/>.
22058 <member name="M:log4net.Util.PatternStringConverters.LiteralPatternConverter.Convert(System.IO.TextWriter,System.Object)">
22060 Convert this pattern into the rendered message
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>
22066 This method is not used.
22070 <member name="T:log4net.Util.PatternStringConverters.NewLinePatternConverter">
22072 Writes a newline to the output
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"/>:
22079 <list type="definition">
22081 <term>Option Value</term>
22082 <description>Output</description>
22086 <description>DOS or Windows line terminator <c>"\r\n"</c></description>
22090 <description>UNIX line terminator <c>"\n"</c></description>
22094 <author>Nicko Cadell</author>
22096 <member name="M:log4net.Util.PatternStringConverters.NewLinePatternConverter.ActivateOptions">
22098 Initialize the converter
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.
22109 If any of the configuration properties are modified then
22110 <see cref="M:log4net.Util.PatternStringConverters.NewLinePatternConverter.ActivateOptions"/> must be called again.
22114 <member name="T:log4net.Util.PatternStringConverters.ProcessIdPatternConverter">
22116 Write the current process ID to the output
22120 Write the current process ID to the output writer
22123 <author>Nicko Cadell</author>
22125 <member name="M:log4net.Util.PatternStringConverters.ProcessIdPatternConverter.Convert(System.IO.TextWriter,System.Object)">
22127 Write the current process ID to the output
22129 <param name="writer">the writer to write to</param>
22130 <param name="state">null, state is not set</param>
22133 Write the current process ID to the output <paramref name="writer"/>.
22137 <member name="T:log4net.Util.PatternStringConverters.PropertyPatternConverter">
22139 Property pattern converter
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.
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.
22155 <author>Nicko Cadell</author>
22157 <member name="M:log4net.Util.PatternStringConverters.PropertyPatternConverter.Convert(System.IO.TextWriter,System.Object)">
22159 Write the property value to the output
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>
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"/>
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.
22175 <member name="T:log4net.Util.PatternStringConverters.RandomStringPatternConverter">
22177 A Pattern converter that generates a string of random characters
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.
22186 The random characters in the string are limited to uppercase letters
22190 The random number generator used by this class is not cryptographically secure.
22193 <author>Nicko Cadell</author>
22195 <member name="F:log4net.Util.PatternStringConverters.RandomStringPatternConverter.s_random">
22197 Shared random number generator
22200 <member name="F:log4net.Util.PatternStringConverters.RandomStringPatternConverter.m_length">
22202 Length of random string to generate. Default length 4.
22205 <member name="M:log4net.Util.PatternStringConverters.RandomStringPatternConverter.ActivateOptions">
22207 Initialize the converter options
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.
22218 If any of the configuration properties are modified then
22219 <see cref="M:log4net.Util.PatternStringConverters.RandomStringPatternConverter.ActivateOptions"/> must be called again.
22223 <member name="M:log4net.Util.PatternStringConverters.RandomStringPatternConverter.Convert(System.IO.TextWriter,System.Object)">
22225 Write a randoim string to the output
22227 <param name="writer">the writer to write to</param>
22228 <param name="state">null, state is not set</param>
22231 Write a randoim string to the output <paramref name="writer"/>.
22235 <member name="T:log4net.Util.PatternStringConverters.UserNamePatternConverter">
22237 Write the current threads username to the output
22241 Write the current threads username to the output writer
22244 <author>Nicko Cadell</author>
22246 <member name="M:log4net.Util.PatternStringConverters.UserNamePatternConverter.Convert(System.IO.TextWriter,System.Object)">
22248 Write the current threads username to the output
22250 <param name="writer">the writer to write to</param>
22251 <param name="state">null, state is not set</param>
22254 Write the current threads username to the output <paramref name="writer"/>.
22258 <member name="T:log4net.Util.PatternStringConverters.UtcDatePatternConverter">
22260 Write the UTC date time to the output
22264 Date pattern converter, uses a <see cref="T:log4net.DateFormatter.IDateFormatter"/> to format
22265 the current date and time in Universal time.
22268 See the <see cref="T:log4net.Util.PatternStringConverters.DatePatternConverter"/> for details on the date pattern syntax.
22271 <seealso cref="T:log4net.Util.PatternStringConverters.DatePatternConverter"/>
22272 <author>Nicko Cadell</author>
22274 <member name="M:log4net.Util.PatternStringConverters.UtcDatePatternConverter.Convert(System.IO.TextWriter,System.Object)">
22276 Write the current date and time to the output
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>
22282 Pass the current date and time to the <see cref="T:log4net.DateFormatter.IDateFormatter"/>
22283 for it to render it to the writer.
22286 The date is in Universal time when it is rendered.
22289 <seealso cref="T:log4net.Util.PatternStringConverters.DatePatternConverter"/>
22291 <member name="T:log4net.Util.TypeConverters.BooleanConverter">
22293 Type converter for Boolean.
22297 Supports conversion from string to <c>bool</c> type.
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>
22306 <member name="M:log4net.Util.TypeConverters.BooleanConverter.CanConvertFrom(System.Type)">
22308 Can the source type be converted to the type supported by this object
22310 <param name="sourceType">the type to convert</param>
22311 <returns>true if the conversion is possible</returns>
22314 Returns <c>true</c> if the <paramref name="sourceType"/> is
22315 the <see cref="T:System.String"/> type.
22319 <member name="M:log4net.Util.TypeConverters.BooleanConverter.ConvertFrom(System.Object)">
22321 Convert the source object to the type supported by this object
22323 <param name="source">the object to convert</param>
22324 <returns>the converted object</returns>
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"/>.
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)"/>
22337 <member name="T:log4net.Util.TypeConverters.ConversionNotSupportedException">
22339 Exception base type for conversion errors.
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.
22348 <author>Nicko Cadell</author>
22349 <author>Gert Driesen</author>
22351 <member name="M:log4net.Util.TypeConverters.ConversionNotSupportedException.#ctor">
22357 Initializes a new instance of the <see cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException"/> class.
22361 <member name="M:log4net.Util.TypeConverters.ConversionNotSupportedException.#ctor(System.String)">
22365 <param name="message">A message to include with the exception.</param>
22368 Initializes a new instance of the <see cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException"/> class
22369 with the specified message.
22373 <member name="M:log4net.Util.TypeConverters.ConversionNotSupportedException.#ctor(System.String,System.Exception)">
22377 <param name="message">A message to include with the exception.</param>
22378 <param name="innerException">A nested exception to include.</param>
22381 Initializes a new instance of the <see cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException"/> class
22382 with the specified message and inner exception.
22386 <member name="M:log4net.Util.TypeConverters.ConversionNotSupportedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
22388 Serialization constructor
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>
22394 Initializes a new instance of the <see cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException"/> class
22395 with serialized data.
22399 <member name="M:log4net.Util.TypeConverters.ConversionNotSupportedException.Create(System.Type,System.Object)">
22401 Creates a new instance of the <see cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException"/> class.
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>
22408 Creates a new instance of the <see cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException"/> class.
22412 <member name="M:log4net.Util.TypeConverters.ConversionNotSupportedException.Create(System.Type,System.Object,System.Exception)">
22414 Creates a new instance of the <see cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException"/> class.
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>
22422 Creates a new instance of the <see cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException"/> class.
22426 <member name="T:log4net.Util.TypeConverters.ConverterRegistry">
22428 Register of type converters for specific types.
22432 Maintains a registry of type converters used to convert between
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.
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>
22447 <member name="M:log4net.Util.TypeConverters.ConverterRegistry.#ctor">
22449 Private constructor
22452 Initializes a new instance of the <see cref="T:log4net.Util.TypeConverters.ConverterRegistry"/> class.
22455 <member name="M:log4net.Util.TypeConverters.ConverterRegistry.#cctor">
22457 Static constructor.
22461 This constructor defines the intrinsic type converters.
22465 <member name="M:log4net.Util.TypeConverters.ConverterRegistry.AddConverter(System.Type,System.Object)">
22467 Adds a converter for a specific type.
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>
22473 Adds a converter instance for a specific type.
22477 <member name="M:log4net.Util.TypeConverters.ConverterRegistry.AddConverter(System.Type,System.Type)">
22479 Adds a converter for a specific type.
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>
22485 Adds a converter <see cref="T:System.Type"/> for a specific type.
22489 <member name="M:log4net.Util.TypeConverters.ConverterRegistry.GetConvertTo(System.Type,System.Type)">
22491 Gets the type converter to use to convert values to the destination type.
22493 <param name="sourceType">The type being converted from.</param>
22494 <param name="destinationType">The type being converted to.</param>
22496 The type converter instance to use for type conversions or <c>null</c>
22497 if no type converter is found.
22501 Gets the type converter to use to convert values to the destination type.
22505 <member name="M:log4net.Util.TypeConverters.ConverterRegistry.GetConvertFrom(System.Type)">
22507 Gets the type converter to use to convert values to the destination type.
22509 <param name="destinationType">The type being converted to.</param>
22511 The type converter instance to use for type conversions or <c>null</c>
22512 if no type converter is found.
22516 Gets the type converter to use to convert values to the destination type.
22520 <member name="M:log4net.Util.TypeConverters.ConverterRegistry.GetConverterFromAttribute(System.Type)">
22522 Lookups the type converter to use as specified by the attributes on the
22525 <param name="destinationType">The type being converted to.</param>
22527 The type converter instance to use for type conversions or <c>null</c>
22528 if no type converter is found.
22531 <member name="M:log4net.Util.TypeConverters.ConverterRegistry.CreateConverterInstance(System.Type)">
22533 Creates the instance of the type converter.
22535 <param name="converterType">The type of the type converter.</param>
22537 The type converter instance to use for type conversions or <c>null</c>
22538 if no type converter is found.
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.
22548 <member name="F:log4net.Util.TypeConverters.ConverterRegistry.s_type2converter">
22550 Mapping from <see cref="T:System.Type"/> to type converter.
22553 <member name="T:log4net.Util.TypeConverters.EncodingConverter">
22555 Supports conversion from string to <see cref="T:System.Text.Encoding"/> type.
22559 Supports conversion from string to <see cref="T:System.Text.Encoding"/> type.
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>
22568 <member name="M:log4net.Util.TypeConverters.EncodingConverter.CanConvertFrom(System.Type)">
22570 Can the source type be converted to the type supported by this object
22572 <param name="sourceType">the type to convert</param>
22573 <returns>true if the conversion is possible</returns>
22576 Returns <c>true</c> if the <paramref name="sourceType"/> is
22577 the <see cref="T:System.String"/> type.
22581 <member name="M:log4net.Util.TypeConverters.EncodingConverter.ConvertFrom(System.Object)">
22583 Overrides the ConvertFrom method of IConvertFrom.
22585 <param name="source">the object to convert to an encoding</param>
22586 <returns>the encoding</returns>
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"/>.
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)"/>
22599 <member name="T:log4net.Util.TypeConverters.IConvertTo">
22601 Interface supported by type converters
22605 This interface supports conversion from a single type to arbitrary types.
22606 See <see cref="T:log4net.Util.TypeConverters.TypeConverterAttribute"/>.
22609 <author>Nicko Cadell</author>
22611 <member name="M:log4net.Util.TypeConverters.IConvertTo.CanConvertTo(System.Type)">
22613 Returns whether this converter can convert the object to the specified type
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>
22619 Test if the type supported by this converter can be converted to the
22620 <paramref name="targetType"/>.
22624 <member name="M:log4net.Util.TypeConverters.IConvertTo.ConvertTo(System.Object,System.Type)">
22626 Converts the given value object to the specified type, using the arguments
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>
22633 Converts the <paramref name="source"/> (which must be of the type supported
22634 by this converter) to the <paramref name="targetType"/> specified..
22638 <member name="T:log4net.Util.TypeConverters.IPAddressConverter">
22640 Supports conversion from string to <see cref="T:System.Net.IPAddress"/> type.
22644 Supports conversion from string to <see cref="T:System.Net.IPAddress"/> type.
22647 <seealso cref="T:log4net.Util.TypeConverters.ConverterRegistry"/>
22648 <seealso cref="T:log4net.Util.TypeConverters.IConvertFrom"/>
22649 <author>Nicko Cadell</author>
22651 <member name="M:log4net.Util.TypeConverters.IPAddressConverter.CanConvertFrom(System.Type)">
22653 Can the source type be converted to the type supported by this object
22655 <param name="sourceType">the type to convert</param>
22656 <returns>true if the conversion is possible</returns>
22659 Returns <c>true</c> if the <paramref name="sourceType"/> is
22660 the <see cref="T:System.String"/> type.
22664 <member name="M:log4net.Util.TypeConverters.IPAddressConverter.ConvertFrom(System.Object)">
22666 Overrides the ConvertFrom method of IConvertFrom.
22668 <param name="source">the object to convert to an IPAddress</param>
22669 <returns>the IPAddress</returns>
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.
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)"/>
22683 <member name="F:log4net.Util.TypeConverters.IPAddressConverter.validIpAddressChars">
22685 Valid characters in an IPv4 or IPv6 address string. (Does not support subnets)
22688 <member name="T:log4net.Util.TypeConverters.PatternLayoutConverter">
22690 Supports conversion from string to <see cref="T:log4net.Layout.PatternLayout"/> type.
22694 Supports conversion from string to <see cref="T:log4net.Layout.PatternLayout"/> type.
22697 The string is used as the <see cref="P:log4net.Layout.PatternLayout.ConversionPattern"/>
22698 of the <see cref="T:log4net.Layout.PatternLayout"/>.
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>
22706 <member name="M:log4net.Util.TypeConverters.PatternLayoutConverter.CanConvertFrom(System.Type)">
22708 Can the source type be converted to the type supported by this object
22710 <param name="sourceType">the type to convert</param>
22711 <returns>true if the conversion is possible</returns>
22714 Returns <c>true</c> if the <paramref name="sourceType"/> is
22715 the <see cref="T:System.String"/> type.
22719 <member name="M:log4net.Util.TypeConverters.PatternLayoutConverter.ConvertFrom(System.Object)">
22721 Overrides the ConvertFrom method of IConvertFrom.
22723 <param name="source">the object to convert to a PatternLayout</param>
22724 <returns>the PatternLayout</returns>
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"/>.
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)"/>
22738 <member name="T:log4net.Util.TypeConverters.PatternStringConverter">
22740 Convert between string and <see cref="T:log4net.Util.PatternString"/>
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.
22748 The string is used as the <see cref="P:log4net.Util.PatternString.ConversionPattern"/>
22749 of the <see cref="T:log4net.Util.PatternString"/>.
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>
22757 <member name="M:log4net.Util.TypeConverters.PatternStringConverter.CanConvertTo(System.Type)">
22759 Can the target type be converted to the type supported by this object
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>
22765 Returns <c>true</c> if the <paramref name="targetType"/> is
22766 assignable from a <see cref="T:System.String"/> type.
22770 <member name="M:log4net.Util.TypeConverters.PatternStringConverter.ConvertTo(System.Object,System.Type)">
22772 Converts the given value object to the specified type, using the arguments
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>
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"/>.
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.
22789 <member name="M:log4net.Util.TypeConverters.PatternStringConverter.CanConvertFrom(System.Type)">
22791 Can the source type be converted to the type supported by this object
22793 <param name="sourceType">the type to convert</param>
22794 <returns>true if the conversion is possible</returns>
22797 Returns <c>true</c> if the <paramref name="sourceType"/> is
22798 the <see cref="T:System.String"/> type.
22802 <member name="M:log4net.Util.TypeConverters.PatternStringConverter.ConvertFrom(System.Object)">
22804 Overrides the ConvertFrom method of IConvertFrom.
22806 <param name="source">the object to convert to a PatternString</param>
22807 <returns>the PatternString</returns>
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"/>.
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)"/>
22821 <member name="T:log4net.Util.TypeConverters.TypeConverter">
22823 Supports conversion from string to <see cref="T:System.Type"/> type.
22827 Supports conversion from string to <see cref="T:System.Type"/> type.
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>
22835 <member name="M:log4net.Util.TypeConverters.TypeConverter.CanConvertFrom(System.Type)">
22837 Can the source type be converted to the type supported by this object
22839 <param name="sourceType">the type to convert</param>
22840 <returns>true if the conversion is possible</returns>
22843 Returns <c>true</c> if the <paramref name="sourceType"/> is
22844 the <see cref="T:System.String"/> type.
22848 <member name="M:log4net.Util.TypeConverters.TypeConverter.ConvertFrom(System.Object)">
22850 Overrides the ConvertFrom method of IConvertFrom.
22852 <param name="source">the object to convert to a Type</param>
22853 <returns>the Type</returns>
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.
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)"/>
22868 <member name="T:log4net.Util.TypeConverters.TypeConverterAttribute">
22870 Attribute used to associate a type converter
22874 Class and Interface level attribute that specifies a type converter
22875 to use with the associated type.
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.
22883 <author>Nicko Cadell</author>
22884 <author>Gert Driesen</author>
22886 <member name="F:log4net.Util.TypeConverters.TypeConverterAttribute.m_typeName">
22888 The string type name of the type converter
22891 <member name="M:log4net.Util.TypeConverters.TypeConverterAttribute.#ctor">
22893 Default constructor
22897 Default constructor
22901 <member name="M:log4net.Util.TypeConverters.TypeConverterAttribute.#ctor(System.String)">
22903 Create a new type converter attribute for the specified type name
22905 <param name="typeName">The string type name of the type converter</param>
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.
22913 <member name="M:log4net.Util.TypeConverters.TypeConverterAttribute.#ctor(System.Type)">
22915 Create a new type converter attribute for the specified type
22917 <param name="converterType">The type of the type converter</param>
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.
22925 <member name="P:log4net.Util.TypeConverters.TypeConverterAttribute.ConverterTypeName">
22927 The string type name of the type converter
22930 The string type name of the type converter
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.
22939 <member name="T:log4net.Util.AppenderAttachedImpl">
22941 A straightforward implementation of the <see cref="T:log4net.Core.IAppenderAttachable"/> interface.
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.
22950 <author>Nicko Cadell</author>
22951 <author>Gert Driesen</author>
22953 <member name="M:log4net.Util.AppenderAttachedImpl.#ctor">
22959 Initializes a new instance of the <see cref="T:log4net.Util.AppenderAttachedImpl"/> class.
22963 <member name="M:log4net.Util.AppenderAttachedImpl.AppendLoopOnAppenders(log4net.Core.LoggingEvent)">
22965 Append on on all attached appenders.
22967 <param name="loggingEvent">The event being logged.</param>
22968 <returns>The number of appenders called.</returns>
22971 Calls the <see cref="M:log4net.Appender.IAppender.DoAppend(log4net.Core.LoggingEvent)"/> method on all
22972 attached appenders.
22976 <member name="M:log4net.Util.AppenderAttachedImpl.AppendLoopOnAppenders(log4net.Core.LoggingEvent[])">
22978 Append on on all attached appenders.
22980 <param name="loggingEvents">The array of events being logged.</param>
22981 <returns>The number of appenders called.</returns>
22984 Calls the <see cref="M:log4net.Appender.IAppender.DoAppend(log4net.Core.LoggingEvent)"/> method on all
22985 attached appenders.
22989 <member name="M:log4net.Util.AppenderAttachedImpl.CallAppend(log4net.Appender.IAppender,log4net.Core.LoggingEvent[])">
22991 Calls the DoAppende method on the <see cref="T:log4net.Appender.IAppender"/> with
22992 the <see cref="T:log4net.Core.LoggingEvent"/> objects supplied.
22994 <param name="appender">The appender</param>
22995 <param name="loggingEvents">The events</param>
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.
23005 <member name="M:log4net.Util.AppenderAttachedImpl.AddAppender(log4net.Appender.IAppender)">
23007 Attaches an appender.
23009 <param name="newAppender">The appender to add.</param>
23012 If the appender is already in the list it won't be added again.
23016 <member name="M:log4net.Util.AppenderAttachedImpl.GetAppender(System.String)">
23018 Gets an attached appender with the specified name.
23020 <param name="name">The name of the appender to get.</param>
23022 The appender with the name specified, or <c>null</c> if no appender with the
23023 specified name is found.
23027 Lookup an attached appender by name.
23031 <member name="M:log4net.Util.AppenderAttachedImpl.RemoveAllAppenders">
23033 Removes all attached appenders.
23037 Removes and closes all attached appenders
23041 <member name="M:log4net.Util.AppenderAttachedImpl.RemoveAppender(log4net.Appender.IAppender)">
23043 Removes the specified appender from the list of attached appenders.
23045 <param name="appender">The appender to remove.</param>
23046 <returns>The appender removed from the list</returns>
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.
23055 <member name="M:log4net.Util.AppenderAttachedImpl.RemoveAppender(System.String)">
23057 Removes the appender with the specified name from the list of appenders.
23059 <param name="name">The name of the appender to remove.</param>
23060 <returns>The appender removed from the list</returns>
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.
23069 <member name="F:log4net.Util.AppenderAttachedImpl.m_appenderList">
23074 <member name="F:log4net.Util.AppenderAttachedImpl.m_appenderArray">
23076 Array of appenders, used to cache the m_appenderList
23079 <member name="P:log4net.Util.AppenderAttachedImpl.Appenders">
23081 Gets all attached appenders.
23084 A collection of attached appenders, or <c>null</c> if there
23085 are no attached appenders.
23089 The read only collection of all currently attached appenders.
23093 <member name="T:log4net.Util.CompositeProperties">
23095 This class aggregates several PropertiesDictionary collections together.
23099 Provides a dictionary style lookup over an ordered list of
23100 <see cref="T:log4net.Util.PropertiesDictionary"/> collections.
23103 <author>Nicko Cadell</author>
23105 <member name="M:log4net.Util.CompositeProperties.#ctor">
23111 Initializes a new instance of the <see cref="T:log4net.Util.CompositeProperties"/> class.
23115 <member name="M:log4net.Util.CompositeProperties.Add(log4net.Util.ReadOnlyPropertiesDictionary)">
23117 Add a Properties Dictionary to this composite collection
23119 <param name="properties">the properties to add</param>
23122 Properties dictionaries added first take precedence over dictionaries added
23127 <member name="M:log4net.Util.CompositeProperties.Flatten">
23129 Flatten this composite collection into a single properties dictionary
23131 <returns>the flattened dictionary</returns>
23134 Reduces the collection of ordered dictionaries to a single dictionary
23135 containing the resultant values for the keys.
23139 <member name="P:log4net.Util.CompositeProperties.Item(System.String)">
23141 Gets the value of a property
23144 The value for the property with the specified key
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
23155 If none of the collections contain the specified key then
23156 <c>null</c> is returned.
23160 <member name="T:log4net.Util.ContextPropertiesBase">
23162 Base class for Context Properties implementations
23166 This class defines a basic property get set accessor
23169 <author>Nicko Cadell</author>
23171 <member name="P:log4net.Util.ContextPropertiesBase.Item(System.String)">
23173 Gets or sets the value of a property
23176 The value for the property with the specified key
23180 Gets or sets the value of a property
23184 <member name="T:log4net.Util.CountingQuietTextWriter">
23186 Subclass of <see cref="T:log4net.Util.QuietTextWriter"/> that maintains a count of
23187 the number of bytes written.
23191 This writer counts the number of bytes written.
23194 <author>Nicko Cadell</author>
23195 <author>Gert Driesen</author>
23197 <member name="T:log4net.Util.QuietTextWriter">
23199 <see cref="T:System.IO.TextWriter"/> that does not leak exceptions
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"/>.
23207 <author>Nicko Cadell</author>
23208 <author>Gert Driesen</author>
23210 <member name="T:log4net.Util.TextWriterAdapter">
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"/>.
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"/>.
23221 <author>Nicko Cadell</author>
23223 <member name="F:log4net.Util.TextWriterAdapter.m_writer">
23225 The writer to forward messages to
23228 <member name="M:log4net.Util.TextWriterAdapter.#ctor(System.IO.TextWriter)">
23230 Create an instance of <see cref="T:log4net.Util.TextWriterAdapter"/> that forwards all
23231 messages to a <see cref="T:System.IO.TextWriter"/>.
23233 <param name="writer">The <see cref="T:System.IO.TextWriter"/> to forward to</param>
23236 Create an instance of <see cref="T:log4net.Util.TextWriterAdapter"/> that forwards all
23237 messages to a <see cref="T:System.IO.TextWriter"/>.
23241 <member name="M:log4net.Util.TextWriterAdapter.Close">
23243 Closes the writer and releases any system resources associated with the writer
23250 <member name="M:log4net.Util.TextWriterAdapter.Dispose(System.Boolean)">
23252 Dispose this writer
23254 <param name="disposing">flag indicating if we are being disposed</param>
23257 Dispose this writer
23261 <member name="M:log4net.Util.TextWriterAdapter.Flush">
23263 Flushes any buffered output
23267 Clears all buffers for the writer and causes any buffered data to be written
23268 to the underlying device
23272 <member name="M:log4net.Util.TextWriterAdapter.Write(System.Char)">
23274 Writes a character to the wrapped TextWriter
23276 <param name="value">the value to write to the TextWriter</param>
23279 Writes a character to the wrapped TextWriter
23283 <member name="M:log4net.Util.TextWriterAdapter.Write(System.Char[],System.Int32,System.Int32)">
23285 Writes a character buffer to the wrapped TextWriter
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>
23292 Writes a character buffer to the wrapped TextWriter
23296 <member name="M:log4net.Util.TextWriterAdapter.Write(System.String)">
23298 Writes a string to the wrapped TextWriter
23300 <param name="value">the value to write to the TextWriter</param>
23303 Writes a string to the wrapped TextWriter
23307 <member name="P:log4net.Util.TextWriterAdapter.Writer">
23309 Gets or sets the underlying <see cref="T:System.IO.TextWriter"/>.
23312 The underlying <see cref="T:System.IO.TextWriter"/>.
23316 Gets or sets the underlying <see cref="T:System.IO.TextWriter"/>.
23320 <member name="P:log4net.Util.TextWriterAdapter.Encoding">
23322 The Encoding in which the output is written
23325 The <see cref="P:log4net.Util.TextWriterAdapter.Encoding"/>
23329 The Encoding in which the output is written
23333 <member name="P:log4net.Util.TextWriterAdapter.FormatProvider">
23335 Gets an object that controls formatting
23338 The format provider
23342 Gets an object that controls formatting
23346 <member name="P:log4net.Util.TextWriterAdapter.NewLine">
23348 Gets or sets the line terminator string used by the TextWriter
23351 The line terminator to use
23355 Gets or sets the line terminator string used by the TextWriter
23359 <member name="M:log4net.Util.QuietTextWriter.#ctor(System.IO.TextWriter,log4net.Core.IErrorHandler)">
23363 <param name="writer">the writer to actually write to</param>
23364 <param name="errorHandler">the error handler to report error to</param>
23367 Create a new QuietTextWriter using a writer and error handler
23371 <member name="M:log4net.Util.QuietTextWriter.Write(System.Char)">
23373 Writes a character to the underlying writer
23375 <param name="value">the char to write</param>
23378 Writes a character to the underlying writer
23382 <member name="M:log4net.Util.QuietTextWriter.Write(System.Char[],System.Int32,System.Int32)">
23384 Writes a buffer to the underlying writer
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>
23391 Writes a buffer to the underlying writer
23395 <member name="M:log4net.Util.QuietTextWriter.Write(System.String)">
23397 Writes a string to the output.
23399 <param name="value">The string data to write to the output.</param>
23402 Writes a string to the output.
23406 <member name="M:log4net.Util.QuietTextWriter.Close">
23408 Closes the underlying output writer.
23412 Closes the underlying output writer.
23416 <member name="F:log4net.Util.QuietTextWriter.m_errorHandler">
23418 The error handler instance to pass all errors to
23421 <member name="F:log4net.Util.QuietTextWriter.m_closed">
23423 Flag to indicate if this writer is closed
23426 <member name="P:log4net.Util.QuietTextWriter.ErrorHandler">
23428 Gets or sets the error handler that all errors are passed to.
23431 The error handler that all errors are passed to.
23435 Gets or sets the error handler that all errors are passed to.
23439 <member name="P:log4net.Util.QuietTextWriter.Closed">
23441 Gets a value indicating whether this writer is closed.
23444 <c>true</c> if this writer is closed, otherwise <c>false</c>.
23448 Gets a value indicating whether this writer is closed.
23452 <member name="M:log4net.Util.CountingQuietTextWriter.#ctor(System.IO.TextWriter,log4net.Core.IErrorHandler)">
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>
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"/>.
23465 <member name="M:log4net.Util.CountingQuietTextWriter.Write(System.Char)">
23467 Writes a character to the underlying writer and counts the number of bytes written.
23469 <param name="value">the char to write</param>
23472 Overrides implementation of <see cref="T:log4net.Util.QuietTextWriter"/>. Counts
23473 the number of bytes written.
23477 <member name="M:log4net.Util.CountingQuietTextWriter.Write(System.Char[],System.Int32,System.Int32)">
23479 Writes a buffer to the underlying writer and counts the number of bytes written.
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>
23486 Overrides implementation of <see cref="T:log4net.Util.QuietTextWriter"/>. Counts
23487 the number of bytes written.
23491 <member name="M:log4net.Util.CountingQuietTextWriter.Write(System.String)">
23493 Writes a string to the output and counts the number of bytes written.
23495 <param name="str">The string data to write to the output.</param>
23498 Overrides implementation of <see cref="T:log4net.Util.QuietTextWriter"/>. Counts
23499 the number of bytes written.
23503 <member name="F:log4net.Util.CountingQuietTextWriter.m_countBytes">
23505 Total number of bytes written.
23508 <member name="P:log4net.Util.CountingQuietTextWriter.Count">
23510 Gets or sets the total number of bytes written.
23513 The total number of bytes written.
23517 Gets or sets the total number of bytes written.
23521 <member name="T:log4net.Util.CyclicBuffer">
23523 A fixed size rolling buffer of logging events.
23527 An array backed fixed size leaky bucket.
23530 <author>Nicko Cadell</author>
23531 <author>Gert Driesen</author>
23533 <member name="M:log4net.Util.CyclicBuffer.#ctor(System.Int32)">
23537 <param name="maxSize">The maximum number of logging events in the buffer.</param>
23540 Initializes a new instance of the <see cref="T:log4net.Util.CyclicBuffer"/> class with
23541 the specified maximum number of buffered logging events.
23544 <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="maxSize"/> argument is not a positive integer.</exception>
23546 <member name="M:log4net.Util.CyclicBuffer.Append(log4net.Core.LoggingEvent)">
23548 Appends a <paramref name="loggingEvent"/> to the buffer.
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>
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.
23560 <member name="M:log4net.Util.CyclicBuffer.PopOldest">
23562 Get and remove the oldest event in the buffer.
23564 <returns>The oldest logging event in the buffer</returns>
23567 Gets the oldest (first) logging event in the buffer and removes it
23572 <member name="M:log4net.Util.CyclicBuffer.PopAll">
23574 Pops all the logging events from the buffer into an array.
23576 <returns>An array of all the logging events in the buffer.</returns>
23579 Get all the events in the buffer and clear the buffer.
23583 <member name="M:log4net.Util.CyclicBuffer.Clear">
23589 Clear the buffer of all events. The events in the buffer are lost.
23593 <member name="P:log4net.Util.CyclicBuffer.Item(System.Int32)">
23595 Gets the <paramref name="i"/>th oldest event currently in the buffer.
23597 <value>The <paramref name="i"/>th oldest event currently in the buffer.</value>
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.
23605 <member name="P:log4net.Util.CyclicBuffer.MaxSize">
23607 Gets the maximum size of the buffer.
23609 <value>The maximum size of the buffer.</value>
23612 Gets the maximum size of the buffer
23616 <member name="P:log4net.Util.CyclicBuffer.Length">
23618 Gets the number of logging events in the buffer.
23620 <value>The number of logging events in the buffer.</value>
23623 This number is guaranteed to be in the range 0 to <see cref="P:log4net.Util.CyclicBuffer.MaxSize"/>
23628 <member name="T:log4net.Util.EmptyCollection">
23630 An always empty <see cref="T:System.Collections.ICollection"/>.
23634 A singleton implementation of the <see cref="T:System.Collections.ICollection"/>
23635 interface that always represents an empty collection.
23638 <author>Nicko Cadell</author>
23639 <author>Gert Driesen</author>
23641 <member name="M:log4net.Util.EmptyCollection.#ctor">
23643 Initializes a new instance of the <see cref="T:log4net.Util.EmptyCollection"/> class.
23647 Uses a private access modifier to enforce the singleton pattern.
23651 <member name="M:log4net.Util.EmptyCollection.CopyTo(System.Array,System.Int32)">
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.
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
23660 <param name="index">The zero-based index in array at which
23661 copying begins.</param>
23664 As the collection is empty no values are copied into the array.
23668 <member name="M:log4net.Util.EmptyCollection.GetEnumerator">
23670 Returns an enumerator that can iterate through a collection.
23673 An <see cref="T:System.Collections.IEnumerator"/> that can be used to
23674 iterate through the collection.
23678 As the collection is empty a <see cref="T:log4net.Util.NullEnumerator"/> is returned.
23682 <member name="F:log4net.Util.EmptyCollection.s_instance">
23684 The singleton instance of the empty collection.
23687 <member name="P:log4net.Util.EmptyCollection.Instance">
23689 Gets the singleton instance of the empty collection.
23691 <returns>The singleton instance of the empty collection.</returns>
23694 Gets the singleton instance of the empty collection.
23698 <member name="P:log4net.Util.EmptyCollection.IsSynchronized">
23700 Gets a value indicating if access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread-safe).
23703 <b>true</b> if access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread-safe); otherwise, <b>false</b>.
23707 For the <see cref="T:log4net.Util.EmptyCollection"/> this property is always <c>true</c>.
23711 <member name="P:log4net.Util.EmptyCollection.Count">
23713 Gets the number of elements contained in the <see cref="T:System.Collections.ICollection"/>.
23716 The number of elements contained in the <see cref="T:System.Collections.ICollection"/>.
23720 As the collection is empty the <see cref="P:log4net.Util.EmptyCollection.Count"/> is always <c>0</c>.
23724 <member name="P:log4net.Util.EmptyCollection.SyncRoot">
23726 Gets an object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.
23729 An object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.
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.
23738 <member name="T:log4net.Util.EmptyDictionary">
23740 An always empty <see cref="T:System.Collections.IDictionary"/>.
23744 A singleton implementation of the <see cref="T:System.Collections.IDictionary"/>
23745 interface that always represents an empty collection.
23748 <author>Nicko Cadell</author>
23749 <author>Gert Driesen</author>
23751 <member name="M:log4net.Util.EmptyDictionary.#ctor">
23753 Initializes a new instance of the <see cref="T:log4net.Util.EmptyDictionary"/> class.
23757 Uses a private access modifier to enforce the singleton pattern.
23761 <member name="M:log4net.Util.EmptyDictionary.CopyTo(System.Array,System.Int32)">
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.
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
23770 <param name="index">The zero-based index in array at which
23771 copying begins.</param>
23774 As the collection is empty no values are copied into the array.
23778 <member name="M:log4net.Util.EmptyDictionary.System#Collections#IEnumerable#GetEnumerator">
23780 Returns an enumerator that can iterate through a collection.
23783 An <see cref="T:System.Collections.IEnumerator"/> that can be used to
23784 iterate through the collection.
23788 As the collection is empty a <see cref="T:log4net.Util.NullEnumerator"/> is returned.
23792 <member name="M:log4net.Util.EmptyDictionary.Add(System.Object,System.Object)">
23794 Adds an element with the provided key and value to the
23795 <see cref="T:log4net.Util.EmptyDictionary"/>.
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>
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.
23805 <exception cref="T:System.InvalidOperationException">This dictionary is always empty and cannot be modified.</exception>
23807 <member name="M:log4net.Util.EmptyDictionary.Clear">
23809 Removes all elements from the <see cref="T:log4net.Util.EmptyDictionary"/>.
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.
23817 <exception cref="T:System.InvalidOperationException">This dictionary is always empty and cannot be modified.</exception>
23819 <member name="M:log4net.Util.EmptyDictionary.Contains(System.Object)">
23821 Determines whether the <see cref="T:log4net.Util.EmptyDictionary"/> contains an element
23822 with the specified key.
23824 <param name="key">The key to locate in the <see cref="T:log4net.Util.EmptyDictionary"/>.</param>
23825 <returns><c>false</c></returns>
23828 As the collection is empty the <see cref="M:log4net.Util.EmptyDictionary.Contains(System.Object)"/> method always returns <c>false</c>.
23832 <member name="M:log4net.Util.EmptyDictionary.GetEnumerator">
23834 Returns an enumerator that can iterate through a collection.
23837 An <see cref="T:System.Collections.IEnumerator"/> that can be used to
23838 iterate through the collection.
23842 As the collection is empty a <see cref="T:log4net.Util.NullEnumerator"/> is returned.
23846 <member name="M:log4net.Util.EmptyDictionary.Remove(System.Object)">
23848 Removes the element with the specified key from the <see cref="T:log4net.Util.EmptyDictionary"/>.
23850 <param name="key">The key of the element to remove.</param>
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.
23857 <exception cref="T:System.InvalidOperationException">This dictionary is always empty and cannot be modified.</exception>
23859 <member name="F:log4net.Util.EmptyDictionary.s_instance">
23861 The singleton instance of the empty dictionary.
23864 <member name="P:log4net.Util.EmptyDictionary.Instance">
23866 Gets the singleton instance of the <see cref="T:log4net.Util.EmptyDictionary"/>.
23868 <returns>The singleton instance of the <see cref="T:log4net.Util.EmptyDictionary"/>.</returns>
23871 Gets the singleton instance of the <see cref="T:log4net.Util.EmptyDictionary"/>.
23875 <member name="P:log4net.Util.EmptyDictionary.IsSynchronized">
23877 Gets a value indicating if access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread-safe).
23880 <b>true</b> if access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread-safe); otherwise, <b>false</b>.
23884 For the <see cref="T:log4net.Util.EmptyCollection"/> this property is always <b>true</b>.
23888 <member name="P:log4net.Util.EmptyDictionary.Count">
23890 Gets the number of elements contained in the <see cref="T:System.Collections.ICollection"/>
23893 The number of elements contained in the <see cref="T:System.Collections.ICollection"/>.
23897 As the collection is empty the <see cref="P:log4net.Util.EmptyDictionary.Count"/> is always <c>0</c>.
23901 <member name="P:log4net.Util.EmptyDictionary.SyncRoot">
23903 Gets an object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.
23906 An object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.
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.
23915 <member name="P:log4net.Util.EmptyDictionary.IsFixedSize">
23917 Gets a value indicating whether the <see cref="T:log4net.Util.EmptyDictionary"/> has a fixed size.
23919 <value><c>true</c></value>
23922 As the collection is empty <see cref="P:log4net.Util.EmptyDictionary.IsFixedSize"/> always returns <c>true</c>.
23926 <member name="P:log4net.Util.EmptyDictionary.IsReadOnly">
23928 Gets a value indicating whether the <see cref="T:log4net.Util.EmptyDictionary"/> is read-only.
23930 <value><c>true</c></value>
23933 As the collection is empty <see cref="P:log4net.Util.EmptyDictionary.IsReadOnly"/> always returns <c>true</c>.
23937 <member name="P:log4net.Util.EmptyDictionary.Keys">
23939 Gets an <see cref="T:System.Collections.ICollection"/> containing the keys of the <see cref="T:log4net.Util.EmptyDictionary"/>.
23941 <value>An <see cref="T:System.Collections.ICollection"/> containing the keys of the <see cref="T:log4net.Util.EmptyDictionary"/>.</value>
23944 As the collection is empty a <see cref="T:log4net.Util.EmptyCollection"/> is returned.
23948 <member name="P:log4net.Util.EmptyDictionary.Values">
23950 Gets an <see cref="T:System.Collections.ICollection"/> containing the values of the <see cref="T:log4net.Util.EmptyDictionary"/>.
23952 <value>An <see cref="T:System.Collections.ICollection"/> containing the values of the <see cref="T:log4net.Util.EmptyDictionary"/>.</value>
23955 As the collection is empty a <see cref="T:log4net.Util.EmptyCollection"/> is returned.
23959 <member name="P:log4net.Util.EmptyDictionary.Item(System.Object)">
23961 Gets or sets the element with the specified key.
23963 <param name="key">The key of the element to get or set.</param>
23964 <value><c>null</c></value>
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.
23972 <exception cref="T:System.InvalidOperationException">This dictionary is always empty and cannot be modified.</exception>
23974 <member name="T:log4net.Util.FormattingInfo">
23976 Contain the information obtained when parsing formatting modifiers
23977 in conversion modifiers.
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.
23986 <author>Nicko Cadell</author>
23987 <author>Gert Driesen</author>
23989 <member name="M:log4net.Util.FormattingInfo.#ctor">
23995 Initializes a new instance of the <see cref="T:log4net.Util.FormattingInfo"/> class.
23999 <member name="M:log4net.Util.FormattingInfo.#ctor(System.Int32,System.Int32,System.Boolean)">
24005 Initializes a new instance of the <see cref="T:log4net.Util.FormattingInfo"/> class
24006 with the specified parameters.
24010 <member name="P:log4net.Util.FormattingInfo.Min">
24012 Gets or sets the minimum value.
24019 Gets or sets the minimum value.
24023 <member name="P:log4net.Util.FormattingInfo.Max">
24025 Gets or sets the maximum value.
24032 Gets or sets the maximum value.
24036 <member name="P:log4net.Util.FormattingInfo.LeftAlign">
24038 Gets or sets a flag indicating whether left align is enabled
24042 A flag indicating whether left align is enabled or not.
24046 Gets or sets a flag indicating whether left align is enabled or not.
24050 <member name="T:log4net.Util.GlobalContextProperties">
24052 Implementation of Properties collection for the <see cref="T:log4net.GlobalContext"/>
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.
24060 This class is optimized to the scenario where the properties are read frequently
24061 and are modified infrequently.
24064 <author>Nicko Cadell</author>
24066 <member name="F:log4net.Util.GlobalContextProperties.m_readOnlyProperties">
24068 The read only copy of the properties.
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.
24077 <member name="F:log4net.Util.GlobalContextProperties.m_syncRoot">
24079 Lock object used to synchronize updates within this instance
24082 <member name="M:log4net.Util.GlobalContextProperties.#ctor">
24088 Initializes a new instance of the <see cref="T:log4net.Util.GlobalContextProperties"/> class.
24092 <member name="M:log4net.Util.GlobalContextProperties.Remove(System.String)">
24094 Remove a property from the global context
24096 <param name="key">the key for the entry to remove</param>
24099 Removing an entry from the global context properties is relatively expensive compared
24100 with reading a value.
24104 <member name="M:log4net.Util.GlobalContextProperties.Clear">
24106 Clear the global context properties
24109 <member name="M:log4net.Util.GlobalContextProperties.GetReadOnlyProperties">
24111 Get a readonly immutable copy of the properties
24113 <returns>the current global context properties</returns>
24116 This implementation is fast because the GlobalContextProperties class
24117 stores a readonly copy of the properties.
24121 <member name="P:log4net.Util.GlobalContextProperties.Item(System.String)">
24123 Gets or sets the value of a property
24126 The value for the property with the specified key
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.
24136 <member name="T:log4net.Util.LevelMapping">
24138 Manages a mapping from levels to <see cref="T:log4net.Util.LevelMappingEntry"/>
24142 Manages an ordered mapping from <see cref="T:log4net.Core.Level"/> instances
24143 to <see cref="T:log4net.Util.LevelMappingEntry"/> subclasses.
24146 <author>Nicko Cadell</author>
24148 <member name="M:log4net.Util.LevelMapping.#ctor">
24150 Default constructor
24154 Initialise a new instance of <see cref="T:log4net.Util.LevelMapping"/>.
24158 <member name="M:log4net.Util.LevelMapping.Add(log4net.Util.LevelMappingEntry)">
24160 Add a <see cref="T:log4net.Util.LevelMappingEntry"/> to this mapping
24162 <param name="entry">the entry to add</param>
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
24171 <member name="M:log4net.Util.LevelMapping.Lookup(log4net.Core.Level)">
24173 Lookup the mapping for the specified level
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>
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.
24184 If no mapping could be found then <c>null</c> is returned.
24188 <member name="M:log4net.Util.LevelMapping.ActivateOptions">
24194 Caches the sorted list of <see cref="T:log4net.Util.LevelMappingEntry"/> in an array
24198 <member name="T:log4net.Util.LogicalThreadContextProperties">
24200 Implementation of Properties collection for the <see cref="T:log4net.LogicalThreadContext"/>
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"/>.
24208 <author>Nicko Cadell</author>
24210 <member name="M:log4net.Util.LogicalThreadContextProperties.#ctor">
24216 Initializes a new instance of the <see cref="T:log4net.Util.LogicalThreadContextProperties"/> class.
24220 <member name="M:log4net.Util.LogicalThreadContextProperties.Remove(System.String)">
24224 <param name="key">the key for the entry to remove</param>
24227 Remove the value for the specified <paramref name="key"/> from the context.
24231 <member name="M:log4net.Util.LogicalThreadContextProperties.Clear">
24233 Clear all the context properties
24237 Clear all the context properties
24241 <member name="M:log4net.Util.LogicalThreadContextProperties.GetProperties(System.Boolean)">
24243 Get the PropertiesDictionary stored in the LocalDataStoreSlot for this thread.
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>
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.
24255 <member name="P:log4net.Util.LogicalThreadContextProperties.Item(System.String)">
24257 Gets or sets the value of a property
24260 The value for the property with the specified key
24264 Get or set the property value for the <paramref name="key"/> specified.
24268 <member name="T:log4net.Util.LogLog">
24270 Outputs log statements from within the log4net assembly.
24274 Log4net components cannot make log4net logging calls. However, it is
24275 sometimes useful for the user to learn about what log4net is
24279 All log4net internal debug calls go to the standard output stream
24280 whereas internal error messages are sent to the standard error output
24284 <author>Nicko Cadell</author>
24285 <author>Gert Driesen</author>
24287 <member name="M:log4net.Util.LogLog.#ctor">
24289 Initializes a new instance of the <see cref="T:log4net.Util.LogLog"/> class.
24293 Uses a private access modifier to prevent instantiation of this class.
24297 <member name="M:log4net.Util.LogLog.#cctor">
24299 Static constructor that initializes logging by reading
24300 settings from the application configuration file.
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.
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
24316 <member name="M:log4net.Util.LogLog.Debug(System.String)">
24318 Writes log4net internal debug messages to the
24319 standard output stream.
24321 <param name="message">The message to log.</param>
24324 All internal debug messages are prepended with
24325 the string "log4net: ".
24329 <member name="M:log4net.Util.LogLog.Debug(System.String,System.Exception)">
24331 Writes log4net internal debug messages to the
24332 standard output stream.
24334 <param name="message">The message to log.</param>
24335 <param name="exception">An exception to log.</param>
24338 All internal debug messages are prepended with
24339 the string "log4net: ".
24343 <member name="M:log4net.Util.LogLog.Warn(System.String)">
24345 Writes log4net internal warning messages to the
24346 standard error stream.
24348 <param name="message">The message to log.</param>
24351 All internal warning messages are prepended with
24352 the string "log4net:WARN ".
24356 <member name="M:log4net.Util.LogLog.Warn(System.String,System.Exception)">
24358 Writes log4net internal warning messages to the
24359 standard error stream.
24361 <param name="message">The message to log.</param>
24362 <param name="exception">An exception to log.</param>
24365 All internal warning messages are prepended with
24366 the string "log4net:WARN ".
24370 <member name="M:log4net.Util.LogLog.Error(System.String)">
24372 Writes log4net internal error messages to the
24373 standard error stream.
24375 <param name="message">The message to log.</param>
24378 All internal error messages are prepended with
24379 the string "log4net:ERROR ".
24383 <member name="M:log4net.Util.LogLog.Error(System.String,System.Exception)">
24385 Writes log4net internal error messages to the
24386 standard error stream.
24388 <param name="message">The message to log.</param>
24389 <param name="exception">An exception to log.</param>
24392 All internal debug messages are prepended with
24393 the string "log4net:ERROR ".
24397 <member name="M:log4net.Util.LogLog.EmitOutLine(System.String)">
24399 Writes output to the standard output stream.
24401 <param name="message">The message to log.</param>
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.
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.
24415 <member name="M:log4net.Util.LogLog.EmitErrorLine(System.String)">
24417 Writes output to the standard error stream.
24419 <param name="message">The message to log.</param>
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.
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.
24433 <member name="F:log4net.Util.LogLog.s_debugEnabled">
24435 Default debug level
24438 <member name="F:log4net.Util.LogLog.s_quietMode">
24440 In quietMode not even errors generate any output.
24443 <member name="P:log4net.Util.LogLog.InternalDebugging">
24445 Gets or sets a value indicating whether log4net internal logging
24446 is enabled or disabled.
24449 <c>true</c> if log4net internal logging is enabled, otherwise
24454 When set to <c>true</c>, internal debug level logging will be
24458 This value can be set by setting the application setting
24459 <c>log4net.Internal.Debug</c> in the application configuration
24463 The default value is <c>false</c>, i.e. debugging is
24469 The following example enables internal debugging using the
24470 application configuration file :
24472 <code lang="XML" escaped="true">
24475 <add key="log4net.Internal.Debug" value="true" />
24481 <member name="P:log4net.Util.LogLog.QuietMode">
24483 Gets or sets a value indicating whether log4net should generate no output
24484 from internal logging, not even for errors.
24487 <c>true</c> if log4net should generate no output at all from internal
24488 logging, otherwise <c>false</c>.
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.
24497 <para>This value can be set by setting the application setting
24498 <c>log4net.Internal.Quiet</c> in the application configuration file.
24501 The default value is <c>false</c>, i.e. internal logging is not
24506 The following example disables internal logging using the
24507 application configuration file :
24508 <code lang="XML" escaped="true">
24511 <add key="log4net.Internal.Quiet" value="true"/>
24517 <member name="P:log4net.Util.LogLog.IsDebugEnabled">
24519 Test if LogLog.Debug is enabled for output.
24522 <c>true</c> if Debug is enabled
24526 Test if LogLog.Debug is enabled for output.
24530 <member name="P:log4net.Util.LogLog.IsWarnEnabled">
24532 Test if LogLog.Warn is enabled for output.
24535 <c>true</c> if Warn is enabled
24539 Test if LogLog.Warn is enabled for output.
24543 <member name="P:log4net.Util.LogLog.IsErrorEnabled">
24545 Test if LogLog.Error is enabled for output.
24548 <c>true</c> if Error is enabled
24552 Test if LogLog.Error is enabled for output.
24556 <member name="T:log4net.Util.NativeError">
24558 Represents a native error code and message.
24562 Represents a Win32 platform native error.
24565 <author>Nicko Cadell</author>
24566 <author>Gert Driesen</author>
24568 <member name="M:log4net.Util.NativeError.#ctor(System.Int32,System.String)">
24570 Create an instance of the <see cref="T:log4net.Util.NativeError"/> class with the specified
24571 error number and message.
24573 <param name="number">The number of the native error.</param>
24574 <param name="message">The message of the native error.</param>
24577 Create an instance of the <see cref="T:log4net.Util.NativeError"/> class with the specified
24578 error number and message.
24582 <member name="M:log4net.Util.NativeError.GetLastError">
24584 Create a new instance of the <see cref="T:log4net.Util.NativeError"/> class for the last Windows error.
24587 An instance of the <see cref="T:log4net.Util.NativeError"/> class for the last windows error.
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.
24596 <member name="M:log4net.Util.NativeError.GetError(System.Int32)">
24598 Create a new instance of the <see cref="T:log4net.Util.NativeError"/> class.
24600 <param name="number">the error number for the native error</param>
24602 An instance of the <see cref="T:log4net.Util.NativeError"/> class for the specified
24607 The message for the specified error number is lookup up using the
24608 native Win32 <c>FormatMessage</c> function.
24612 <member name="M:log4net.Util.NativeError.GetErrorMessage(System.Int32)">
24614 Retrieves the message corresponding with a Win32 message identifier.
24616 <param name="messageId">Message identifier for the requested message.</param>
24618 The message corresponding with the specified message identifier.
24622 The message will be searched for in system message-table resource(s)
24623 using the native <c>FormatMessage</c> function.
24627 <member name="M:log4net.Util.NativeError.ToString">
24629 Return error information string
24631 <returns>error information string</returns>
24634 Return error information string
24638 <member name="M:log4net.Util.NativeError.FormatMessage(System.Int32,System.IntPtr@,System.Int32,System.Int32,System.String@,System.Int32,System.IntPtr)">
24640 Formats a message string.
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>
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.
24660 To prevent the usage of unsafe code, this stub does not support inserting values in the formatted message.
24665 If the function succeeds, the return value is the number of TCHARs stored in the output
24666 buffer, excluding the terminating null character.
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"/>.
24674 <member name="P:log4net.Util.NativeError.Number">
24676 Gets the number of the native error.
24679 The number of the native error.
24683 Gets the number of the native error.
24687 <member name="P:log4net.Util.NativeError.Message">
24689 Gets the message of the native error.
24692 The message of the native error.
24697 Gets the message of the native error.
24700 <member name="T:log4net.Util.NullDictionaryEnumerator">
24702 An always empty <see cref="T:System.Collections.IDictionaryEnumerator"/>.
24706 A singleton implementation of the <see cref="T:System.Collections.IDictionaryEnumerator"/> over a collection
24707 that is empty and not modifiable.
24710 <author>Nicko Cadell</author>
24711 <author>Gert Driesen</author>
24713 <member name="M:log4net.Util.NullDictionaryEnumerator.#ctor">
24715 Initializes a new instance of the <see cref="T:log4net.Util.NullDictionaryEnumerator"/> class.
24719 Uses a private access modifier to enforce the singleton pattern.
24723 <member name="M:log4net.Util.NullDictionaryEnumerator.MoveNext">
24725 Test if the enumerator can advance, if so advance.
24727 <returns><c>false</c> as the <see cref="T:log4net.Util.NullDictionaryEnumerator"/> cannot advance.</returns>
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>.
24736 <member name="M:log4net.Util.NullDictionaryEnumerator.Reset">
24738 Resets the enumerator back to the start.
24742 As the enumerator is over an empty collection <see cref="M:log4net.Util.NullDictionaryEnumerator.Reset"/> does nothing.
24746 <member name="F:log4net.Util.NullDictionaryEnumerator.s_instance">
24748 The singleton instance of the <see cref="T:log4net.Util.NullDictionaryEnumerator"/>.
24751 <member name="P:log4net.Util.NullDictionaryEnumerator.Instance">
24753 Gets the singleton instance of the <see cref="T:log4net.Util.NullDictionaryEnumerator"/>.
24755 <returns>The singleton instance of the <see cref="T:log4net.Util.NullDictionaryEnumerator"/>.</returns>
24758 Gets the singleton instance of the <see cref="T:log4net.Util.NullDictionaryEnumerator"/>.
24762 <member name="P:log4net.Util.NullDictionaryEnumerator.Current">
24764 Gets the current object from the enumerator.
24767 Throws an <see cref="T:System.InvalidOperationException"/> because the
24768 <see cref="T:log4net.Util.NullDictionaryEnumerator"/> never has a current value.
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"/>.
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>
24780 <member name="P:log4net.Util.NullDictionaryEnumerator.Key">
24782 Gets the current key from the enumerator.
24785 Throws an exception because the <see cref="T:log4net.Util.NullDictionaryEnumerator"/>
24786 never has a current value.
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"/>.
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>
24798 <member name="P:log4net.Util.NullDictionaryEnumerator.Value">
24800 Gets the current value from the enumerator.
24802 <value>The current value from the enumerator.</value>
24804 Throws an <see cref="T:System.InvalidOperationException"/> because the
24805 <see cref="T:log4net.Util.NullDictionaryEnumerator"/> never has a current value.
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"/>.
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>
24817 <member name="P:log4net.Util.NullDictionaryEnumerator.Entry">
24819 Gets the current entry from the enumerator.
24822 Throws an <see cref="T:System.InvalidOperationException"/> because the
24823 <see cref="T:log4net.Util.NullDictionaryEnumerator"/> never has a current entry.
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"/>.
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>
24835 <member name="T:log4net.Util.NullEnumerator">
24837 An always empty <see cref="T:System.Collections.IEnumerator"/>.
24841 A singleton implementation of the <see cref="T:System.Collections.IEnumerator"/> over a collection
24842 that is empty and not modifiable.
24845 <author>Nicko Cadell</author>
24846 <author>Gert Driesen</author>
24848 <member name="M:log4net.Util.NullEnumerator.#ctor">
24850 Initializes a new instance of the <see cref="T:log4net.Util.NullEnumerator"/> class.
24854 Uses a private access modifier to enforce the singleton pattern.
24858 <member name="M:log4net.Util.NullEnumerator.MoveNext">
24860 Test if the enumerator can advance, if so advance
24862 <returns><c>false</c> as the <see cref="T:log4net.Util.NullEnumerator"/> cannot advance.</returns>
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>.
24871 <member name="M:log4net.Util.NullEnumerator.Reset">
24873 Resets the enumerator back to the start.
24877 As the enumerator is over an empty collection <see cref="M:log4net.Util.NullEnumerator.Reset"/> does nothing.
24881 <member name="F:log4net.Util.NullEnumerator.s_instance">
24883 The singleton instance of the <see cref="T:log4net.Util.NullEnumerator"/>.
24886 <member name="P:log4net.Util.NullEnumerator.Instance">
24888 Get the singleton instance of the <see cref="T:log4net.Util.NullEnumerator"/>.
24890 <returns>The singleton instance of the <see cref="T:log4net.Util.NullEnumerator"/>.</returns>
24893 Gets the singleton instance of the <see cref="T:log4net.Util.NullEnumerator"/>.
24897 <member name="P:log4net.Util.NullEnumerator.Current">
24899 Gets the current object from the enumerator.
24902 Throws an <see cref="T:System.InvalidOperationException"/> because the
24903 <see cref="T:log4net.Util.NullDictionaryEnumerator"/> never has a current value.
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"/>.
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>
24915 <member name="T:log4net.Util.NullSecurityContext">
24917 A SecurityContext used when a SecurityContext is not required
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.
24926 <author>Nicko Cadell</author>
24928 <member name="F:log4net.Util.NullSecurityContext.Instance">
24930 Singleton instance of <see cref="T:log4net.Util.NullSecurityContext"/>
24934 Singleton instance of <see cref="T:log4net.Util.NullSecurityContext"/>
24938 <member name="M:log4net.Util.NullSecurityContext.#ctor">
24940 Private constructor
24944 Private constructor for singleton pattern.
24948 <member name="M:log4net.Util.NullSecurityContext.Impersonate(System.Object)">
24950 Impersonate this SecurityContext
24952 <param name="state">State supplied by the caller</param>
24953 <returns><c>null</c></returns>
24956 No impersonation is done and <c>null</c> is always returned.
24960 <member name="T:log4net.Util.OnlyOnceErrorHandler">
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.
24968 The error message is printed on the standard error output stream.
24971 This policy aims at protecting an otherwise working application
24972 from being flooded with error messages when logging fails.
24975 <author>Nicko Cadell</author>
24976 <author>Gert Driesen</author>
24978 <member name="M:log4net.Util.OnlyOnceErrorHandler.#ctor">
24980 Default Constructor
24984 Initializes a new instance of the <see cref="T:log4net.Util.OnlyOnceErrorHandler"/> class.
24988 <member name="M:log4net.Util.OnlyOnceErrorHandler.#ctor(System.String)">
24992 <param name="prefix">The prefix to use for each message.</param>
24995 Initializes a new instance of the <see cref="T:log4net.Util.OnlyOnceErrorHandler"/> class
24996 with the specified prefix.
25000 <member name="M:log4net.Util.OnlyOnceErrorHandler.Error(System.String,System.Exception,log4net.Core.ErrorCode)">
25004 <param name="message">The error message.</param>
25005 <param name="e">The exception.</param>
25006 <param name="errorCode">The internal error code.</param>
25009 Prints the message and the stack trace of the exception on the standard
25010 error output stream.
25014 <member name="M:log4net.Util.OnlyOnceErrorHandler.Error(System.String,System.Exception)">
25018 <param name="message">The error message.</param>
25019 <param name="e">The exception.</param>
25022 Prints the message and the stack trace of the exception on the standard
25023 error output stream.
25027 <member name="M:log4net.Util.OnlyOnceErrorHandler.Error(System.String)">
25031 <param name="message">The error message.</param>
25034 Print a the error message passed as parameter on the standard
25035 error output stream.
25039 <member name="F:log4net.Util.OnlyOnceErrorHandler.m_firstTime">
25041 Flag to indicate if it is the first error
25044 <member name="F:log4net.Util.OnlyOnceErrorHandler.m_prefix">
25046 String to prefix each message with
25049 <member name="P:log4net.Util.OnlyOnceErrorHandler.IsEnabled">
25051 Is error logging enabled
25055 Is error logging enabled. Logging is only enabled for the
25056 first error delivered to the <see cref="T:log4net.Util.OnlyOnceErrorHandler"/>.
25060 <member name="T:log4net.Util.OptionConverter">
25062 A convenience class to convert property values to specific types.
25066 Utility functions for converting types and parsing values.
25069 <author>Nicko Cadell</author>
25070 <author>Gert Driesen</author>
25072 <member name="M:log4net.Util.OptionConverter.#ctor">
25074 Initializes a new instance of the <see cref="T:log4net.Util.OptionConverter"/> class.
25078 Uses a private access modifier to prevent instantiation of this class.
25082 <member name="M:log4net.Util.OptionConverter.ToBoolean(System.String,System.Boolean)">
25084 Converts a string to a <see cref="T:System.Boolean"/> value.
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>
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.
25097 <member name="M:log4net.Util.OptionConverter.ToFileSize(System.String,System.Int64)">
25099 Parses a file size into a number.
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>
25106 Parses a file size of the form: number[KB|MB|GB] into a
25107 long value. It is scaled with the appropriate multiplier.
25110 <paramref name="defaultValue"/> is returned when <paramref name="argValue"/>
25111 cannot be converted to a <see cref="T:System.Int64"/> value.
25115 <member name="M:log4net.Util.OptionConverter.ConvertStringTo(System.Type,System.String)">
25117 Converts a string to an object.
25119 <param name="target">The target type to convert to.</param>
25120 <param name="txt">The string to convert to an object.</param>
25122 The object converted from a string or <c>null</c> when the
25127 Converts a string to an object. Uses the converter registry to try
25128 to convert the string value into the specified target type.
25132 <member name="M:log4net.Util.OptionConverter.CanConvertTypeTo(System.Type,System.Type)">
25134 Checks if there is an appropriate type conversion from the source type to the target type.
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>
25140 Checks if there is an appropriate type conversion from the source type to the target type.
25145 <member name="M:log4net.Util.OptionConverter.ConvertTypeTo(System.Object,System.Type)">
25147 Converts an object to the target type.
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>
25154 Converts an object to the target type.
25158 <member name="M:log4net.Util.OptionConverter.InstantiateByClassName(System.String,System.Type,System.Object)">
25160 Instantiates an object given a class name.
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>
25166 An instance of the <paramref name="className"/> or <paramref name="defaultValue"/>
25167 if the object could not be instantiated.
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.
25177 <member name="M:log4net.Util.OptionConverter.SubstituteVariables(System.String,System.Collections.IDictionary)">
25179 Performs variable substitution in string <paramref name="val"/> from the
25180 values of keys found in <paramref name="props"/>.
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>
25187 The variable substitution delimiters are <b>${</b> and <b>}</b>.
25190 For example, if props contains <c>key=value</c>, then the call
25194 string s = OptionConverter.SubstituteVariables("Value of key is ${key}.");
25198 will set the variable <c>s</c> to "Value of key is value.".
25201 If no value could be found for the specified key, then substitution
25202 defaults to an empty string.
25205 For example, if system properties contains no value for the key
25206 "nonExistentKey", then the call
25210 string s = OptionConverter.SubstituteVariables("Value of nonExistentKey is [${nonExistentKey}]");
25214 will set <s>s</s> to "Value of nonExistentKey is []".
25217 An Exception is thrown if <paramref name="value"/> contains a start
25218 delimiter "${" which is not balanced by a stop delimiter "}".
25222 <member name="M:log4net.Util.OptionConverter.ParseEnum(System.Type,System.String,System.Boolean)">
25224 Converts the string representation of the name or numeric value of one or
25225 more enumerated constants to an equivalent enumerated object.
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>
25232 <member name="T:log4net.Util.PatternParser">
25234 Most of the work of the <see cref="T:log4net.Layout.PatternLayout"/> class
25235 is delegated to the PatternParser class.
25239 The <c>PatternParser</c> processes a pattern string and
25240 returns a chain of <see cref="T:log4net.Util.PatternConverter"/> objects.
25243 <author>Nicko Cadell</author>
25244 <author>Gert Driesen</author>
25246 <member name="M:log4net.Util.PatternParser.#ctor(System.String)">
25250 <param name="pattern">The pattern to parse.</param>
25253 Initializes a new instance of the <see cref="T:log4net.Util.PatternParser"/> class
25254 with the specified pattern string.
25258 <member name="M:log4net.Util.PatternParser.Parse">
25260 Parses the pattern into a chain of pattern converters.
25262 <returns>The head of a chain of pattern converters.</returns>
25265 Parses the pattern into a chain of pattern converters.
25269 <member name="M:log4net.Util.PatternParser.BuildCache">
25271 Build the unified cache of converters from the static and instance maps
25273 <returns>the list of all the converter names</returns>
25276 Build the unified cache of converters from the static and instance maps
25280 <member name="M:log4net.Util.PatternParser.ParseInternal(System.String,System.String[])">
25282 Internal method to parse the specified pattern to find specified matches
25284 <param name="pattern">the pattern to parse</param>
25285 <param name="matches">the converter names to match in the pattern</param>
25288 The matches param must be sorted such that longer strings come before shorter ones.
25292 <member name="M:log4net.Util.PatternParser.ProcessLiteral(System.String)">
25294 Process a parsed literal
25296 <param name="text">the literal text</param>
25298 <member name="M:log4net.Util.PatternParser.ProcessConverter(System.String,System.String,log4net.Util.FormattingInfo)">
25300 Process a parsed converter pattern
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>
25306 <member name="M:log4net.Util.PatternParser.AddConverter(log4net.Util.PatternConverter)">
25308 Resets the internal state of the parser and adds the specified pattern converter
25311 <param name="pc">The pattern converter to add.</param>
25313 <member name="F:log4net.Util.PatternParser.m_head">
25315 The first pattern converter in the chain
25318 <member name="F:log4net.Util.PatternParser.m_tail">
25320 the last pattern converter in the chain
25323 <member name="F:log4net.Util.PatternParser.m_pattern">
25328 <member name="F:log4net.Util.PatternParser.m_patternConverters">
25330 Internal map of converter identifiers to converter types
25334 This map overrides the static s_globalRulesRegistry map.
25338 <member name="P:log4net.Util.PatternParser.PatternConverters">
25340 Get the converter registry used by this parser
25343 The converter registry used by this parser
25347 Get the converter registry used by this parser
25351 <member name="T:log4net.Util.PatternParser.StringLengthComparer">
25353 Sort strings by length
25357 <see cref="T:System.Collections.IComparer"/> that orders strings by string length.
25358 The longest strings are placed first
25362 <member name="T:log4net.Util.PatternString">
25364 This class implements a patterned string.
25368 This string has embedded patterns that are resolved and expanded
25369 when the string is formatted.
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.
25379 The recognized conversion pattern names are:
25381 <list type="table">
25383 <term>Conversion Pattern Name</term>
25384 <description>Effect</description>
25387 <term>appdomain</term>
25390 Used to output the friendly name of the current AppDomain.
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"/>).
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)"/>.
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>.
25421 These dedicated date formatters perform significantly
25422 better than <see cref="M:System.DateTime.ToString(System.String)"/>.
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.
25436 The <c>env</c> pattern is not supported on the .NET Compact Framework.
25441 <term>identity</term>
25444 Used to output the user name for the currently active user
25445 (Principal.Identity.Name).
25450 <term>newline</term>
25453 Outputs the platform dependent line separator character or
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.
25464 <term>processid</term>
25467 Used to output the system process ID for the current process.
25472 <term>property</term>
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.
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.
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.
25492 <list type="definition">
25494 <term>the thread properties</term>
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.
25501 <term>the global properties</term>
25503 The <see cref="P:log4net.GlobalContext.Properties"/> that are set globally. These
25504 properties are shared by all the threads in the AppDomain.
25511 <term>random</term>
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.
25522 <term>username</term>
25525 Used to output the WindowsIdentity for the currently
25531 <term>utcdate</term>
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"/>).
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)"/>.
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>.
25556 These dedicated date formatters perform significantly
25557 better than <see cref="M:System.DateTime.ToString(System.String)"/>.
25565 The sequence %% outputs a single percent sign.
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)"/>.
25576 See the <see cref="T:log4net.Layout.PatternLayout"/> for details on the
25577 <i>format modifiers</i> supported by the patterns.
25580 <author>Nicko Cadell</author>
25582 <member name="F:log4net.Util.PatternString.s_globalRulesRegistry">
25584 Internal map of converter identifiers to converter types.
25587 <member name="F:log4net.Util.PatternString.m_pattern">
25592 <member name="F:log4net.Util.PatternString.m_head">
25594 the head of the pattern converter chain
25597 <member name="F:log4net.Util.PatternString.m_instanceRulesRegistry">
25599 patterns defined on this PatternString only
25602 <member name="M:log4net.Util.PatternString.#cctor">
25604 Initialize the global registry
25607 <member name="M:log4net.Util.PatternString.#ctor">
25609 Default constructor
25613 Initialize a new instance of <see cref="T:log4net.Util.PatternString"/>
25617 <member name="M:log4net.Util.PatternString.#ctor(System.String)">
25619 Constructs a PatternString
25621 <param name="pattern">The pattern to use with this PatternString</param>
25624 Initialize a new instance of <see cref="T:log4net.Util.PatternString"/> with the pattern specified.
25628 <member name="M:log4net.Util.PatternString.ActivateOptions">
25630 Initialize object options
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.
25641 If any of the configuration properties are modified then
25642 <see cref="M:log4net.Util.PatternString.ActivateOptions"/> must be called again.
25646 <member name="M:log4net.Util.PatternString.CreatePatternParser(System.String)">
25648 Create the <see cref="T:log4net.Util.PatternParser"/> used to parse the pattern
25650 <param name="pattern">the pattern to parse</param>
25651 <returns>The <see cref="T:log4net.Util.PatternParser"/></returns>
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.
25660 <member name="M:log4net.Util.PatternString.Format(System.IO.TextWriter)">
25662 Produces a formatted string as specified by the conversion pattern.
25664 <param name="writer">The TextWriter to write the formatted event to</param>
25667 Format the pattern to the <paramref name="writer"/>.
25671 <member name="M:log4net.Util.PatternString.Format">
25673 Format the pattern as a string
25675 <returns>the pattern formatted as a string</returns>
25678 Format the pattern to a string.
25682 <member name="M:log4net.Util.PatternString.AddConverter(log4net.Util.PatternString.ConverterInfo)">
25684 Add a converter to this PatternString
25686 <param name="converterInfo">the converter info</param>
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.
25694 <member name="M:log4net.Util.PatternString.AddConverter(System.String,System.Type)">
25696 Add a converter to this PatternString
25698 <param name="name">the name of the conversion pattern for this converter</param>
25699 <param name="type">the type of the converter</param>
25702 Add a converter to this PatternString
25706 <member name="P:log4net.Util.PatternString.ConversionPattern">
25708 Gets or sets the pattern formatting string
25711 The pattern formatting string
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.
25721 <member name="T:log4net.Util.PatternString.ConverterInfo">
25723 Wrapper class used to map converter names to converter types
25727 Wrapper class used to map converter names to converter types
25731 <member name="M:log4net.Util.PatternString.ConverterInfo.#ctor">
25733 default constructor
25736 <member name="P:log4net.Util.PatternString.ConverterInfo.Name">
25738 Gets or sets the name of the conversion pattern
25741 The name of the conversion pattern
25745 Gets or sets the name of the conversion pattern
25749 <member name="P:log4net.Util.PatternString.ConverterInfo.Type">
25751 Gets or sets the type of the converter
25754 The type of the converter
25758 Gets or sets the type of the converter
25762 <member name="T:log4net.Util.PropertiesDictionary">
25764 String keyed object map.
25768 While this collection is serializable only member
25769 objects that are serializable will
25770 be serialized along with this collection.
25773 <author>Nicko Cadell</author>
25774 <author>Gert Driesen</author>
25776 <member name="T:log4net.Util.ReadOnlyPropertiesDictionary">
25778 String keyed object map that is read only.
25782 This collection is readonly and cannot be modified.
25785 While this collection is serializable only member
25786 objects that are serializable will
25787 be serialized along with this collection.
25790 <author>Nicko Cadell</author>
25791 <author>Gert Driesen</author>
25793 <member name="F:log4net.Util.ReadOnlyPropertiesDictionary.m_hashtable">
25795 The Hashtable used to store the properties data
25798 <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.#ctor">
25804 Initializes a new instance of the <see cref="T:log4net.Util.ReadOnlyPropertiesDictionary"/> class.
25808 <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.#ctor(log4net.Util.ReadOnlyPropertiesDictionary)">
25812 <param name="propertiesDictionary">properties to copy</param>
25815 Initializes a new instance of the <see cref="T:log4net.Util.ReadOnlyPropertiesDictionary"/> class.
25819 <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
25821 Deserialization constructor
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>
25827 Initializes a new instance of the <see cref="T:log4net.Util.ReadOnlyPropertiesDictionary"/> class
25828 with serialized data.
25832 <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.GetKeys">
25834 Gets the key names.
25836 <returns>An array of all the keys.</returns>
25839 Gets the key names.
25843 <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.Contains(System.String)">
25845 Test if the dictionary contains a specified key
25847 <param name="key">the key to look for</param>
25848 <returns>true if the dictionary contains the specified key</returns>
25851 Test if the dictionary contains a specified key
25855 <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
25857 Serializes this object into the <see cref="T:System.Runtime.Serialization.SerializationInfo"/> provided.
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>
25863 Serializes this object into the <see cref="T:System.Runtime.Serialization.SerializationInfo"/> provided.
25867 <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#GetEnumerator">
25869 See <see cref="M:System.Collections.IDictionary.GetEnumerator"/>
25872 <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#Remove(System.Object)">
25874 See <see cref="M:System.Collections.IDictionary.Remove(System.Object)"/>
25876 <param name="key"></param>
25878 <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#Contains(System.Object)">
25880 See <see cref="M:System.Collections.IDictionary.Contains(System.Object)"/>
25882 <param name="key"></param>
25883 <returns></returns>
25885 <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.Clear">
25887 Remove all properties from the properties collection
25890 <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#Add(System.Object,System.Object)">
25892 See <see cref="M:System.Collections.IDictionary.Add(System.Object,System.Object)"/>
25894 <param name="key"></param>
25895 <param name="value"></param>
25897 <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
25899 See <see cref="M:System.Collections.ICollection.CopyTo(System.Array,System.Int32)"/>
25901 <param name="array"></param>
25902 <param name="index"></param>
25904 <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IEnumerable#GetEnumerator">
25906 See <see cref="M:System.Collections.IEnumerable.GetEnumerator"/>
25909 <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.Item(System.String)">
25911 Gets or sets the value of the property with the specified key.
25914 The value of the property with the specified key.
25916 <param name="key">The key of the property to get or set.</param>
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.
25925 <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.InnerHashtable">
25927 The hashtable used to store the properties
25930 The internal collection used to store the properties
25934 The hashtable used to store the properties
25938 <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#IsReadOnly">
25940 See <see cref="P:System.Collections.IDictionary.IsReadOnly"/>
25943 <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#Item(System.Object)">
25945 See <see cref="P:System.Collections.IDictionary.Item(System.Object)"/>
25948 <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#Values">
25950 See <see cref="P:System.Collections.IDictionary.Values"/>
25953 <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#Keys">
25955 See <see cref="P:System.Collections.IDictionary.Keys"/>
25958 <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#IsFixedSize">
25960 See <see cref="P:System.Collections.IDictionary.IsFixedSize"/>
25963 <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#ICollection#IsSynchronized">
25965 See <see cref="P:System.Collections.ICollection.IsSynchronized"/>
25968 <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.Count">
25970 The number of properties in this collection
25973 <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#ICollection#SyncRoot">
25975 See <see cref="P:System.Collections.ICollection.SyncRoot"/>
25978 <member name="M:log4net.Util.PropertiesDictionary.#ctor">
25984 Initializes a new instance of the <see cref="T:log4net.Util.PropertiesDictionary"/> class.
25988 <member name="M:log4net.Util.PropertiesDictionary.#ctor(log4net.Util.ReadOnlyPropertiesDictionary)">
25992 <param name="propertiesDictionary">properties to copy</param>
25995 Initializes a new instance of the <see cref="T:log4net.Util.PropertiesDictionary"/> class.
25999 <member name="M:log4net.Util.PropertiesDictionary.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
26001 Initializes a new instance of the <see cref="T:log4net.Util.PropertiesDictionary"/> class
26002 with serialized data.
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>
26008 Because this class is sealed the serialization constructor is private.
26012 <member name="M:log4net.Util.PropertiesDictionary.Remove(System.String)">
26014 Remove the entry with the specified key from this dictionary
26016 <param name="key">the key for the entry to remove</param>
26019 Remove the entry with the specified key from this dictionary
26023 <member name="M:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#GetEnumerator">
26025 See <see cref="M:System.Collections.IDictionary.GetEnumerator"/>
26027 <returns>an enumerator</returns>
26030 Returns a <see cref="T:System.Collections.IDictionaryEnumerator"/> over the contest of this collection.
26034 <member name="M:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#Remove(System.Object)">
26036 See <see cref="M:System.Collections.IDictionary.Remove(System.Object)"/>
26038 <param name="key">the key to remove</param>
26041 Remove the entry with the specified key from this dictionary
26045 <member name="M:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#Contains(System.Object)">
26047 See <see cref="M:System.Collections.IDictionary.Contains(System.Object)"/>
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>
26053 Test if this collection contains a specified key.
26057 <member name="M:log4net.Util.PropertiesDictionary.Clear">
26059 Remove all properties from the properties collection
26063 Remove all properties from the properties collection
26067 <member name="M:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#Add(System.Object,System.Object)">
26069 See <see cref="M:System.Collections.IDictionary.Add(System.Object,System.Object)"/>
26071 <param name="key">the key</param>
26072 <param name="value">the value to store for the key</param>
26075 Store a value for the specified <see cref="T:System.String"/> <paramref name="key"/>.
26078 <exception cref="T:System.ArgumentException">Thrown if the <paramref name="key"/> is not a string</exception>
26080 <member name="M:log4net.Util.PropertiesDictionary.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
26082 See <see cref="M:System.Collections.ICollection.CopyTo(System.Array,System.Int32)"/>
26084 <param name="array"></param>
26085 <param name="index"></param>
26087 <member name="M:log4net.Util.PropertiesDictionary.System#Collections#IEnumerable#GetEnumerator">
26089 See <see cref="M:System.Collections.IEnumerable.GetEnumerator"/>
26092 <member name="P:log4net.Util.PropertiesDictionary.Item(System.String)">
26094 Gets or sets the value of the property with the specified key.
26097 The value of the property with the specified key.
26099 <param name="key">The key of the property to get or set.</param>
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.
26108 <member name="P:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#IsReadOnly">
26110 See <see cref="P:System.Collections.IDictionary.IsReadOnly"/>
26117 This collection is modifiable. This property always
26118 returns <c>false</c>.
26122 <member name="P:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#Item(System.Object)">
26124 See <see cref="P:System.Collections.IDictionary.Item(System.Object)"/>
26127 The value for the key specified.
26131 Get or set a value for the specified <see cref="T:System.String"/> <paramref name="key"/>.
26134 <exception cref="T:System.ArgumentException">Thrown if the <paramref name="key"/> is not a string</exception>
26136 <member name="P:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#Values">
26138 See <see cref="P:System.Collections.IDictionary.Values"/>
26141 <member name="P:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#Keys">
26143 See <see cref="P:System.Collections.IDictionary.Keys"/>
26146 <member name="P:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#IsFixedSize">
26148 See <see cref="P:System.Collections.IDictionary.IsFixedSize"/>
26151 <member name="P:log4net.Util.PropertiesDictionary.System#Collections#ICollection#IsSynchronized">
26153 See <see cref="P:System.Collections.ICollection.IsSynchronized"/>
26156 <member name="P:log4net.Util.PropertiesDictionary.System#Collections#ICollection#SyncRoot">
26158 See <see cref="P:System.Collections.ICollection.SyncRoot"/>
26161 <member name="T:log4net.Util.ProtectCloseTextWriter">
26163 A <see cref="T:System.IO.TextWriter"/> that ignores the <see cref="M:log4net.Util.ProtectCloseTextWriter.Close"/> message
26167 This writer is used in special cases where it is necessary
26168 to protect a writer from being closed by a client.
26171 <author>Nicko Cadell</author>
26173 <member name="M:log4net.Util.ProtectCloseTextWriter.#ctor(System.IO.TextWriter)">
26177 <param name="writer">the writer to actually write to</param>
26180 Create a new ProtectCloseTextWriter using a writer
26184 <member name="M:log4net.Util.ProtectCloseTextWriter.Attach(System.IO.TextWriter)">
26186 Attach this instance to a different underlying <see cref="T:System.IO.TextWriter"/>
26188 <param name="writer">the writer to attach to</param>
26191 Attach this instance to a different underlying <see cref="T:System.IO.TextWriter"/>
26195 <member name="M:log4net.Util.ProtectCloseTextWriter.Close">
26197 Does not close the underlying output writer.
26201 Does not close the underlying output writer.
26202 This method does nothing.
26206 <member name="T:log4net.Util.ReaderWriterLock">
26208 Defines a lock that supports single writers and multiple readers
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"/>.
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.
26225 <author>Nicko Cadell</author>
26227 <member name="M:log4net.Util.ReaderWriterLock.#ctor">
26233 Initializes a new instance of the <see cref="T:log4net.Util.ReaderWriterLock"/> class.
26237 <member name="M:log4net.Util.ReaderWriterLock.AcquireReaderLock">
26239 Acquires a reader lock
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.
26248 <member name="M:log4net.Util.ReaderWriterLock.ReleaseReaderLock">
26250 Decrements the lock count
26254 <see cref="M:log4net.Util.ReaderWriterLock.ReleaseReaderLock"/> decrements the lock count. When the count
26255 reaches zero, the lock is released.
26259 <member name="M:log4net.Util.ReaderWriterLock.AcquireWriterLock">
26261 Acquires the writer lock
26265 This method blocks if another thread has a reader lock or writer lock.
26269 <member name="M:log4net.Util.ReaderWriterLock.ReleaseWriterLock">
26271 Decrements the lock count on the writer lock
26275 ReleaseWriterLock decrements the writer lock count.
26276 When the count reaches zero, the writer lock is released.
26280 <member name="T:log4net.Util.ReusableStringWriter">
26282 A <see cref="T:System.IO.StringWriter"/> that can be <see cref="M:log4net.Util.ReusableStringWriter.Reset(System.Int32,System.Int32)"/> and reused
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.
26290 <author>Nicko Cadell</author>
26292 <member name="M:log4net.Util.ReusableStringWriter.#ctor(System.IFormatProvider)">
26294 Create an instance of <see cref="T:log4net.Util.ReusableStringWriter"/>
26296 <param name="formatProvider">the format provider to use</param>
26299 Create an instance of <see cref="T:log4net.Util.ReusableStringWriter"/>
26303 <member name="M:log4net.Util.ReusableStringWriter.Dispose(System.Boolean)">
26305 Override Dispose to prevent closing of writer
26307 <param name="disposing">flag</param>
26310 Override Dispose to prevent closing of writer
26314 <member name="M:log4net.Util.ReusableStringWriter.Reset(System.Int32,System.Int32)">
26316 Reset this string writer so that it can be reused.
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>
26322 Reset this string writer so that it can be reused.
26323 The internal buffers are cleared and reset.
26327 <member name="T:log4net.Util.SystemInfo">
26329 Utility class for system specific information.
26333 Utility class of static methods for system specific information.
26336 <author>Nicko Cadell</author>
26337 <author>Gert Driesen</author>
26338 <author>Alexey Solofnenko</author>
26340 <member name="M:log4net.Util.SystemInfo.#ctor">
26342 Private constructor to prevent instances.
26346 Only static methods are exposed from this type.
26350 <member name="M:log4net.Util.SystemInfo.#cctor">
26352 Initialize default values for private static fields.
26356 Only static methods are exposed from this type.
26360 <member name="M:log4net.Util.SystemInfo.AssemblyLocationInfo(System.Reflection.Assembly)">
26362 Gets the assembly location path for the specified assembly.
26364 <param name="myAssembly">The assembly to get the location for.</param>
26365 <returns>The location of the assembly.</returns>
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.
26374 <member name="M:log4net.Util.SystemInfo.AssemblyQualifiedName(System.Type)">
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
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>
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.
26390 <member name="M:log4net.Util.SystemInfo.AssemblyShortName(System.Reflection.Assembly)">
26392 Gets the short name of the <see cref="T:System.Reflection.Assembly"/>.
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>
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.
26403 Use this rather than <c>Assembly.GetName().Name</c> because that
26404 is not available on the Compact Framework.
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.
26414 <member name="M:log4net.Util.SystemInfo.AssemblyFileName(System.Reflection.Assembly)">
26416 Gets the file name portion of the <see cref="T:System.Reflection.Assembly"/>, including the extension.
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>
26422 Gets the file name portion of the <see cref="T:System.Reflection.Assembly"/>, including the extension.
26426 <member name="M:log4net.Util.SystemInfo.GetTypeFromString(System.Type,System.String,System.Boolean,System.Boolean)">
26428 Loads the type specified in the type string.
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>
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)"/>.
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.
26448 <member name="M:log4net.Util.SystemInfo.GetTypeFromString(System.String,System.Boolean,System.Boolean)">
26450 Loads the type specified in the type string.
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>
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)"/>.
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.
26469 <member name="M:log4net.Util.SystemInfo.GetTypeFromString(System.Reflection.Assembly,System.String,System.Boolean,System.Boolean)">
26471 Loads the type specified in the type string.
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>
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)"/>.
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.
26491 <member name="M:log4net.Util.SystemInfo.NewGuid">
26493 Generate a new guid
26495 <returns>A new Guid</returns>
26498 Generate a new guid
26502 <member name="M:log4net.Util.SystemInfo.CreateArgumentOutOfRangeException(System.String,System.Object,System.String)">
26504 Create an <see cref="T:System.ArgumentOutOfRangeException"/>
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>
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
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.
26523 <member name="M:log4net.Util.SystemInfo.TryParse(System.String,System.Int32@)">
26525 Parse a string into an <see cref="T:System.Int32"/> value
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>
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.
26537 <member name="M:log4net.Util.SystemInfo.TryParse(System.String,System.Int64@)">
26539 Parse a string into an <see cref="T:System.Int64"/> value
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>
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.
26551 <member name="M:log4net.Util.SystemInfo.GetAppSetting(System.String)">
26553 Lookup an application setting
26555 <param name="key">the application settings key to lookup</param>
26556 <returns>the value for the key, or <c>null</c></returns>
26559 Configuration APIs are not supported under the Compact Framework
26563 <member name="M:log4net.Util.SystemInfo.ConvertToFullPath(System.String)">
26565 Convert a path into a fully qualified local file path.
26567 <param name="path">The path to convert.</param>
26568 <returns>The fully qualified path.</returns>
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
26577 The path specified must be a local file path, a URI is not supported.
26581 <member name="M:log4net.Util.SystemInfo.CreateCaseInsensitiveHashtable">
26583 Creates a new case-insensitive instance of the <see cref="T:System.Collections.Hashtable"/> class with the default initial capacity.
26585 <returns>A new case-insensitive instance of the <see cref="T:System.Collections.Hashtable"/> class with the default initial capacity</returns>
26588 The new Hashtable instance uses the default load factor, the CaseInsensitiveHashCodeProvider, and the CaseInsensitiveComparer.
26592 <member name="F:log4net.Util.SystemInfo.EmptyTypes">
26594 Gets an empty array of types.
26598 The <c>Type.EmptyTypes</c> field is not available on
26599 the .NET Compact Framework 1.0.
26603 <member name="F:log4net.Util.SystemInfo.s_hostName">
26605 Cache the host name for the current machine
26608 <member name="F:log4net.Util.SystemInfo.s_appFriendlyName">
26610 Cache the application friendly name
26613 <member name="F:log4net.Util.SystemInfo.s_nullText">
26615 Text to output when a <c>null</c> is encountered.
26618 <member name="F:log4net.Util.SystemInfo.s_notAvailableText">
26620 Text to output when an unsupported feature is requested.
26623 <member name="F:log4net.Util.SystemInfo.s_processStartTime">
26625 Start time for the current process.
26628 <member name="P:log4net.Util.SystemInfo.NewLine">
26630 Gets the system dependent line terminator.
26633 The system dependent line terminator.
26637 Gets the system dependent line terminator.
26641 <member name="P:log4net.Util.SystemInfo.ApplicationBaseDirectory">
26643 Gets the base directory for this <see cref="T:System.AppDomain"/>.
26645 <value>The base directory path for the current <see cref="T:System.AppDomain"/>.</value>
26648 Gets the base directory for this <see cref="T:System.AppDomain"/>.
26651 The value returned may be either a local file path or a URI.
26655 <member name="P:log4net.Util.SystemInfo.ConfigurationFileLocation">
26657 Gets the path to the configuration file for the current <see cref="T:System.AppDomain"/>.
26659 <value>The path to the configuration file for the current <see cref="T:System.AppDomain"/>.</value>
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.
26667 The value returned may be either a local file path or a URI.
26671 <member name="P:log4net.Util.SystemInfo.EntryAssemblyLocation">
26673 Gets the path to the file that first executed in the current <see cref="T:System.AppDomain"/>.
26675 <value>The path to the entry assembly.</value>
26678 Gets the path to the file that first executed in the current <see cref="T:System.AppDomain"/>.
26682 <member name="P:log4net.Util.SystemInfo.CurrentThreadId">
26684 Gets the ID of the current thread.
26686 <value>The ID of the current thread.</value>
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.
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.
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.
26706 <member name="P:log4net.Util.SystemInfo.HostName">
26708 Get the host name or machine name for the current machine
26711 The hostname or machine name
26715 Get the host name or machine name for the current machine
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.
26725 <member name="P:log4net.Util.SystemInfo.ApplicationFriendlyName">
26727 Get this application's friendly name
26730 The friendly name of this application as a string
26734 If available the name of the application is retrieved from
26735 the <c>AppDomain</c> using <c>AppDomain.CurrentDomain.FriendlyName</c>.
26738 Otherwise the file name of the entry assembly is used.
26742 <member name="P:log4net.Util.SystemInfo.ProcessStartTime">
26744 Get the start time for the current process.
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.
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.
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.
26764 <member name="P:log4net.Util.SystemInfo.NullText">
26766 Text to output when a <c>null</c> is encountered.
26770 Use this value to indicate a <c>null</c> has been encountered while
26771 outputting a string representation of an item.
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
26780 <member name="P:log4net.Util.SystemInfo.NotAvailableText">
26782 Text to output when an unsupported feature is requested.
26786 Use this value when an unsupported feature is requested.
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
26795 <member name="T:log4net.Util.SystemStringFormat">
26797 Utility class that represents a format string.
26801 Utility class that represents a format string.
26804 <author>Nicko Cadell</author>
26806 <member name="M:log4net.Util.SystemStringFormat.#ctor(System.IFormatProvider,System.String,System.Object[])">
26808 Initialise the <see cref="T:log4net.Util.SystemStringFormat"/>
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>
26814 <member name="M:log4net.Util.SystemStringFormat.ToString">
26816 Format the string and arguments
26818 <returns>the formatted string</returns>
26820 <member name="M:log4net.Util.SystemStringFormat.StringFormat(System.IFormatProvider,System.String,System.Object[])">
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.
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>
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.
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.
26840 <member name="M:log4net.Util.SystemStringFormat.StringFormatError(System.Exception,System.String,System.Object[])">
26842 Process an error during StringFormat
26845 <member name="M:log4net.Util.SystemStringFormat.RenderArray(System.Array,System.Text.StringBuilder)">
26847 Dump the contents of an array into a string builder
26850 <member name="M:log4net.Util.SystemStringFormat.RenderObject(System.Object,System.Text.StringBuilder)">
26852 Dump an object to a string
26855 <member name="T:log4net.Util.ThreadContextProperties">
26857 Implementation of Properties collection for the <see cref="T:log4net.ThreadContext"/>
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"/>.
26865 <author>Nicko Cadell</author>
26867 <member name="F:log4net.Util.ThreadContextProperties.s_threadLocalSlot">
26869 The thread local data slot to use to store a PropertiesDictionary.
26872 <member name="M:log4net.Util.ThreadContextProperties.#ctor">
26874 Internal constructor
26878 Initializes a new instance of the <see cref="T:log4net.Util.ThreadContextProperties"/> class.
26882 <member name="M:log4net.Util.ThreadContextProperties.Remove(System.String)">
26886 <param name="key">the key for the entry to remove</param>
26893 <member name="M:log4net.Util.ThreadContextProperties.Clear">
26895 Clear all properties
26899 Clear all properties
26903 <member name="M:log4net.Util.ThreadContextProperties.GetProperties(System.Boolean)">
26905 Get the <c>PropertiesDictionary</c> for this thread.
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>
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.
26917 <member name="P:log4net.Util.ThreadContextProperties.Item(System.String)">
26919 Gets or sets the value of a property
26922 The value for the property with the specified key
26926 Gets or sets the value of a property
26930 <member name="T:log4net.Util.ThreadContextStack">
26932 Implementation of Stack for the <see cref="T:log4net.ThreadContext"/>
26936 Implementation of Stack for the <see cref="T:log4net.ThreadContext"/>
26939 <author>Nicko Cadell</author>
26941 <member name="F:log4net.Util.ThreadContextStack.m_stack">
26946 <member name="M:log4net.Util.ThreadContextStack.#ctor">
26948 Internal constructor
26952 Initializes a new instance of the <see cref="T:log4net.Util.ThreadContextStack"/> class.
26956 <member name="M:log4net.Util.ThreadContextStack.Clear">
26958 Clears all the contextual information held in this stack.
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>
26973 <member name="M:log4net.Util.ThreadContextStack.Pop">
26975 Removes the top context from this stack.
26977 <returns>The message in the context that was removed from the top of this stack.</returns>
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.
26986 <member name="M:log4net.Util.ThreadContextStack.Push(System.String)">
26988 Pushes a new context message into this stack.
26990 <param name="message">The new context message.</param>
26992 An <see cref="T:System.IDisposable"/> that can be used to clean up the context stack.
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
27002 <example>Simple example of using the <c>Push</c> method with the <c>using</c> keyword.
27004 using(log4net.ThreadContext.Stacks["NDC"].Push("Stack_Message"))
27006 log.Warn("This should have an ThreadContext Stack message");
27011 <member name="M:log4net.Util.ThreadContextStack.GetFullMessage">
27013 Gets the current context information for this stack.
27015 <returns>The current context information.</returns>
27017 <member name="M:log4net.Util.ThreadContextStack.ToString">
27019 Gets the current context information for this stack.
27021 <returns>Gets the current context information</returns>
27024 Gets the current context information for this stack.
27028 <member name="M:log4net.Util.ThreadContextStack.log4net#Core#IFixingRequired#GetFixedObject">
27030 Get a portable version of this object
27032 <returns>the portable instance of this object</returns>
27035 Get a cross thread portable version of this object
27039 <member name="P:log4net.Util.ThreadContextStack.Count">
27041 The number of messages in the stack
27044 The current number of messages in the stack
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.
27054 <member name="P:log4net.Util.ThreadContextStack.InternalStack">
27056 Gets and sets the internal stack used by this <see cref="T:log4net.Util.ThreadContextStack"/>
27058 <value>The internal storage stack</value>
27061 This property is provided only to support backward compatability
27062 of the <see cref="T:log4net.NDC"/>. Tytpically the internal stack should not
27067 <member name="T:log4net.Util.ThreadContextStack.StackFrame">
27069 Inner class used to represent a single context frame in the stack.
27073 Inner class used to represent a single context frame in the stack.
27077 <member name="M:log4net.Util.ThreadContextStack.StackFrame.#ctor(System.String,log4net.Util.ThreadContextStack.StackFrame)">
27081 <param name="message">The message for this context.</param>
27082 <param name="parent">The parent context in the chain.</param>
27085 Initializes a new instance of the <see cref="T:log4net.Util.ThreadContextStack.StackFrame"/> class
27086 with the specified message and parent context.
27090 <member name="P:log4net.Util.ThreadContextStack.StackFrame.Message">
27094 <value>The message.</value>
27101 <member name="P:log4net.Util.ThreadContextStack.StackFrame.FullMessage">
27103 Gets the full text of the context down to the root level.
27106 The full text of the context down to the root level.
27110 Gets the full text of the context down to the root level.
27114 <member name="T:log4net.Util.ThreadContextStack.AutoPopStackFrame">
27116 Struct returned from the <see cref="M:log4net.Util.ThreadContextStack.Push(System.String)"/> method.
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.
27125 <member name="F:log4net.Util.ThreadContextStack.AutoPopStackFrame.m_frameStack">
27127 The ThreadContextStack internal stack
27130 <member name="F:log4net.Util.ThreadContextStack.AutoPopStackFrame.m_frameDepth">
27132 The depth to trim the stack to when this instance is disposed
27135 <member name="M:log4net.Util.ThreadContextStack.AutoPopStackFrame.#ctor(System.Collections.Stack,System.Int32)">
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>
27143 Initializes a new instance of the <see cref="T:log4net.Util.ThreadContextStack.AutoPopStackFrame"/> class with
27144 the specified stack and return depth.
27148 <member name="M:log4net.Util.ThreadContextStack.AutoPopStackFrame.Dispose">
27150 Returns the stack to the correct depth.
27154 Returns the stack to the correct depth.
27158 <member name="T:log4net.Util.ThreadContextStacks">
27160 Implementation of Stacks collection for the <see cref="T:log4net.ThreadContext"/>
27164 Implementation of Stacks collection for the <see cref="T:log4net.ThreadContext"/>
27167 <author>Nicko Cadell</author>
27169 <member name="M:log4net.Util.ThreadContextStacks.#ctor(log4net.Util.ContextPropertiesBase)">
27171 Internal constructor
27175 Initializes a new instance of the <see cref="T:log4net.Util.ThreadContextStacks"/> class.
27179 <member name="P:log4net.Util.ThreadContextStacks.Item(System.String)">
27181 Gets the named thread context stack
27188 Gets the named thread context stack
27192 <member name="T:log4net.Util.Transform">
27194 Utility class for transforming strings.
27198 Utility class for transforming strings.
27201 <author>Nicko Cadell</author>
27202 <author>Gert Driesen</author>
27204 <member name="M:log4net.Util.Transform.#ctor">
27206 Initializes a new instance of the <see cref="T:log4net.Util.Transform"/> class.
27210 Uses a private access modifier to prevent instantiation of this class.
27214 <member name="M:log4net.Util.Transform.WriteEscapedXmlString(System.Xml.XmlWriter,System.String,System.String)">
27216 Write a string to an <see cref="T:System.Xml.XmlWriter"/>
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>
27223 The test is escaped either using XML escape entities
27224 or using CDATA sections.
27228 <member name="M:log4net.Util.Transform.MaskXmlInvalidCharacters(System.String,System.String)">
27230 Replace invalid XML characters in text string
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>
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>.
27241 This method replaces any illegal characters in the input string
27242 with the mask string specified.
27246 <member name="M:log4net.Util.Transform.CountSubstrings(System.String,System.String)">
27248 Count the number of times that the substring occurs in the text
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>
27255 The substring is assumed to be non repeating within itself.
27259 <member name="T:log4net.Util.WindowsSecurityContext">
27261 Impersonate a Windows Account
27265 This <see cref="T:log4net.Core.SecurityContext"/> impersonates a Windows account.
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.
27274 <member name="M:log4net.Util.WindowsSecurityContext.#ctor">
27276 Default constructor
27280 Default constructor
27284 <member name="M:log4net.Util.WindowsSecurityContext.ActivateOptions">
27286 Initialize the SecurityContext based on the options set.
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.
27297 If any of the configuration properties are modified then
27298 <see cref="M:log4net.Util.WindowsSecurityContext.ActivateOptions"/> must be called again.
27301 The security context will try to Logon the specified user account and
27302 capture a primary token for impersonation.
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>
27308 <member name="M:log4net.Util.WindowsSecurityContext.Impersonate(System.Object)">
27310 Impersonate the Windows account specified by the <see cref="P:log4net.Util.WindowsSecurityContext.UserName"/> and <see cref="P:log4net.Util.WindowsSecurityContext.DomainName"/> properties.
27312 <param name="state">caller provided state</param>
27314 An <see cref="T:System.IDisposable"/> instance that will revoke the impersonation of this SecurityContext
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.
27324 <member name="M:log4net.Util.WindowsSecurityContext.LogonUser(System.String,System.String,System.String)">
27326 Create a <see cref="T:System.Security.Principal.WindowsIdentity"/> given the userName, domainName and password.
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>
27334 Uses the Windows API call LogonUser to get a principal token for the account. This
27335 token is used to initialize the WindowsIdentity.
27339 <member name="P:log4net.Util.WindowsSecurityContext.Credentials">
27341 Gets or sets the impersonation mode for this security context
27344 The impersonation mode for this security context
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"/>
27354 The default value is <see cref="F:log4net.Util.WindowsSecurityContext.ImpersonationMode.User"/>
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"/>
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.
27369 <member name="P:log4net.Util.WindowsSecurityContext.UserName">
27371 Gets or sets the Windows username for this security context
27374 The Windows username for this security context
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).
27383 <member name="P:log4net.Util.WindowsSecurityContext.DomainName">
27385 Gets or sets the Windows domain name for this security context
27388 The Windows domain name for this security context
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.
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).
27401 <member name="P:log4net.Util.WindowsSecurityContext.Password">
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.
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.
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).
27415 <member name="T:log4net.Util.WindowsSecurityContext.ImpersonationMode">
27417 The impersonation modes for the <see cref="T:log4net.Util.WindowsSecurityContext"/>
27421 See the <see cref="P:log4net.Util.WindowsSecurityContext.Credentials"/> property for
27426 <member name="F:log4net.Util.WindowsSecurityContext.ImpersonationMode.User">
27428 Impersonate a user using the credentials supplied
27431 <member name="F:log4net.Util.WindowsSecurityContext.ImpersonationMode.Process">
27433 Revert this the thread to the credentials of the process
27436 <member name="T:log4net.Util.WindowsSecurityContext.DisposableImpersonationContext">
27438 Adds <see cref="T:System.IDisposable"/> to <see cref="T:System.Security.Principal.WindowsImpersonationContext"/>
27442 Helper class to expose the <see cref="T:System.Security.Principal.WindowsImpersonationContext"/>
27443 through the <see cref="T:System.IDisposable"/> interface.
27447 <member name="M:log4net.Util.WindowsSecurityContext.DisposableImpersonationContext.#ctor(System.Security.Principal.WindowsImpersonationContext)">
27451 <param name="impersonationContext">the impersonation context being wrapped</param>
27458 <member name="M:log4net.Util.WindowsSecurityContext.DisposableImpersonationContext.Dispose">
27460 Revert the impersonation
27464 Revert the impersonation
27468 <member name="T:log4net.GlobalContext">
27470 The log4net Global Context.
27474 The <c>GlobalContext</c> provides a location for global debugging
27475 information to be stored.
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.
27483 By default the <c>log4net:HostName</c> property is set to the name of
27484 the current machine.
27489 GlobalContext.Properties["hostname"] = Environment.MachineName;
27492 <threadsafety static="true" instance="true"/>
27493 <author>Nicko Cadell</author>
27495 <member name="M:log4net.GlobalContext.#ctor">
27497 Private Constructor.
27500 Uses a private access modifier to prevent instantiation of this class.
27503 <member name="F:log4net.GlobalContext.s_properties">
27505 The global context properties instance
27508 <member name="P:log4net.GlobalContext.Properties">
27510 The global properties map.
27513 The global properties map.
27517 The global properties map.
27521 <member name="T:log4net.LogicalThreadContext">
27523 The log4net Logical Thread Context.
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.
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.
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.
27545 The Logical Thread Context is managed on a per <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/> basis.
27548 <example>Example of using the thread context properties to store a username.
27550 LogicalThreadContext.Properties["user"] = userName;
27551 log.Info("This log message has a LogicalThreadContext Property called 'user'");
27554 <example>Example of how to push a message into the context stack
27556 using(LogicalThreadContext.Stacks["LDC"].Push("my context message"))
27558 log.Info("This log message has a LogicalThreadContext Stack message that includes 'my context message'");
27560 } // at the end of the using block the message is automatically popped
27563 <threadsafety static="true" instance="true"/>
27564 <author>Nicko Cadell</author>
27566 <member name="M:log4net.LogicalThreadContext.#ctor">
27568 Private Constructor.
27572 Uses a private access modifier to prevent instantiation of this class.
27576 <member name="F:log4net.LogicalThreadContext.s_properties">
27578 The thread context properties instance
27581 <member name="F:log4net.LogicalThreadContext.s_stacks">
27583 The thread context stacks instance
27586 <member name="P:log4net.LogicalThreadContext.Properties">
27588 The thread properties map
27591 The thread properties map
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.
27600 <member name="P:log4net.LogicalThreadContext.Stacks">
27609 The logical thread stacks.
27613 <member name="T:log4net.LogManager">
27615 This class is used by client applications to request logger instances.
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.
27624 See the <see cref="T:log4net.ILog"/> interface for more details.
27627 <example>Simple example of logging messages
27629 ILog log = LogManager.GetLogger("application-log");
27631 log.Info("Application Start");
27632 log.Debug("This is a debug message");
27634 if (log.IsDebugEnabled)
27636 log.Debug("This is another debug message");
27640 <threadsafety static="true" instance="true"/>
27641 <seealso cref="T:log4net.ILog"/>
27642 <author>Nicko Cadell</author>
27643 <author>Gert Driesen</author>
27645 <member name="M:log4net.LogManager.#ctor">
27647 Initializes a new instance of the <see cref="T:log4net.LogManager"/> class.
27650 Uses a private access modifier to prevent instantiation of this class.
27653 <member name="M:log4net.LogManager.Exists(System.String)">
27654 <overloads>Returns the named logger if it exists.</overloads>
27656 Returns the named logger if it exists.
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>.
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>
27667 <member name="M:log4net.LogManager.Exists(System.String,System.String)">
27669 Returns the named logger if it exists.
27673 If the named logger exists (in the specified repository) then it
27674 returns a reference to the logger, otherwise it returns
27678 <param name="repository">The repository to lookup in.</param>
27679 <param name="name">The fully qualified logger name to look for.</param>
27681 The logger found, or <c>null</c> if the logger doesn't exist in the specified
27685 <member name="M:log4net.LogManager.Exists(System.Reflection.Assembly,System.String)">
27687 Returns the named logger if it exists.
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
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>
27699 The logger, or <c>null</c> if the logger doesn't exist in the specified
27700 assembly's repository.
27703 <member name="M:log4net.LogManager.GetCurrentLoggers">
27704 <overloads>Get the currently defined loggers.</overloads>
27706 Returns all the currently defined loggers in the default repository.
27709 <para>The root logger is <b>not</b> included in the returned array.</para>
27711 <returns>All the defined loggers.</returns>
27713 <member name="M:log4net.LogManager.GetCurrentLoggers(System.String)">
27715 Returns all the currently defined loggers in the specified repository.
27717 <param name="repository">The repository to lookup in.</param>
27719 The root logger is <b>not</b> included in the returned array.
27721 <returns>All the defined loggers.</returns>
27723 <member name="M:log4net.LogManager.GetCurrentLoggers(System.Reflection.Assembly)">
27725 Returns all the currently defined loggers in the specified assembly's repository.
27727 <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
27729 The root logger is <b>not</b> included in the returned array.
27731 <returns>All the defined loggers.</returns>
27733 <member name="M:log4net.LogManager.GetLogger(System.String)">
27734 <overloads>Get or create a logger.</overloads>
27736 Retrieves or creates a named logger.
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
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
27750 <param name="name">The name of the logger to retrieve.</param>
27751 <returns>The logger with the name specified.</returns>
27753 <member name="M:log4net.LogManager.GetLogger(System.String,System.String)">
27755 Retrieves or creates a named logger.
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
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
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>
27774 <member name="M:log4net.LogManager.GetLogger(System.Reflection.Assembly,System.String)">
27776 Retrieves or creates a named logger.
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
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
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>
27795 <member name="M:log4net.LogManager.GetLogger(System.Type)">
27797 Shorthand for <see cref="M:log4net.LogManager.GetLogger(System.String)"/>.
27800 Get the logger for the fully qualified name of the type specified.
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>
27805 <member name="M:log4net.LogManager.GetLogger(System.String,System.Type)">
27807 Shorthand for <see cref="M:log4net.LogManager.GetLogger(System.String)"/>.
27810 Gets the logger for the fully qualified name of the type specified.
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>
27816 <member name="M:log4net.LogManager.GetLogger(System.Reflection.Assembly,System.Type)">
27818 Shorthand for <see cref="M:log4net.LogManager.GetLogger(System.String)"/>.
27821 Gets the logger for the fully qualified name of the type specified.
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>
27827 <member name="M:log4net.LogManager.Shutdown">
27829 Shuts down the log4net system.
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.
27838 Some appenders need to be closed before the application exists.
27839 Otherwise, pending logging events might be lost.
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.
27848 <member name="M:log4net.LogManager.ShutdownRepository">
27849 <overloads>Shutdown a logger repository.</overloads>
27851 Shuts down the default repository.
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.
27859 <para>Some appenders need to be closed before the application exists.
27860 Otherwise, pending logging events might be lost.
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.
27869 <member name="M:log4net.LogManager.ShutdownRepository(System.String)">
27871 Shuts down the repository for the repository specified.
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.
27880 Some appenders need to be closed before the application exists.
27881 Otherwise, pending logging events might be lost.
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.
27889 <param name="repository">The repository to shutdown.</param>
27891 <member name="M:log4net.LogManager.ShutdownRepository(System.Reflection.Assembly)">
27893 Shuts down the repository specified.
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.
27903 Some appenders need to be closed before the application exists.
27904 Otherwise, pending logging events might be lost.
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.
27913 <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
27915 <member name="M:log4net.LogManager.ResetConfiguration">
27916 <overloads>Reset the configuration of a repository</overloads>
27918 Resets all values contained in this repository instance to their defaults.
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.
27931 <member name="M:log4net.LogManager.ResetConfiguration(System.String)">
27933 Resets all values contained in this repository instance to their defaults.
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.
27945 <param name="repository">The repository to reset.</param>
27947 <member name="M:log4net.LogManager.ResetConfiguration(System.Reflection.Assembly)">
27949 Resets all values contained in this repository instance to their defaults.
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.
27961 <param name="repositoryAssembly">The assembly to use to lookup the repository to reset.</param>
27963 <member name="M:log4net.LogManager.GetLoggerRepository">
27964 <overloads>Get the logger repository.</overloads>
27966 Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
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"/>).
27974 <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> instance for the default repository.</returns>
27976 <member name="M:log4net.LogManager.GetLoggerRepository(System.String)">
27978 Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
27980 <returns>The default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.</returns>
27983 Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified
27984 by the <paramref name="repository"/> argument.
27987 <param name="repository">The repository to lookup in.</param>
27989 <member name="M:log4net.LogManager.GetLoggerRepository(System.Reflection.Assembly)">
27991 Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
27993 <returns>The default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.</returns>
27996 Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified
27997 by the <paramref name="repositoryAssembly"/> argument.
28000 <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
28002 <member name="M:log4net.LogManager.GetRepository">
28003 <overloads>Get a logger repository.</overloads>
28005 Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
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"/>).
28013 <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> instance for the default repository.</returns>
28015 <member name="M:log4net.LogManager.GetRepository(System.String)">
28017 Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
28019 <returns>The default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.</returns>
28022 Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified
28023 by the <paramref name="repository"/> argument.
28026 <param name="repository">The repository to lookup in.</param>
28028 <member name="M:log4net.LogManager.GetRepository(System.Reflection.Assembly)">
28030 Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
28032 <returns>The default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.</returns>
28035 Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified
28036 by the <paramref name="repositoryAssembly"/> argument.
28039 <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
28041 <member name="M:log4net.LogManager.CreateDomain(System.Type)">
28042 <overloads>Create a domain</overloads>
28044 Creates a repository with the specified repository type.
28048 <b>CreateDomain is obsolete. Use CreateRepository instead of CreateDomain.</b>
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.
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>
28061 <member name="M:log4net.LogManager.CreateRepository(System.Type)">
28062 <overloads>Create a logger repository.</overloads>
28064 Creates a repository with the specified repository type.
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>
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.
28078 <member name="M:log4net.LogManager.CreateDomain(System.String)">
28080 Creates a repository with the specified name.
28084 <b>CreateDomain is obsolete. Use CreateRepository instead of CreateDomain.</b>
28087 Creates the default type of <see cref="T:log4net.Repository.ILoggerRepository"/> which is a
28088 <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> object.
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.
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>
28099 <member name="M:log4net.LogManager.CreateRepository(System.String)">
28101 Creates a repository with the specified name.
28105 Creates the default type of <see cref="T:log4net.Repository.ILoggerRepository"/> which is a
28106 <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> object.
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.
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>
28117 <member name="M:log4net.LogManager.CreateDomain(System.String,System.Type)">
28119 Creates a repository with the specified name and repository type.
28123 <b>CreateDomain is obsolete. Use CreateRepository instead of CreateDomain.</b>
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.
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>
28137 <member name="M:log4net.LogManager.CreateRepository(System.String,System.Type)">
28139 Creates a repository with the specified name and repository type.
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.
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>
28154 <member name="M:log4net.LogManager.CreateDomain(System.Reflection.Assembly,System.Type)">
28156 Creates a repository for the specified assembly and repository type.
28160 <b>CreateDomain is obsolete. Use CreateRepository instead of CreateDomain.</b>
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.
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>
28174 <member name="M:log4net.LogManager.CreateRepository(System.Reflection.Assembly,System.Type)">
28176 Creates a repository for the specified assembly and repository type.
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.
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>
28191 <member name="M:log4net.LogManager.GetAllRepositories">
28193 Gets the list of currently defined repositories.
28197 Get an array of all the <see cref="T:log4net.Repository.ILoggerRepository"/> objects that have been created.
28200 <returns>An array of all the known <see cref="T:log4net.Repository.ILoggerRepository"/> objects.</returns>
28202 <member name="M:log4net.LogManager.WrapLogger(log4net.Core.ILogger)">
28204 Looks up the wrapper object for the logger specified.
28206 <param name="logger">The logger to get the wrapper for.</param>
28207 <returns>The wrapper for the logger specified.</returns>
28209 <member name="M:log4net.LogManager.WrapLoggers(log4net.Core.ILogger[])">
28211 Looks up the wrapper objects for the loggers specified.
28213 <param name="loggers">The loggers to get the wrappers for.</param>
28214 <returns>The wrapper objects for the loggers specified.</returns>
28216 <member name="M:log4net.LogManager.WrapperCreationHandler(log4net.Core.ILogger)">
28218 Create the <see cref="T:log4net.Core.ILoggerWrapper"/> objects used by
28221 <param name="logger">The logger to wrap.</param>
28222 <returns>The wrapper for the logger specified.</returns>
28224 <member name="F:log4net.LogManager.s_wrapperMap">
28226 The wrapper map to use to hold the <see cref="T:log4net.Core.LogImpl"/> objects.
28229 <member name="T:log4net.MDC">
28231 Implementation of Mapped Diagnostic Contexts.
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>.
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.
28249 The MDC is managed on a per thread basis.
28252 <threadsafety static="true" instance="true"/>
28253 <author>Nicko Cadell</author>
28254 <author>Gert Driesen</author>
28256 <member name="M:log4net.MDC.#ctor">
28258 Initializes a new instance of the <see cref="T:log4net.MDC"/> class.
28261 Uses a private access modifier to prevent instantiation of this class.
28264 <member name="M:log4net.MDC.Get(System.String)">
28266 Gets the context value identified by the <paramref name="key"/> parameter.
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>
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>.
28278 If the <paramref name="key"/> parameter does not look up to a
28279 previously defined context then <c>null</c> will be returned.
28283 <member name="M:log4net.MDC.Set(System.String,System.String)">
28285 Add an entry to the MDC
28287 <param name="key">The key to store the value under.</param>
28288 <param name="value">The value to store.</param>
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>.
28297 Puts a context value (the <paramref name="val"/> parameter) as identified
28298 with the <paramref name="key"/> parameter into the current thread's
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.
28308 <member name="M:log4net.MDC.Remove(System.String)">
28310 Removes the key value mapping for the key specified.
28312 <param name="key">The key to remove.</param>
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>.
28321 Remove the specified entry from this thread's MDC
28325 <member name="M:log4net.MDC.Clear">
28327 Clear all entries in the MDC
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>.
28337 Remove all the entries from this thread's MDC
28341 <member name="T:log4net.NDC">
28343 Implementation of Nested Diagnostic Contexts.
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>.
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.
28359 Interleaved log output can still be meaningful if each log entry
28360 from different contexts had a distinctive stamp. This is where NDCs
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
28369 <example>How to push a message into the context
28371 using(NDC.Push("my context message"))
28373 ... all log calls will have 'my context message' included ...
28375 } // at the end of the using block the message is automatically removed
28378 <threadsafety static="true" instance="true"/>
28379 <author>Nicko Cadell</author>
28380 <author>Gert Driesen</author>
28382 <member name="M:log4net.NDC.#ctor">
28384 Initializes a new instance of the <see cref="T:log4net.NDC"/> class.
28387 Uses a private access modifier to prevent instantiation of this class.
28390 <member name="M:log4net.NDC.Clear">
28392 Clears all the contextual information held on the current thread.
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>.
28402 Clears the stack of NDC data held on the current thread.
28406 <member name="M:log4net.NDC.CloneStack">
28408 Creates a clone of the stack of context information.
28410 <returns>A clone of the context info for this thread.</returns>
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>.
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
28425 <member name="M:log4net.NDC.Inherit(System.Collections.Stack)">
28427 Inherits the contextual information from another thread.
28429 <param name="stack">The context stack to inherit.</param>
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>.
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
28448 <member name="M:log4net.NDC.Pop">
28450 Removes the top context from the stack.
28453 The message in the context that was removed from the top
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>.
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.
28470 <member name="M:log4net.NDC.Push(System.String)">
28472 Pushes a new context message.
28474 <param name="message">The new context message.</param>
28476 An <see cref="T:System.IDisposable"/> that can be used to clean up
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>.
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
28493 <example>Simple example of using the <c>Push</c> method with the <c>using</c> keyword.
28495 using(log4net.NDC.Push("NDC_Message"))
28497 log.Warn("This should have an NDC message");
28502 <member name="M:log4net.NDC.Remove">
28504 Removes the context information for this thread. It is
28505 not required to call this method.
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>.
28515 This method is not implemented.
28519 <member name="M:log4net.NDC.SetMaxDepth(System.Int32)">
28521 Forces the stack depth to be at most <paramref name="maxDepth"/>.
28523 <param name="maxDepth">The maximum depth of the stack</param>
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>.
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.
28540 <member name="P:log4net.NDC.Depth">
28542 Gets the current context depth.
28544 <value>The current context depth.</value>
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>.
28553 The number of context values pushed onto the context stack.
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.
28560 <seealso cref="M:log4net.NDC.SetMaxDepth(System.Int32)"/>
28562 <member name="T:log4net.ThreadContext">
28564 The log4net Thread Context.
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.
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.
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.
28586 The Thread Context is managed on a per thread basis.
28589 <example>Example of using the thread context properties to store a username.
28591 ThreadContext.Properties["user"] = userName;
28592 log.Info("This log message has a ThreadContext Property called 'user'");
28595 <example>Example of how to push a message into the context stack
28597 using(ThreadContext.Stacks["NDC"].Push("my context message"))
28599 log.Info("This log message has a ThreadContext Stack message that includes 'my context message'");
28601 } // at the end of the using block the message is automatically popped
28604 <threadsafety static="true" instance="true"/>
28605 <author>Nicko Cadell</author>
28607 <member name="M:log4net.ThreadContext.#ctor">
28609 Private Constructor.
28613 Uses a private access modifier to prevent instantiation of this class.
28617 <member name="F:log4net.ThreadContext.s_properties">
28619 The thread context properties instance
28622 <member name="F:log4net.ThreadContext.s_stacks">
28624 The thread context stacks instance
28627 <member name="P:log4net.ThreadContext.Properties">
28629 The thread properties map
28632 The thread properties map
28636 The <c>ThreadContext</c> properties override any <see cref="T:log4net.GlobalContext"/>
28637 properties with the same name.
28641 <member name="P:log4net.ThreadContext.Stacks">
28650 The thread local stacks.