现在的位置: 首页 > 综合 > 正文

YII中的日志很好很强大

2013年12月03日 ⁄ 综合 ⁄ 共 1298字 ⁄ 字号 评论关闭

YII中日志的基本配置:/zyd/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';性能调试信息

使用方法:

<?php
 class DefaultController extends Controller
 {
     public function actionCache ()
     {
         $category='system.testmod.defaultController';
         $level=CLogger::LEVEL_INFO;
         $msg='action begin ';
         Yii::log($msg,$level,$category);

抱歉!评论已关闭.