1. 开启Magento的异常日志追踪功能
System->Configuration->Developer->Log Settings->Enabled
2.把整个网站目录设置为可写
chmod -R 777 magento
3.在Magento中用Mage::Log('日志内容'),记录日志内容
a 但是如果日志内容需要输出数组、对象怎么办呢?
答案很简单:Mage::log("日志:".print_r($myArray,true));
print_r($array[,bool]) 当函数中出现第二个参数,为true时,则不打印$arrry,而是将$array作为函数的返回值
b 如果想要将自己的日志和系统的日志区分开来,需要写自己的日志文件呢?
Mage::log("preg : ".print_r($match,true),null,'mylog.log');
mylog.log 即是自定义的log文件,该文件将被创建在 var/log/ 目录下
4.这样就会在var/log目录中出现system.log文件,其内为日志信息
5.可能很多同学做magento是做给外国人的,但是日志的时间和北京时间不一致,怎么办?
// $loggers[$file]->log($message, $level);
$loggers[$file]->setTimestampFormat('Y-m-d H:i:s'); // 设置Log的时间格式
$currentTimezone = @date_default_timezone_get(); // 保存当前的时区设置
@date_default_timezone_set('Asia/Shanghai'); // 设置为北京时间
$loggers[$file]->log($message, $level); // 记录Log
@date_default_timezone_set($currentTimezone); // 恢复以前设置的时区
温馨提示:1. 不要随意删除日志里面的内容,否则会造成意想不到的效果
2. 如果没有出现自定义日志记录,可能代码出现问题,可检查system.log 默认日志来定位问题
而Magento的异常日志默认是记录在 magento/var/report/ 下面的。
例如页面出现 如下提示
Exception printing is disabled by default for security reasons.
Error log record number: 1610090137
这个错误的日志一般是记录在 magento/var/report/ 1610090137 文件里面的