CEmailLogRoute

优质
小牛编辑
136浏览
2023-12-01
所有包 | 属性 | 方法
system.logging
继承class CEmailLogRoute » CLogRoute » CComponent
源自1.0
版本$Id: CEmailLogRoute.php 3426 2011-10-25 00:01:09Z alexander.makarow $
源码framework/logging/CEmailLogRoute.php
CEmailLogRoute发送已选择的日志信息到email地址。

目录email地址可能通过emails属性指定。 可选的,你可以设置邮件subject, sentFrom地址和任何附加的 headers。

公共属性

隐藏继承属性

属性类型描述定义在
categoriesstring被逗号或空格分隔的类别列表。默认为空,意味着所有类别。CLogRoute
emailsarray目标邮件地址列表CEmailLogRoute
enabledboolean是否启用这个日志路由。默认为true。CLogRoute
filtermixed附加过滤器 (例如 CLogFilter) 它被应用到日志信息。 这个属性的值被传递到 Yii::createComponent 创建一个日志过滤器对象。 结果,这可能是一个表示过滤器类名的字符串或一个表示过滤器配置的数组。

总之,日志过滤器类应该是 CLogFilter 或它的一个子类。 默认为null,意味着没有过滤器被使用。
CLogRoute
headersarray发送一个邮件时的附加头部。CEmailLogRoute
levelsstring用逗号或空格分隔的等级列表。默认是空,意味着所有等级。CLogRoute
logsarray到目前为止这个日志路由搜集的日志。CLogRoute
sentFromstring邮件发送的源地址CEmailLogRoute
subjectstring邮件主题。默认是CEmailLogRoute::DEFAULT_SUBJECTCEmailLogRoute

公共方法

隐藏继承方法

方法描述定义在
__call()如果类中没有调的方法名,则调用这个方法。CComponent
__get()返回一个属性值、一个事件处理程序列表或一个行为名称。CComponent
__isset()检查一个属性是否为null。CComponent
__set()设置一个组件的属性值。CComponent
__unset()设置一个组件的属性为null。CComponent
asa()返回这个名字的行为对象。CComponent
attachBehavior()附加一个行为到组件。CComponent
attachBehaviors()附加一个行为列表到组件。CComponent
attachEventHandler()为事件附加一个事件处理程序。CComponent
canGetProperty()确定属性是否可读。CComponent
canSetProperty()确定属性是否可写。CComponent
collectLogs()从日志记录器取回已过滤的日志信息以便进一步处理。CLogRoute
detachBehavior()从组件中分离一个行为。CComponent
detachBehaviors()从组件中分离所有行为。CComponent
detachEventHandler()分离一个存在的事件处理程序。CComponent
disableBehavior()禁用一个附加行为。CComponent
disableBehaviors()禁用组件附加的所有行为。CComponent
enableBehavior()启用一个附加行为。CComponent
enableBehaviors()启用组件附加的所有行为。CComponent
evaluateExpression()计算一个PHP表达式,或根据组件上下文执行回调。CComponent
getEmails()返回目标邮件地址列表CEmailLogRoute
getEventHandlers()返回一个事件的附加处理程序列表。CComponent
getHeaders()返回发送一个邮件时的附加头部。CEmailLogRoute
getSentFrom()返回邮件发送的源地址CEmailLogRoute
getSubject()返回邮件主题。默认是CEmailLogRoute::DEFAULT_SUBJECTCEmailLogRoute
hasEvent()确定一个事件是否定义。CComponent
hasEventHandler()检查事件是否有附加的处理程序。CComponent
hasProperty()确定属性是否被定义。CComponent
init()初始化路由。CLogRoute
raiseEvent()发起一个事件。CComponent
setEmails()设置目标邮件地址列表。 如果值是一个字符串,假定通过逗号分隔邮件地址。CEmailLogRoute
setHeaders()设置发送一个邮件时的附加头部列表。 如果值是一个字符串,假定以换行符分隔头部。CEmailLogRoute
setSentFrom()设置发送邮件的源地址CEmailLogRoute
setSubject()设置邮件主题。CEmailLogRoute

受保护方法

隐藏继承方法

方法描述定义在
formatLogMessage()格式化一条日志信息已给定不同字段。CLogRoute
processLogs()发送日志信息到指定的邮件地址。CEmailLogRoute
sendEmail()发送一份邮件。CEmailLogRoute

属性详细

emails 属性 public array getEmails()
public void setEmails(mixed $value)

目标邮件地址列表

headers 属性 (可用自 v1.1.4) public array getHeaders()
public void setHeaders(mixed $value)

发送一个邮件时的附加头部。

sentFrom 属性 public string getSentFrom()
public void setSentFrom(string $value)

邮件发送的源地址

subject 属性 public string getSubject()
public void setSubject(string $value)

邮件主题。默认是CEmailLogRoute::DEFAULT_SUBJECT

方法详细

getEmails() 方法
public array getEmails()
{return}array目标邮件地址列表
源码: framework/logging/CEmailLogRoute.php#81 (显示) publicfunctiongetEmails()
{
return$this->_email;
}
getHeaders() 方法 (可用自 v1.1.4)
public array getHeaders()
{return}array发送一个邮件时的附加头部。
源码: framework/logging/CEmailLogRoute.php#134 (显示) publicfunctiongetHeaders()
{
return$this->_headers;
}
getSentFrom() 方法
public string getSentFrom()
{return}string邮件发送的源地址
源码: framework/logging/CEmailLogRoute.php#117 (显示) publicfunctiongetSentFrom()
{
return$this->_from;
}
getSubject() 方法
public string getSubject()
{return}string邮件主题。默认是CEmailLogRoute::DEFAULT_SUBJECT
源码: framework/logging/CEmailLogRoute.php#101 (显示) publicfunctiongetSubject()
{
return$this->_subject;
}
processLogs() 方法
protected void processLogs(array $logs)
$logsarray日志消息列表
源码: framework/logging/CEmailLogRoute.php#51 (显示) protectedfunctionprocessLogs($logs)
{
$message='';
foreach($logsas$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','ApplicationLog');
foreach($this->getEmails()as$email)
$this->sendEmail($email,$subject,$message);
}

发送日志信息到指定的邮件地址。

sendEmail() 方法
protected void sendEmail(string $email, string $subject, string $message)
$emailstring单个邮件地址
$subjectstring邮件主题
$messagestring邮件内容
源码: framework/logging/CEmailLogRoute.php#70 (显示) protectedfunctionsendEmail($email,$subject,$message)
{
$headers=$this->getHeaders();
if(($from=$this->getSentFrom())!==null)
$headers[]="From:{$from}";
mail($email,$subject,$message,implode("rn",$headers));
}

发送一份邮件。

setEmails() 方法
public void setEmails(mixed $value)
$valuemixed目标邮件地址列表。 如果值是一个字符串,假定通过逗号分隔邮件地址。
源码: framework/logging/CEmailLogRoute.php#90 (显示) publicfunctionsetEmails($value)
{
if(is_array($value))
$this->_email=$value;
else
$this->_email=preg_split('/[s,]+/',$value,-1,PREG_SPLIT_NO_EMPTY);
}
setHeaders() 方法 (可用自 v1.1.4)
public void setHeaders(mixed $value)
$valuemixed发送一个邮件时的附加头部列表。 如果值是一个字符串,假定以换行符分隔头部。
源码: framework/logging/CEmailLogRoute.php#144 (显示) publicfunctionsetHeaders($value)
{
if(is_array($value))
$this->_headers=$value;
else
$this->_headers=preg_split('/rn|n/',$value,-1,PREG_SPLIT_NO_EMPTY);
}
setSentFrom() 方法
public void setSentFrom(string $value)
$valuestring发送邮件的源地址
源码: framework/logging/CEmailLogRoute.php#125 (显示) publicfunctionsetSentFrom($value)
{
$this->_from=$value;
}
setSubject() 方法
public void setSubject(string $value)
$valuestring邮件主题。
源码: framework/logging/CEmailLogRoute.php#109 (显示) publicfunctionsetSubject($value)
{
$this->_subject=$value;
}