发新话题
打印

CakePHP中的日志

CakePHP中的日志

作者:老王

CakePHP中,MVC各部分都是从Object对象继承而来的。在Object的定义中,有一个log()方法,可以用来记录日志,一般来说,我们可以从MVC中任何一个组件通过调用$this->log('...')来记录日志,那么什么情况应该记录日志呢?比如说开发过程中的调试信息,运行过程中的错误信息等等。
复制内容到剪贴板
代码:
/**
* API for logging events.
*
* @param string $msg Log message
* @param int $type Error type constant. Defined in app/config/core.php.
* @access public
*/
function log($msg, $type = LOG_ERROR)
此方法的实现大致是一个CakeLog的一个包装,如果想更仔细的了解内部细节,可以参考cake_log.php文件,日志的类型大致有以下几种:
复制内容到剪贴板
代码:
$levels = array(
    LOG_WARNING => 'warning',
    LOG_NOTICE => 'notice',
    LOG_INFO => 'info',
    LOG_DEBUG => 'debug',
    LOG_ERR => 'error',
    LOG_ERROR => 'error'
);
如果是error或者warning,则会把错误信息记录到error.log文件,如果是notice或者debug,则会把错误信息记录到debug.log文件,如果这几种错误类型都不是,则会建立一个名为“$type.log”的日志文件($type就是你的错误类型名字)。

所有的日志文件都保存在/app/tmp/logs目录。

在/app/config/core.php文件中有日志的配置选项:
复制内容到剪贴板
代码:
/**
* Defines the default error type when using the log() function. Used for
* differentiating error logging and debugging. Currently PHP supports LOG_DEBUG.
*/
define('LOG_ERROR', 2);

TOP

TOP

TOP

echo $form->year('myname', date('Y'), date('Y') + 1, date('Y'), array(), false);

controller: cleanUpFields方法

TOP

TOP

TOP

发新话题