Yii 日志与调试 debugtoolbar

简介:

1系统自带调试

index.php开启调试模式

Java代码   收藏代码
  1. // remove the following lines when in production mode  
  2. defined('YII_DEBUG') or define('YII_DEBUG',true);  
  3. // specify how many levels of call stack should be shown in each log message  
  4. defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL',3);  
  5. //app use time  
  6. //defined('YII_BEGIN_TIME') or define('YII_BEGIN_TIME',microtime(true));  

 main.php

Java代码   收藏代码
  1. 'errorHandler'=>array(  
  2.     // use 'site/error' action to display errors  
  3.     'errorAction'=>'site/error',  
  4. ),  
  5. 'log'=>array(  
  6.     'class'=>'CLogRouter',  
  7.     'routes'=>array(  
  8.         array(  
  9.             'class'=>'CFileLogRoute',  
  10.             'levels'=>'error, warning',  
  11.         ),  
  12.         // 下面显示页面日志  
  13.         array(  
  14.             'class'=>'CWebLogRoute',  
  15.             'levels'=>'trace',     //级别为trace  
  16.             'categories'=>'system.db.*' //只显示关于数据库信息,包括数据库连接,数据库执行语句  
  17.         ),        
  18.     ),  
  19. ),  

YII_TRACE_LEVEL的数字越大,信息越清楚

 

Yii 提供了一个灵活可扩展的日志功能。记录的日志可以通过日志级别和信息分类进行归类。通过使用级别和分类过滤器,所选的信息还可以进一步路由到不同的目的地,例如一个文件,Email,浏览器窗口等。

 在Yii 中有下列几种日志路由可用: 
CDbLogRoute: 将信息保存到数据库的表中。 
CEmailLogRoute: 发送信息到指定的 Email 地址。 
CFileLogRoute: 保存信息到应用程序 runtime 目录中的一个文件中。 
CWebLogRoute: 将 信息 显示在当前页面的底部。 
CProfileLogRoute: 在页面的底部显示概述(profiling)信息。

 

YII中日志的基本使用:
可以通过YII提供的Yii::log和Yii::trace进行日志信息的输出,两者的区别看看定义就知道了。
函数定义

Java代码   收藏代码
  1. Yii::log($message, $level, $category);  
  2. Yii::trace($message, $category);  

$msg:你要输出的日志信息
$category:日志信息所属分类
$level:日志信息的级别:

Java代码   收藏代码
  1. const LEVEL_TRACE='trace';用于调试环境,追踪程序执行流程  
  2. const LEVEL_WARNING='warning';警告信息  
  3. const LEVEL_ERROR='error';致命错误信息  
  4. const LEVEL_INFO='info';普通提示信息  
  5. const LEVEL_PROFILE='profile';性能调试信息  

YII::log基本使用例子

Java代码   收藏代码
  1. <?php  
  2.  class DefaultController extends Controller  
  3.  {  
  4.      public function actionCache ()  
  5.      {  
  6.          $category='system.testmod.defaultController';  
  7.          $level=CLogger::LEVEL_INFO;  
  8.          $msg='action begin ';  
  9.          Yii::log($msg,$level,$category);  

根据不同功能模块定制log日志

Java代码   收藏代码
  1. array(  
  2.     'components' => array(  
  3.         'log' => array(  
  4.             'class' => 'CLogRouter',  
  5.             'routes' => array(  
  6.                 array( //数据库日志记录到db.log中  
  7.                     'class' => 'CFileLogRoute',  
  8.                     'categories' => 'db.*',  
  9.                     'logFile' => 'db.log',  
  10.                 ),  
  11.                 array( //所有错误日志记录到error.log中  
  12.                     'class' => 'CFileLogRoute',  
  13.                     'levels' => 'error',  
  14.                     'logFile' => 'error.log',  
  15.                 ),  
  16.                 array( //所有用户中心错误日志发邮件  
  17.                     'class' => 'CEmailLogRoute',  
  18.                     'categories' => 'uc.*',  
  19.                     'levels' => 'error',  
  20.                     'emails' => 'admin@example.com',  
  21.                 ),  
  22.                 array( //开发过程中所有日志直接页面打印,这样不需要登录服务器看日志了  
  23.                     'class' => 'CWebLogRoute',  
  24.                     'levels' => 'trace,info,profile,warning,error',  
  25.                 ),  
  26.             ),  
  27.         ),  
  28.     ),  
  29. ),  

2调试插件

debugtoolbar http://www.yiiframework.com/extension/yiidebugtb

 点击YII可以折叠

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
5月前
|
Kubernetes Shell Linux
linux|shell脚本|有趣的知识---格式化输出日志和脚本调试方法以及kubernetes集群核心服务重启和集群证书备份脚本
linux|shell脚本|有趣的知识---格式化输出日志和脚本调试方法以及kubernetes集群核心服务重启和集群证书备份脚本
78 0
|
中间件 API PHP
Laravel 日志、调试、输出、授权等技巧总结
我们可以使用 Log::info(),或使用更短的 info() 额外参数信息,来了解更多发生的事情
534 0
|
2月前
|
前端开发 开发工具 iOS开发
mPaaS常见问题之真机预览与调试扫码调式 release包开启日志如何解决
mPaaS(移动平台即服务,Mobile Platform as a Service)是阿里巴巴集团提供的一套移动开发解决方案,它包含了一系列移动开发、测试、监控和运营的工具和服务。以下是mPaaS常见问题的汇总,旨在帮助开发者和企业用户解决在使用mPaaS产品过程中遇到的各种挑战
31 0
|
4月前
|
IDE 开发工具 Python
|
5月前
|
SQL Python BI
Django实践-07日志调试,Django-Debug-Toolbar配置与sql优化
Django实践-07日志调试,Django-Debug-Toolbar配置与sql优化
Django实践-07日志调试,Django-Debug-Toolbar配置与sql优化
|
8月前
|
C语言
3D打印Marlin2.0固件源代码分析之如何使用LOG接口调试代码
3D打印Marlin2.0固件源代码分析之如何使用LOG接口调试代码
196 0
|
8月前
|
数据采集 网络安全
syslog日志接口调试方法
日志数据采集,比较方便常用的就是通过syslog来进行数据采集,syslog可以通过udp协议来进行高效的数据传输。一般来说在工程实施的过程中需要对接对端系统的数据采集源可以通过以下步骤来进行syslog日志接口的调试。主要是验证syslog日志是否能正常送到指定的日志服务器的指定端口,日志服务器的指定端口是否能正常收到对端发过来的日志。
201 0
syslog日志接口调试方法
|
12月前
|
JSON Java Android开发
每次调试打印日志都很头痛
每次调试打印日志都很头痛
93 0
|
12月前
|
关系型数据库 MySQL
把log_error_verbosity设置为3,调试连接问题ERROR 2003 (HY000):ERROR 1045 (28000):
mysql 8里面使用global log_error_verbosity控制日志记录的详细程度