Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Log4j 1.2.8
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.log4j.net
Class SMTPAppender

    java.lang.Object
      |
      +--org.apache.log4j.AppenderSkeleton
            |
            +--org.apache.log4j.net.SMTPAppender

All Implemented Interfaces:
  Appender, OptionHandler

public class SMTPAppender
extends AppenderSkeleton

Send an e-mail when a specific logging event occurs, typically on errors or fatal errors.

The number of logging events delivered in this e-mail depend on the value of BufferSize option. The `SMTPAppender` 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.

Since:
  1.0
Author:
  Ceki Gülcü

Field Summary
`protected CyclicBuffer` | `cb`
`protected TriggeringEventEvaluator` | `evaluator`
`protected Message` | `msg`

Fields inherited from class org.apache.log4j.AppenderSkeleton
`closed, errorHandler, headFilter, layout, name, tailFilter, threshold`

Constructor Summary
`SMTPAppender()` The default constructor will instantiate the appender with a `TriggeringEventEvaluator` that will trigger on events with level ERROR or higher.
`SMTPAppender(TriggeringEventEvaluator evaluator)` Use `evaluator` passed as parameter as the `TriggeringEventEvaluator` for this SMTPAppender.

Method Summary
`void` | `activateOptions()` Activate the specified options, such as the smtp host, the recipient, from, etc.
`void` | `append(LoggingEvent event)` Perform SMTPAppender specific appending actions, mainly adding the event to a cyclic buffer and checking if the event triggers an e-mail to be sent.
`protected boolean` | `checkEntryConditions()` This method determines if there is a sense in attempting to append.
`void` | `close()` Release any resources allocated within the appender such as file handles, network connections, etc.
`int` | `getBufferSize()` Returns value of the BufferSize option.
`String` | `getEvaluatorClass()` Returns value of the EvaluatorClass option.
`String` | `getFrom()` Returns value of the From option.
`boolean` | `getLocationInfo()` Returns value of the LocationInfo option.
`String` | `getSMTPHost()` Returns value of the SMTPHost option.
`String` | `getSubject()` Returns value of the Subject option.
`String` | `getTo()` Returns value of the To option.
`boolean` | `requiresLayout()` The `SMTPAppender` requires a `layout`.
`protected void` | `sendBuffer()` Send the contents of the cyclic buffer as an e-mail message.
`void` | `setBufferSize(int bufferSize)` The BufferSize option takes a positive integer representing the maximum number of logging events to collect in a cyclic buffer.
`void` | `setEvaluatorClass(String value)` The EvaluatorClass option takes a string value representing the name of the class implementing the `TriggeringEventEvaluator` interface.
`void` | `setFrom(String from)` The From option takes a string value which should be a e-mail address of the sender.
`void` | `setLocationInfo(boolean locationInfo)` The LocationInfo option takes a boolean value.
`void` | `setSMTPHost(String smtpHost)` The SMTPHost option takes a string value which should be a the host name of the SMTP server that will send the e-mail message.
`void` | `setSubject(String subject)` The Subject option takes a string value which should be a the subject of the e-mail message.
`void` | `setTo(String to)` The To option takes a string value which should be a comma separated list of e-mail address of the recipients.

Methods inherited from class org.apache.log4j.AppenderSkeleton
`addFilter, clearFilters, doAppend, finalize, getErrorHandler, getFilter, getFirstFilter, getLayout, getName, getThreshold, isAsSevereAsThreshold, setErrorHandler, setLayout, setName, setThreshold`

Methods inherited from class java.lang.Object
`clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### cb

    protected CyclicBuffer cb

### msg

    protected Message msg

### evaluator

    protected TriggeringEventEvaluator evaluator

Constructor Detail

### SMTPAppender

    public SMTPAppender()

  The default constructor will instantiate the appender with a `TriggeringEventEvaluator` that will trigger on events with level ERROR or higher.

### SMTPAppender

    public SMTPAppender(TriggeringEventEvaluator evaluator)

  Use `evaluator` passed as parameter as the `TriggeringEventEvaluator` for this SMTPAppender.

Method Detail

### activateOptions

    public void activateOptions()

  Activate the specified options, such as the smtp host, the recipient, from, etc.
  Overrides:
    `activateOptions` in class `AppenderSkeleton`

### append

    public void append(LoggingEvent event)

  Perform SMTPAppender specific appending actions, mainly adding the event to a cyclic buffer and checking if the event triggers an e-mail to be sent.
  Overrides:
    `append` in class `AppenderSkeleton`

### checkEntryConditions

    protected boolean checkEntryConditions()

  This method determines if there is a sense in attempting to append.

  It checks whether there is a set output target and also if there is a set layout. If these checks fail, then the boolean value `false` is returned.

### close

    public void close()

  Description copied from interface: `Appender`
  Release any resources allocated within the appender such as file handles, network connections, etc.

  It is a programming error to append to a closed appender.

### getTo

    public String getTo()

  Returns value of the To option.

### requiresLayout

    public boolean requiresLayout()

  The `SMTPAppender` requires a `layout`.

### sendBuffer

    protected void sendBuffer()

  Send the contents of the cyclic buffer as an e-mail message.

### getEvaluatorClass

    public String getEvaluatorClass()

  Returns value of the EvaluatorClass option.

### getFrom

    public String getFrom()

  Returns value of the From option.

### getSubject

    public String getSubject()

  Returns value of the Subject option.

### setFrom

    public void setFrom(String from)

  The From option takes a string value which should be a e-mail address of the sender.

### setSubject

    public void setSubject(String subject)

  The Subject option takes a string value which should be a the subject of the e-mail message.

### setBufferSize

    public void setBufferSize(int bufferSize)

  The BufferSize option takes a positive integer representing the maximum number of logging events to collect in a cyclic buffer. When the `BufferSize` is reached, oldest events are deleted as new events are added to the buffer. By default the size of the cyclic buffer is 512 events.

### setSMTPHost

    public void setSMTPHost(String smtpHost)

  The SMTPHost option takes a string value which should be a the host name of the SMTP server that will send the e-mail message.

### getSMTPHost

    public String getSMTPHost()

  Returns value of the SMTPHost option.

### setTo

    public void setTo(String to)

  The To option takes a string value which should be a comma separated list of e-mail address of the recipients.

### getBufferSize

    public int getBufferSize()

  Returns value of the BufferSize option.

### setEvaluatorClass

    public void setEvaluatorClass(String value)

  The EvaluatorClass option takes a string value representing the name of the class implementing the `TriggeringEventEvaluator` interface. A corresponding object will be instantiated and assigned as the triggering event evaluator for the SMTPAppender.

### setLocationInfo

    public void setLocationInfo(boolean locationInfo)

  The LocationInfo option takes a boolean value. By default, it is set to false which means there will be no effort to extract the location information related to the event. As a result, the layout that formats the events as they are sent out in an e-mail is likely to place the wrong location information (if present in the format).

  Location information extraction is comparatively very slow and should be avoided unless performance is not a concern.

### getLocationInfo

    public boolean getLocationInfo()

  Returns value of the LocationInfo option.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Log4j 1.2.8
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright 2000-2002 Apache Software Foundation.