【发布时间】:2014-09-28 03:25:10
【问题描述】:
我正在测试一个负责记录消息的自定义异常类LoggedException。
但它没有按预期工作,我的日志文件的目录结构是 logs/exceptions.log
我已经对文件的存在进行了某些检查,甚至对 error_log() 的实施进行了检查,这表明文件已写入,但是当我打开 exceptions.log 时,里面什么都没有而我想写的消息是抛出的。
class LoggedException extends exception{
public function __construct($message,$code=0,$file='logs/exceptions.log')
{
if(file_exists($file)){
if(error_log($this->getMessage(),0,$file)){
echo "<br/>File Wirtten error message: ".$this->getMessage();
} else {
echo"<br/>cannot write";
}
} else {
echo "</br>No such file there";
}
}
}
class someClass{
private $prop="on";
public function checkState($device){
if(($this->prop)=="on"){
throw new LoggedException("The $device is ON");
}
else{
echo ("THE $device IS OFF");
}
}
}
$bulb=new SomeClass();
try{
$bulb->checkState("bulb");
}
catch(LoggedException $e){
echo "Exception message: ".$e->getMessage();
}
浏览器显示:
exceptions.log:(也不完整)
【问题讨论】:
标签: php exception-handling error-log