SmtpPickupDirAppender Class | Apache log4net™ SDK Documentation

Send an email when a specific logging event occurs, typically on errors or fatal errors. Rather than sending via smtp it writes a file into the directory specified by PickupDir. This allows services such as the IIS SMTP agent to manage sending the messages.
Inheritance Hierarchy

System
Object
log4net.Appender
AppenderSkeleton
log4net.Appender
BufferingAppenderSkeleton
log4net.Appender
SmtpPickupDirAppender

Namespace: log4net.Appender
Assembly: log4net (in log4net.dll) Version: 2.0.8.0-.NET 4.0
Syntax

C#
VB
C++
F#
Copy

    public class SmtpPickupDirAppender : BufferingAppenderSkeleton

    Public Class SmtpPickupDirAppender
    	Inherits BufferingAppenderSkeleton

    public ref class SmtpPickupDirAppender : public BufferingAppenderSkeleton

    type SmtpPickupDirAppender =
        class
            inherit BufferingAppenderSkeleton
        end

The SmtpPickupDirAppender type exposes the following members.

Constructors

| Name | Description
--- | --- | ---
| SmtpPickupDirAppender | Default constructor

Top
Properties

| Name | Description
--- | --- | ---
| BufferSize | Gets or sets the size of the cyclic buffer used to hold the logging events. (Inherited from BufferingAppenderSkeleton.)
| ErrorHandler | Gets or sets the IErrorHandler for this appender. (Inherited from AppenderSkeleton.)
| Evaluator | Gets or sets the ITriggeringEventEvaluator that causes the buffer to be sent immediately. (Inherited from BufferingAppenderSkeleton.)
| FileExtension | Gets or sets the file extension for the generated files
| FilterHead | The filter chain. (Inherited from AppenderSkeleton.)
| Fix | Gets or sets a the fields that will be fixed in the event (Inherited from BufferingAppenderSkeleton.)
| From | Gets or sets the e-mail address of the sender.
| Layout | Gets or sets the ILayout for this appender. (Inherited from AppenderSkeleton.)
| Lossy | Gets or sets a value that indicates whether the appender is lossy. (Inherited from BufferingAppenderSkeleton.)
| LossyEvaluator | Gets or sets the value of the ITriggeringEventEvaluator to use. (Inherited from BufferingAppenderSkeleton.)
| Name | Gets or sets the name of this appender. (Inherited from AppenderSkeleton.)
| OnlyFixPartialEventData | Obsolete. Gets or sets a value indicating if only part of the logging event data should be fixed. (Inherited from BufferingAppenderSkeleton.)
| PickupDir | Gets or sets the path to write the messages to.
| RequiresLayout | This appender requires a log4net.Layout to be set. (Overrides AppenderSkeleton RequiresLayout.)
| SecurityContext | Gets or sets the SecurityContext used to write to the pickup directory.
| Subject | Gets or sets the subject line of the e-mail message.
| Threshold | Gets or sets the threshold Level of this appender. (Inherited from AppenderSkeleton.)
| To | Gets or sets a semicolon-delimited list of recipient e-mail addresses.

Top
Methods

| Name | Description
--- | --- | ---
| ActivateOptions | Activate the options on this appender. (Overrides BufferingAppenderSkeleton ActivateOptions .)
| AddFilter | Adds a filter to the end of the filter chain. (Inherited from AppenderSkeleton.)
| Append( LoggingEvent ) | Append a bulk array of logging events. (Inherited from AppenderSkeleton.)
| Append(LoggingEvent) | This method is called by the DoAppend(LoggingEvent) method. (Inherited from BufferingAppenderSkeleton.)
| ClearFilters | Clears the filter list for this appender. (Inherited from AppenderSkeleton.)
| Close | Closes the appender and release resources. (Inherited from AppenderSkeleton.)
| ConvertToFullPath | Convert a path into a fully qualified path.
| DoAppend(LoggingEvent) | Performs threshold checks and invokes filters before delegating actual logging to the subclasses specific [M:Append(LoggingEvent)] method. (Inherited from AppenderSkeleton.)
| DoAppend( LoggingEvent ) | Performs threshold checks and invokes filters before delegating actual logging to the subclasses specific [M:Append(LoggingEvent[])] method. (Inherited from AppenderSkeleton.)
| Equals | Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
| FilterEvent | Test if the logging event should we output by this appender (Inherited from AppenderSkeleton.)
| Finalize | Finalizes this appender by calling the implementation's Close method. (Inherited from AppenderSkeleton.)
| Flush | Flush the currently buffered events (Inherited from BufferingAppenderSkeleton.)
| Flush(Boolean) | Flush the currently buffered events (Inherited from BufferingAppenderSkeleton.)
| Flush(Int32) | Flushes any buffered log data. (Inherited from BufferingAppenderSkeleton.)
| GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.)
| GetType | Gets the Type of the current instance. (Inherited from Object.)
| IsAsSevereAsThreshold | Checks if the message level is below this appender's threshold. (Inherited from AppenderSkeleton.)
| MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.)
| OnClose | Close this appender instance. (Inherited from BufferingAppenderSkeleton.)
| PreAppendCheck | Called before [M:Append(LoggingEvent)] as a precondition. (Inherited from AppenderSkeleton.)
| RenderLoggingEvent(LoggingEvent) | Renders the LoggingEvent to a string. (Inherited from AppenderSkeleton.)
| RenderLoggingEvent(TextWriter, LoggingEvent) | Renders the LoggingEvent to a string. (Inherited from AppenderSkeleton.)
| SendBuffer | Sends the contents of the cyclic buffer as an e-mail message. (Overrides BufferingAppenderSkeleton SendBuffer( LoggingEvent ).)
| SendFromBuffer | Sends the contents of the buffer. (Inherited from BufferingAppenderSkeleton.)
| ToString | Returns a String that represents the current Object. (Inherited from Object.)

Top
Remarks

The configuration for this appender is identical to that of the SMTPAppender, except that instead of specifying the SMTPAppender.SMTPHost you specify PickupDir.

The number of logging events delivered in this e-mail depend on the value of BufferSize option. The SmtpPickupDirAppender keeps only the last BufferSize logging events in its cyclic buffer. This keeps memory requirements at a reasonable level while still delivering useful application context.

See Also

#### Reference

log4net.Appender Namespace