luinstein 发表于 2012-10-9 03:18:04

YII Framework学习教程-YII的日志

日志的作用(此处省略1000字)YII中的日志很好很强大,允许你把日志信息存放到数据库,发送到制定email,存放咋文件中,意见显示页面是,甚至可以用来做性能分析。
YII中日志的基本配置:/yii_dev/testwebap/protected/config/main.php
\'log\'=>array(
                        \'class\'=>\'CLogRouter\',
                        \'routes\'=>array(
                              array(
                                        \'class\'=>\'CFileLogRoute\',
                                        \'levels\'=>\'error, warning\',
                              ),
                              // uncomment the following to show log messages on web pages
                              /*
                              array(
                                        \'class\'=>\'CWebLogRoute\',
                              ),
                              */
                        ),
                ),
YII中日志的基本使用:
可以通过YII提供的Yii::log和Yii::trace进行日志信息的输出,两者的区别看看定义就知道了。
函数定义
      public static function trace($msg,$category=\'application\')
      {
                if(YII_DEBUG)
                        self::log($msg,CLogger::LEVEL_TRACE,$category);
      }
      public static function log($msg,$level=CLogger::LEVEL_INFO,$category=\'application\')
      {
                if(self::$_logger===null)
                        self::$_logger=new CLogger;
                if(YII_DEBUG && YII_TRACE_LEVEL>0 && $level!==CLogger::LEVEL_PROFILE)
                {
                        $traces=debug_backtrace();
                        $count=0;
                        foreach($traces as $trace)
                        {
                              if(isset($trace[\'file\'],$trace[\'line\']) && strpos($trace[\'file\'],YII_PATH)!==0)
                              {
                                        $msg.=\"nin \".$trace[\'file\'].\' (\'.$trace[\'line\'].\')\';
                                        if(++$count>=YII_TRACE_LEVEL)
                                                break;
                              }
                        }
                }
                self::$_logger->log($msg,$level,$category);
      }
$msg:你要输出的日志信息$category:日志信息所属分类
$level:日志信息的级别:
    const LEVEL_TRACE=\'trace\';用于调试环境,追踪程序执行流程
    const LEVEL_WARNING=\'warning\';警告信息
    const LEVEL_ERROR=\'error\';致命错误信息
    const LEVEL_INFO=\'info\';普通提示信息
    const LEVEL_PROFILE=\'profile\';性能调试信息
基本使用方法举例<div class=\"blockcode\"><div id=\"code_666\"><ol>
页: [1]
查看完整版本: YII Framework学习教程-YII的日志