Class used for writing log messages to email via Zend_Mail.

Allows for emailing log messages at and above a certain level via a Zend_Mail object. Note that this class only sends the email upon completion, so any log entries accumulated are sent in a single email.

category Zend
package Zend_Log
subpackage Writer
copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
license New BSD License
version $Id: Mail.php 20096 2010-01-06 02:05:09Z bkarwin $

 Methods

Class constructor.

__construct(Zend_Mail $mail, Zend_Layout $layout) : void

Constructs the mail writer; requires a Zend_Mail instance, and takes an optional Zend_Layout instance. If Zend_Layout is being used, $this->_layout->events will be set for use in the layout template.

Parameters

$mail

\Zend_Mail

Mail instance

$layout

\Zend_Layout

Layout instance; optional

Add a filter specific to this writer.

addFilter(\Zend_Log_Filter_Interface $filter) : void
Inherited

inherited_from \Zend_Log_Writer_Abstract::addFilter()

Parameters

Create a new instance of Zend_Log_Writer_Mail

factory(array | \Zend_Config $config) : \Zend_Log_Writer_Mail

Parameters

$config

array\Zend_Config

Exceptions

\Zend_Log_Exception

Returns

Gets instance of Zend_Log_Formatter_Instance used for formatting a message using Zend_Layout, if applicable.

getLayoutFormatter() : \Zend_Log_Formatter_Interface | null

Returns

\Zend_Log_Formatter_InterfacenullThe formatter, or null.

Set a new formatter for this writer

setFormatter(\Zend_Log_Formatter_Interface $formatter) : void
Inherited

inherited_from \Zend_Log_Writer_Abstract::setFormatter()

Parameters

Sets a specific formatter for use with Zend_Layout events.

setLayoutFormatter(Zend_Log_Formatter_Interface $formatter) : \Zend_Log_Writer_Mail

Allows use of a second formatter on lines that will be rendered with Zend_Layout. In the event that Zend_Layout is not being used, this formatter cannot be set, so an exception will be thrown.

Parameters

Exceptions

\Zend_Log_Exception

Returns

Allows caller to have the mail subject dynamically set to contain the entry counts per-priority level.

setSubjectPrependText(string $subject) : \Zend_Log_Writer_Mail

Sets the text for use in the subject, with entry counts per-priority level appended to the end. Since a Zend_Mail subject can only be set once, this method cannot be used if the Zend_Mail object already has a subject set.

Parameters

$subject

string

Subject prepend text.

Returns

Sends mail to recipient(s) if log entries are present. Note that both plaintext and HTML portions of email are handled here.

shutdown() : void

Log a message to this writer.

write(array $event) : void
Inherited

inherited_from \Zend_Log_Writer_Abstract::write()

Parameters

$event

array

log data event

Gets a string of number of entries per-priority level that occurred, or an emptry string if none occurred.

_getFormattedNumEntriesPerPriority() : string

Returns

string

Validate and optionally convert the config to array

_parseConfig(array | \Zend_Config $config) : array
Inherited

inherited_from \Zend_Log_Writer_Abstract::_parseConfig()

Parameters

$config

array\Zend_Config

Zend_Config or Array

Exceptions

\Zend_Log_Exception

Returns

array

Places event line into array of lines to be used as message body.

_write(array $event) : void

Handles the formatting of both plaintext entries, as well as those rendered with Zend_Layout.

Parameters

$event

array

Event data

 Properties

 

Array of formatted events to include in message body.

$_eventsToMail : array

 

<p>of Zend_Log_Filter_Interface</p>

$_filters : array
Inherited

inherited_from \Zend_Log_Writer_Abstract::$$_filters
 

Formats the log message before writing.

$_formatter : \Zend_Log_Formatter_Interface
Inherited

inherited_from \Zend_Log_Writer_Abstract::$$_formatter
 

Zend_Layout instance to use; optional.

$_layout : \Zend_Layout

 

Array of formatted lines for use in an HTML email body; these events are formatted with an optional formatter if the caller is using Zend_Layout.

$_layoutEventsToMail : array

 

Optional formatter for use when rendering with Zend_Layout.

$_layoutFormatter : \Zend_Log_Formatter_Interface

 

Zend_Mail instance to use

$_mail : \Zend_Mail

 

Array keeping track of the number of entries per priority level.

$_numEntriesPerPriority : array

 

Subject prepend text.

$_subjectPrependText : string | null

Can only be used of the Zend_Mail object has not already had its subject line set. Using this will cause the subject to have the entry counts per-priority level appended to it.