Log4j 1.2.14

## 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.
`protected void` `addressMessage(Message msg)` Address message.
`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.
`protected Session` `createSession()` Create mail session.
`String` `getBcc()` Get the bcc recipient addresses.
`int` `getBufferSize()` Returns value of the BufferSize option.
`String` `getCc()` Get the cc recipient addresses.
`String` `getEvaluatorClass()` Returns value of the EvaluatorClass option.
`String` `getFrom()` Returns value of the From option.
`boolean` `getLocationInfo()` Returns value of the LocationInfo option.
`boolean` `getSMTPDebug()` Get SMTP debug.
`String` `getSMTPHost()` Returns value of the SMTPHost option.
`String` `getSMTPPassword()` Get SMTP password.
`String` `getSMTPUsername()` Get SMTP user name.
`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` `setBcc(String addresses)` Set the bcc recipient addresses.
`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` `setCc(String addresses)` Set the cc recipient addresses.
`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` `setSMTPDebug(boolean debug)` Setting the SmtpDebug option to true will cause the mail session to log its server interaction to stdout.
`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` `setSMTPPassword(String password)` The SmtpPassword option takes a string value which should be the password required to authenticate against the mail server.
`void` `setSMTPUsername(String username)` The SmtpUsername option takes a string value which should be the username required to authenticate against the mail server.
`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`

### addressMessage

    protected void addressMessage(Message msg)
                           throws MessagingException

  Address message.
  Parameters:
    `msg` - message, may not be null.
  Throws:
    `MessagingException` - thrown if error addressing message.

### createSession

    protected Session createSession()

  Create mail session.
  Returns:
    mail session, may not be null.

### 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.

### setCc

    public void setCc(String addresses)

  Set the cc recipient addresses.
  Parameters:
    `addresses` - recipient addresses as comma separated string, may be null.

### getCc

    public String getCc()

  Get the cc recipient addresses.
  Returns:
    recipient addresses as comma separated string, may be null.

### setBcc

    public void setBcc(String addresses)

  Set the bcc recipient addresses.
  Parameters:
    `addresses` - recipient addresses as comma separated string, may be null.

### getBcc

    public String getBcc()

  Get the bcc recipient addresses.
  Returns:
    recipient addresses as comma separated string, may be null.

### setSMTPPassword

    public void setSMTPPassword(String password)

  The SmtpPassword option takes a string value which should be the password required to authenticate against the mail server.
  Parameters:
    `password` - password, may be null.

### setSMTPUsername

    public void setSMTPUsername(String username)

  The SmtpUsername option takes a string value which should be the username required to authenticate against the mail server.
  Parameters:
    `username` - user name, may be null.

### setSMTPDebug

    public void setSMTPDebug(boolean debug)

  Setting the SmtpDebug option to true will cause the mail session to log its server interaction to stdout. This can be useful when debuging the appender but should not be used during production because username and password information is included in the output.
  Parameters:
    `debug` - debug flag.

### getSMTPPassword

    public String getSMTPPassword()

  Get SMTP password.
  Returns:
    SMTP password, may be null.

### getSMTPUsername

    public String getSMTPUsername()

  Get SMTP user name.
  Returns:
    SMTP user name, may be null.

### getSMTPDebug

    public boolean getSMTPDebug()

  Get SMTP debug.
  Returns:
    SMTP debug flag.

Log4j 1.2.14

Copyright 2000-2005 Apache Software Foundation.