CEmailLogRoute
Package | system.logging |
---|---|
Inheritance | class CEmailLogRoute » CLogRoute » CComponent |
Since | 1.0 |
Version | $Id: CEmailLogRoute.php 3426 2011-10-25 00:01:09Z alexander.makarow $ |
Source Code | framework/logging/CEmailLogRoute.php |
CEmailLogRoute sends selected log messages to email addresses.
The target email addresses may be specified via emails property. Optionally, you may set the email subject, the sentFrom address and any additional headers.
The target email addresses may be specified via emails property. Optionally, you may set the email subject, the sentFrom address and any additional headers.
Public Properties
Property | Type | Description | Defined By |
---|---|---|---|
categories | string | list of categories separated by comma or space. | CLogRoute |
emails | array | list of destination email addresses | CEmailLogRoute |
enabled | boolean | whether to enable this log route. | CLogRoute |
filter | mixed | the additional filter (eg CLogFilter) that can be applied to the log messages. | CLogRoute |
headers | array | additional headers to use when sending an email. | CEmailLogRoute |
levels | string | list of levels separated by comma or space. | CLogRoute |
logs | array | the logs that are collected so far by this log route. | CLogRoute |
sentFrom | string | send from address of the email | CEmailLogRoute |
subject | string | email subject. | CEmailLogRoute |
Public Methods
Method | Description | Defined By |
---|---|---|
__call() | Calls the named method which is not a class method. | CComponent |
__get() | Returns a property value, an event handler list or a behavior based on its name. | CComponent |
__isset() | Checks if a property value is null. | CComponent |
__set() | Sets value of a component property. | CComponent |
__unset() | Sets a component property to be null. | CComponent |
asa() | Returns the named behavior object. | CComponent |
attachBehavior() | Attaches a behavior to this component. | CComponent |
attachBehaviors() | Attaches a list of behaviors to the component. | CComponent |
attachEventHandler() | Attaches an event handler to an event. | CComponent |
canGetProperty() | Determines whether a property can be read. | CComponent |
canSetProperty() | Determines whether a property can be set. | CComponent |
collectLogs() | Retrieves filtered log messages from logger for further processing. | CLogRoute |
detachBehavior() | Detaches a behavior from the component. | CComponent |
detachBehaviors() | Detaches all behaviors from the component. | CComponent |
detachEventHandler() | Detaches an existing event handler. | CComponent |
disableBehavior() | Disables an attached behavior. | CComponent |
disableBehaviors() | Disables all behaviors attached to this component. | CComponent |
enableBehavior() | Enables an attached behavior. | CComponent |
enableBehaviors() | Enables all behaviors attached to this component. | CComponent |
evaluateExpression() | Evaluates a PHP expression or callback under the context of this component. | CComponent |
getEmails() | Returns list of destination email addresses | CEmailLogRoute |
getEventHandlers() | Returns the list of attached event handlers for an event. | CComponent |
getHeaders() | Returns additional headers to use when sending an email. | CEmailLogRoute |
getSentFrom() | Returns send from address of the email | CEmailLogRoute |
getSubject() | Returns email subject. Defaults to CEmailLogRoute::DEFAULT_SUBJECT | CEmailLogRoute |
hasEvent() | Determines whether an event is defined. | CComponent |
hasEventHandler() | Checks whether the named event has attached handlers. | CComponent |
hasProperty() | Determines whether a property is defined. | CComponent |
init() | Initializes the route. | CLogRoute |
raiseEvent() | Raises an event. | CComponent |
setEmails() | Sets list of destination email addresses. If the value is a string, it is assumed to be comma-separated email addresses. | CEmailLogRoute |
setHeaders() | Sets list of additional headers to use when sending an email. If the value is a string, it is assumed to be line break separated headers. | CEmailLogRoute |
setSentFrom() | Sets send from address of the email | CEmailLogRoute |
setSubject() | Sets email subject. | CEmailLogRoute |
Protected Methods
Method | Description | Defined By |
---|---|---|
formatLogMessage() | Formats a log message given different fields. | CLogRoute |
processLogs() | Sends log messages to specified email addresses. | CEmailLogRoute |
sendEmail() | Sends an email. | CEmailLogRoute |
Property Details
emails
property
list of destination email addresses
headers
property
(available since v1.1.4)
additional headers to use when sending an email.
sentFrom
property
send from address of the email
subject
property
email subject. Defaults to CEmailLogRoute::DEFAULT_SUBJECT
Method Details
getEmails()
method
public array getEmails()
| ||
{return} | array | list of destination email addresses |
Source Code: framework/logging/CEmailLogRoute.php#81 (show)
public function getEmails()
{
return $this->_email;
}
getHeaders()
method
(available since v1.1.4)
public array getHeaders()
| ||
{return} | array | additional headers to use when sending an email. |
Source Code: framework/logging/CEmailLogRoute.php#134 (show)
public function getHeaders()
{
return $this->_headers;
}
getSentFrom()
method
public string getSentFrom()
| ||
{return} | string | send from address of the email |
Source Code: framework/logging/CEmailLogRoute.php#117 (show)
public function getSentFrom()
{
return $this->_from;
}
getSubject()
method
public string getSubject()
| ||
{return} | string | email subject. Defaults to CEmailLogRoute::DEFAULT_SUBJECT |
Source Code: framework/logging/CEmailLogRoute.php#101 (show)
public function getSubject()
{
return $this->_subject;
}
processLogs()
method
protected void processLogs(array $logs)
| ||
$logs | array | list of log messages |
Source Code: framework/logging/CEmailLogRoute.php#51 (show)
protected function processLogs($logs)
{
$message='';
foreach($logs as $log)
$message.=$this->formatLogMessage($log[0],$log[1],$log[2],$log[3]);
$message=wordwrap($message,70);
$subject=$this->getSubject();
if($subject===null)
$subject=Yii::t('yii','Application Log');
foreach($this->getEmails() as $email)
$this->sendEmail($email,$subject,$message);
}
Sends log messages to specified email addresses.
sendEmail()
method
protected void sendEmail(string $email, string $subject, string $message)
| ||
string | single email address | |
$subject | string | email subject |
$message | string | email content |
Source Code: framework/logging/CEmailLogRoute.php#70 (show)
protected function sendEmail($email,$subject,$message)
{
$headers=$this->getHeaders();
if(($from=$this->getSentFrom())!==null)
$headers[]="From: {$from}";
mail($email,$subject,$message,implode("\r\n",$headers));
}
Sends an email.
setEmails()
method
public void setEmails(mixed $value)
| ||
$value | mixed | list of destination email addresses. If the value is a string, it is assumed to be comma-separated email addresses. |
Source Code: framework/logging/CEmailLogRoute.php#90 (show)
public function setEmails($value)
{
if(is_array($value))
$this->_email=$value;
else
$this->_email=preg_split('/[\s,]+/',$value,-1,PREG_SPLIT_NO_EMPTY);
}
setHeaders()
method
(available since v1.1.4)
public void setHeaders(mixed $value)
| ||
$value | mixed | list of additional headers to use when sending an email. If the value is a string, it is assumed to be line break separated headers. |
Source Code: framework/logging/CEmailLogRoute.php#144 (show)
public function setHeaders($value)
{
if (is_array($value))
$this->_headers=$value;
else
$this->_headers=preg_split('/\r\n|\n/',$value,-1,PREG_SPLIT_NO_EMPTY);
}
setSentFrom()
method
public void setSentFrom(string $value)
| ||
$value | string | send from address of the email |
Source Code: framework/logging/CEmailLogRoute.php#125 (show)
public function setSentFrom($value)
{
$this->_from=$value;
}
setSubject()
method
public void setSubject(string $value)
| ||
$value | string | email subject. |
Source Code: framework/logging/CEmailLogRoute.php#109 (show)
public function setSubject($value)
{
$this->_subject=$value;
}