Class SMTPOutputLogTarget

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.lang.StringBuffer m_buffer
      Buffer containing current mail.
      private long m_bufferTime
      The time that the first log entry in the current buffer arrived.
      private javax.mail.Address m_fromAddress
      Address to mail is to be listed as sent from.
      private long m_maxDelayTime
      The maximun delay that a message will be allowed to wait in the queue before being sent.
      private int m_maxMsgSize
      Maximum size of mail, in units of log events.
      private javax.mail.Message m_message
      Message to be sent.
      private int m_msgSize
      Current size of mail, in units of log events.
      private java.lang.Thread m_runner
      Runner thread which is responsible for sending batched log entries in the background.
      private javax.mail.Session m_session
      Mail session.
      private boolean m_shutdown
      Flag which will be set in the close method when it is time to shutdown.
      private java.lang.String m_subject
      Mail subject.
      private javax.mail.Address[] m_toAddresses
      Address to sent mail to.
    • Constructor Summary

      Constructors 
      Constructor Description
      SMTPOutputLogTarget​(javax.mail.Session session, javax.mail.Address[] toAddresses, javax.mail.Address fromAddress, java.lang.String subject, int maxMsgSize, int maxDelayTime, Formatter formatter)
      SMTPOutputLogTarget constructor.
      SMTPOutputLogTarget​(javax.mail.Session session, javax.mail.Address[] toAddresses, javax.mail.Address fromAddress, java.lang.String subject, int maxMsgSize, Formatter formatter)
      SMTPOutputLogTarget constructor.
    • Field Detail

      • m_session

        private final javax.mail.Session m_session
        Mail session.
      • m_message

        private javax.mail.Message m_message
        Message to be sent.
      • m_toAddresses

        private final javax.mail.Address[] m_toAddresses
        Address to sent mail to.
      • m_fromAddress

        private final javax.mail.Address m_fromAddress
        Address to mail is to be listed as sent from.
      • m_subject

        private final java.lang.String m_subject
        Mail subject.
      • m_msgSize

        private int m_msgSize
        Current size of mail, in units of log events.
      • m_maxMsgSize

        private final int m_maxMsgSize
        Maximum size of mail, in units of log events.
      • m_buffer

        private java.lang.StringBuffer m_buffer
        Buffer containing current mail.
      • m_bufferTime

        private long m_bufferTime
        The time that the first log entry in the current buffer arrived.
      • m_maxDelayTime

        private long m_maxDelayTime
        The maximun delay that a message will be allowed to wait in the queue before being sent.
      • m_runner

        private java.lang.Thread m_runner
        Runner thread which is responsible for sending batched log entries in the background.
      • m_shutdown

        private boolean m_shutdown
        Flag which will be set in the close method when it is time to shutdown.
    • Constructor Detail

      • SMTPOutputLogTarget

        public SMTPOutputLogTarget​(javax.mail.Session session,
                                   javax.mail.Address[] toAddresses,
                                   javax.mail.Address fromAddress,
                                   java.lang.String subject,
                                   int maxMsgSize,
                                   int maxDelayTime,
                                   Formatter formatter)
        SMTPOutputLogTarget constructor. It creates a logkit output target capable of logging to SMTP (ie. email, email gateway) targets.
        Parameters:
        session - mail session to be used
        toAddresses - addresses logs should be sent to
        fromAddress - address logs say they come from
        subject - subject line logs should use
        maxMsgSize - maximum size of any log mail, in units of log events. If this is greater than one but maxDelayTime is 0 then log events may stay queued for a long period of time if less than the specified number of messages are logged. Any unset messages will be sent when the target is closed.
        maxDelayTime - specifies the longest delay in seconds that a log entry will be queued before being sent. Setting this to a value larger than 0 will cause a background thread to be used to queue up and send messages. Ignored if maxMsgSize is 1 or less.
        formatter - log formatter to use
      • SMTPOutputLogTarget

        public SMTPOutputLogTarget​(javax.mail.Session session,
                                   javax.mail.Address[] toAddresses,
                                   javax.mail.Address fromAddress,
                                   java.lang.String subject,
                                   int maxMsgSize,
                                   Formatter formatter)
        SMTPOutputLogTarget constructor. It creates a logkit output target capable of logging to SMTP (ie. email, email gateway) targets.
        Parameters:
        session - mail session to be used
        toAddresses - addresses logs should be sent to
        fromAddress - address logs say they come from
        subject - subject line logs should use
        maxMsgSize - maximum size of any log mail, in units of log events. Log events may stay queued for a long period of time if less than the specified number of messages are logged. Any unset messages will be sent when the target is closed.
        formatter - log formatter to use
    • Method Detail

      • write

        protected void write​(java.lang.String data)
        Method to write data to the log target. Logging data is stored in an internal buffer until the size limit is reached. When this happens the data is sent to the SMTP target, and the buffer is reset for subsequent events.
        Overrides:
        write in class AbstractOutputTarget
        Parameters:
        data - logging data to be written to target
      • setDebug

        public void setDebug​(boolean flag)
        Method to enable/disable debugging on the mail session.
        Parameters:
        flag - true to enable debugging, false to disable it
      • send

        private void send()
        Helper method to send the currently buffered message, if existing.

        Only called when synchronized.