public class SmtpManager extends AbstractManager
Modifier and Type | Class and Description |
---|---|
private static class |
SmtpManager.FactoryData
Factory data.
|
private static class |
SmtpManager.SMTPManagerFactory
Factory to create the SMTP Manager.
|
Modifier and Type | Field and Description |
---|---|
private CyclicBuffer<LogEvent> |
buffer |
private SmtpManager.FactoryData |
data |
private static SmtpManager.SMTPManagerFactory |
FACTORY |
private javax.mail.internet.MimeMessage |
message |
private javax.mail.Session |
session |
count, LOGGER
Modifier | Constructor and Description |
---|---|
protected |
SmtpManager(java.lang.String name,
javax.mail.Session session,
javax.mail.internet.MimeMessage message,
SmtpManager.FactoryData data) |
Modifier and Type | Method and Description |
---|---|
void |
add(LogEvent event) |
private void |
connect(LogEvent appendEvent) |
private static javax.mail.internet.MimeMessage |
createMimeMessage(SmtpManager.FactoryData data,
javax.mail.Session session,
LogEvent appendEvent) |
protected void |
encodeContent(byte[] bytes,
java.lang.String encoding,
java.io.ByteArrayOutputStream out) |
protected byte[] |
encodeContentToBytes(byte[] rawBytes,
java.lang.String encoding) |
protected byte[] |
formatContentToBytes(LogEvent[] priorEvents,
LogEvent appendEvent,
Layout<?> layout) |
protected java.lang.String |
getEncoding(byte[] rawBytes,
java.lang.String contentType) |
protected javax.mail.internet.InternetHeaders |
getHeaders(java.lang.String contentType,
java.lang.String encoding) |
protected javax.mail.internet.MimeMultipart |
getMimeMultipart(byte[] encodedBytes,
javax.mail.internet.InternetHeaders headers) |
static SmtpManager |
getSmtpManager(Configuration config,
java.lang.String to,
java.lang.String cc,
java.lang.String bcc,
java.lang.String from,
java.lang.String replyTo,
java.lang.String subject,
java.lang.String protocol,
java.lang.String host,
int port,
java.lang.String username,
java.lang.String password,
boolean isDebug,
java.lang.String filterName,
int numElements) |
void |
sendEvents(Layout<?> layout,
LogEvent appendEvent)
Send the contents of the cyclic buffer as an e-mail message.
|
protected void |
sendMultipartMessage(javax.mail.internet.MimeMessage msg,
javax.mail.internet.MimeMultipart mp) |
protected void |
writeBuffer(LogEvent[] priorEvents,
LogEvent appendEvent,
Layout<?> layout,
java.io.OutputStream out) |
private void |
writeContent(LogEvent[] priorEvents,
LogEvent appendEvent,
Layout<?> layout,
java.io.ByteArrayOutputStream out) |
protected void |
writeFooter(Layout<?> layout,
java.io.OutputStream out) |
protected void |
writeHeader(Layout<?> layout,
java.io.OutputStream out) |
close, getContentFormat, getCount, getLoggerContext, getManager, getName, hasManager, log, logDebug, logError, logWarn, release, releaseSub, stop, updateData
private static final SmtpManager.SMTPManagerFactory FACTORY
private final javax.mail.Session session
private final CyclicBuffer<LogEvent> buffer
private volatile javax.mail.internet.MimeMessage message
private final SmtpManager.FactoryData data
protected SmtpManager(java.lang.String name, javax.mail.Session session, javax.mail.internet.MimeMessage message, SmtpManager.FactoryData data)
private static javax.mail.internet.MimeMessage createMimeMessage(SmtpManager.FactoryData data, javax.mail.Session session, LogEvent appendEvent) throws javax.mail.MessagingException
javax.mail.MessagingException
public void add(LogEvent event)
public static SmtpManager getSmtpManager(Configuration config, java.lang.String to, java.lang.String cc, java.lang.String bcc, java.lang.String from, java.lang.String replyTo, java.lang.String subject, java.lang.String protocol, java.lang.String host, int port, java.lang.String username, java.lang.String password, boolean isDebug, java.lang.String filterName, int numElements)
public void sendEvents(Layout<?> layout, LogEvent appendEvent)
layout
- The layout for formatting the events.appendEvent
- The event that triggered the send.protected byte[] formatContentToBytes(LogEvent[] priorEvents, LogEvent appendEvent, Layout<?> layout) throws java.io.IOException
java.io.IOException
private void writeContent(LogEvent[] priorEvents, LogEvent appendEvent, Layout<?> layout, java.io.ByteArrayOutputStream out) throws java.io.IOException
java.io.IOException
protected void writeHeader(Layout<?> layout, java.io.OutputStream out) throws java.io.IOException
java.io.IOException
protected void writeBuffer(LogEvent[] priorEvents, LogEvent appendEvent, Layout<?> layout, java.io.OutputStream out) throws java.io.IOException
java.io.IOException
protected void writeFooter(Layout<?> layout, java.io.OutputStream out) throws java.io.IOException
java.io.IOException
protected java.lang.String getEncoding(byte[] rawBytes, java.lang.String contentType)
protected byte[] encodeContentToBytes(byte[] rawBytes, java.lang.String encoding) throws javax.mail.MessagingException, java.io.IOException
javax.mail.MessagingException
java.io.IOException
protected void encodeContent(byte[] bytes, java.lang.String encoding, java.io.ByteArrayOutputStream out) throws javax.mail.MessagingException, java.io.IOException
javax.mail.MessagingException
java.io.IOException
protected javax.mail.internet.InternetHeaders getHeaders(java.lang.String contentType, java.lang.String encoding)
protected javax.mail.internet.MimeMultipart getMimeMultipart(byte[] encodedBytes, javax.mail.internet.InternetHeaders headers) throws javax.mail.MessagingException
javax.mail.MessagingException
protected void sendMultipartMessage(javax.mail.internet.MimeMessage msg, javax.mail.internet.MimeMultipart mp) throws javax.mail.MessagingException
javax.mail.MessagingException
private void connect(LogEvent appendEvent)