array( "class"=>"CLogRouter", "routes"=>array( array" />
入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

yii之-日志使用

创建时间:2013-12-19 投稿人: 浏览次数:2852
在配置文件(config/main.php)类似如下配置日志
                "log"=>array(
                    "class"=>"CLogRouter",
                    "routes"=>array(
                        array(
                            "class"=>"CFileLogRoute",
                            "levels"=>"error, warning,trace",
                        ),
                        array(
                            "class"=>"CProfileLogRoute",
                        ),
                        array(
                            "class"=>"CWebLogRoute",
                            "levels"=>"error,warning,trace",
                        ),
                    ),
                ),

日志路由class:

 

 

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


信息级别levels:

  • trace: 这是在 Yii::trace 中使用的级别。它用于在开发中 跟踪程序的执行流程。

  • info: 这个用于记录普通的信息。

  • profile: 这个是性能概述(profile)。下面马上会有更详细的说明。

  • warning: 这个用于警告(warning)信息。

  • error: 这个用于致命错误(fatal error)信息。

分类categories:
可以自定义,但在输出函数里要对应才会被写入日志里
(例如上边写的是 cool.* 和 system.db.* ,就会把相应分类的信息写入日志,请结合下文来理解)

设置完了,就可以用写入日志的函数来记录了:
Yii::trace("My log message.","cool.pd");
//cool.pd属于cool.*分类,所以会被写入日志
Yii::log("My log message.","info","cool.collectpd");
//log定义级别为info,结合上文,第一个logclass会忽略,不会被写入文件,但会被第二个logclass接收,写入日志在网络下方显示。

trace()和log()的区别:
trace()只会在调试模式下生效,即开启debug的时候
trace()不分level,但log()能设置levels参数

更详细可参考官方文件:http://www.yiiframework.com/doc/guide/1.1/zh_cn/topics.logging


声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。