public class EmailLogger extends GenericService implements LogListener, Schedulable
logEventThreshold
property to the number of messages to queue. One can also make sure
that any queued email messages are delivered on a regular schedule.
This class supports the Schedulable interface and can very easily be managed
to send out any pending LogEvents every N seconds.
Schedulable
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
CLASS_VERSION
Class version string
|
SERVICE_INFO_KEY
DEFAULT_LOG_TRACE_STATUS
DEFAULT_LOG_DEBUG_STATUS, DEFAULT_LOG_ERROR_STATUS, DEFAULT_LOG_INFO_STATUS, DEFAULT_LOG_WARNING_STATUS
Constructor and Description |
---|
EmailLogger()
Constructs an EmailLogger.
|
Modifier and Type | Method and Description |
---|---|
void |
addEmailListener(EmailListener pListener)
Adds a listener to the list of email listeners
|
void |
doStartService()
Perfrom any necessary initializations to startup service.
If a schedule is provided, then it is started. |
void |
doStopService()
Performs tasks required to shutdown service.
|
void |
flushLogEventQueue()
Sends all the queued LogEvents and sends them as one email message
|
java.lang.String |
getDefaultBody()
Returns the default message body, that should be prepended to all emails
|
java.lang.String[] |
getDefaultExtraHeaders()
Returns the default list of extra headers that should be used in the email
(e.g.
|
java.lang.String |
getDefaultFrom()
Returns the default sender (From:) field.
|
java.lang.String[] |
getDefaultRecipients()
Returns the default list of Recipients that should receive email
|
java.lang.String |
getDefaultSubject()
Returns the default subject field.
|
int |
getEmailListenerCount()
Returns the number of email listeners
|
int |
getLogEventThreshold()
Returns the number of LogEvents that should be queued
before an email is sent
|
Schedule |
getSchedule() |
Scheduler |
getScheduler() |
void |
logEvent(LogEvent pLogEvent)
Sends the given log event out via email
|
void |
performScheduledTask(Scheduler pScheduler,
ScheduledJob pJob)
Flushes the avaliable queue entries
|
void |
removeEmailListener(EmailListener pListener)
Removes a listener from the list of email listeners
|
void |
setDefaultBody(java.lang.String pBody)
Sets the default message body, that should be prepended to all emails
|
void |
setDefaultExtraHeaders(java.lang.String[] pExtraHeaders)
Sets the default list of extra headers that should be used in the email
(e.g.
|
void |
setDefaultFrom(java.lang.String pFrom)
Sets the default sender (From:) field.
|
void |
setDefaultRecipients(java.lang.String[] pRecipients)
Sets the default list of Recipients that should receive email
|
void |
setDefaultSubject(java.lang.String pSubject)
Sets the default subject field.
|
void |
setLogEventThreshold(int pNum)
Sets the number of LogEvents that should be queued
before an email is sent
|
void |
setSchedule(Schedule pSchedule) |
void |
setScheduler(Scheduler pScheduler) |
protected void |
startScheduledJob()
Starts the EmailLogger's job which flushes the queue entries periodically
|
protected void |
stopScheduledJob()
Stops the EmailLogger's job which flushes the queue entries periodically
|
addLogListener, createAdminServlet, getAbsoluteName, getAdminServlet, getAdminServletOutputStreamEncoding, getLoggingForVlogging, getLogListenerCount, getLogListeners, getName, getNameContext, getNucleus, getRoot, getServiceConfiguration, getServiceInfo, isAdminServletUseServletOutputStream, isLoggingDebug, isLoggingError, isLoggingInfo, isLoggingTrace, isLoggingWarning, isRunning, logDebug, logDebug, logDebug, logError, logError, logError, logInfo, logInfo, logInfo, logTrace, logTrace, logTrace, logWarning, logWarning, logWarning, nameContextElementBound, nameContextElementUnbound, removeLogListener, reResolveThis, resolveName, resolveName, resolveName, resolveName, sendLogEvent, setAdminServletOutputStreamEncoding, setAdminServletUseServletOutputStream, setLoggingDebug, setLoggingError, setLoggingInfo, setLoggingTrace, setLoggingWarning, setNucleus, setServiceInfo, startService, stopService
vlogDebug, vlogDebug, vlogDebug, vlogDebug, vlogDebugTrace, vlogError, vlogError, vlogError, vlogError, vlogInfo, vlogInfo, vlogInfo, vlogInfo, vlogTrace, vlogTrace, vlogTrace, vlogTrace, vlogWarning, vlogWarning, vlogWarning, vlogWarning
public Scheduler getScheduler()
public void setScheduler(Scheduler pScheduler)
public Schedule getSchedule()
public void setSchedule(Schedule pSchedule)
public java.lang.String[] getDefaultRecipients()
public void setDefaultRecipients(java.lang.String[] pRecipients)
public java.lang.String getDefaultFrom()
public void setDefaultFrom(java.lang.String pFrom)
public java.lang.String getDefaultSubject()
public void setDefaultSubject(java.lang.String pSubject)
public java.lang.String[] getDefaultExtraHeaders()
"X-URL: http://foo.bar.com/"
)public void setDefaultExtraHeaders(java.lang.String[] pExtraHeaders)
"X-URL: http://foo.bar.com/"
)public java.lang.String getDefaultBody()
public void setDefaultBody(java.lang.String pBody)
public int getLogEventThreshold()
public void setLogEventThreshold(int pNum)
public void addEmailListener(EmailListener pListener)
public void removeEmailListener(EmailListener pListener)
public int getEmailListenerCount()
public void doStartService() throws ServiceException
doStartService
in class GenericService
ServiceException
- if the Service had a problem starting uppublic void doStopService() throws ServiceException
doStopService
in class GenericService
ServiceException
- if the Service had a problem shutting downprotected void startScheduledJob()
protected void stopScheduledJob()
public void performScheduledTask(Scheduler pScheduler, ScheduledJob pJob)
performScheduledTask
in interface Schedulable
pScheduler
- calling the jobpJob
- the ScheduledJobpublic void flushLogEventQueue()
public void logEvent(LogEvent pLogEvent)
logEvent
in interface LogListener
pLogEvent
- the log event