分享java带来的快乐

我喜欢java新东西

THINKPHP扩展类:log类的使用

[ 概述 ]
ThinkPHP内置了日志处理类,无需导入就可以直接使用。Log类提供了包括记录系统异常和错误和调试信息,以及SQL信息等功能,日志文件分别对应为WEB_LOG_ERROR 、WEB_LOG_DEBUG和SQL_LOG_DEBUG三种类型,对应的日志文件名称为:
systemErr.log主要用于WEB_LOG_ERROR类型日志
用于记录系统异常,通常为抛出异常或者捕获严重错误后自动记录
systemOut.log主要用于WEB_LOG_DEBUG日志类型
用于记录调试信息和页面的一些非严重错误记录,调试信息一般为system_out方法写入。
systemSql.log 主要是用于SQL_LOG_DEBUG日志类型
记录执行过程中的SQL语句和执行时间,便于进行分析和优化。
日志文件的命名规则是前面增加日期前缀,原则上是一天的同类型的日志记录在一个文件里面,您可以随时查看日志文件,例如:
  • 07_09_21_systemOut.log  // 2007年9月21日的错误日志文件
  • 07_12_03_systemSql.log  // 2007年12月3日的SQL日志文件
  • 07_02_03_systemErr.log  // 2007年2月3日的异常日志文件

复制代码
相关配置
  • 'WEB_LOG_RECORD'   => false,  // 默认不记录日志
  • 'LOG_FILE_SIZE'    => 2097152, // 日志文件大小限制

复制代码
设置WEB_LOG_RECORD为true就可以启用日志记录功能,可以设置LOG_FILE_SIZE参数来限制日志文件的大小,超过大小的日志会形成备份文件。备份文件的格式是在当前文件名前面加上备份的时间戳,例如:
1189571417-07_09_12_systemSql.log 备份的SQL日志文件
在系统的调试模式中,系统的所有异常和错误都会记录到系统日志中,在正式部署应用后,您可以关闭调试模式,这样系统就不会自动完成日志记录,除非你自己触发日志写入。
系统对每个项目单独记录日志,所以查看的时候请注意定位到某个项目目录下。
如果您的应用组件需要记录特殊的日志,也可以调用(或者扩展)该方法来完成。

[ 方法 ]
Log类提供了三个静态方法
Log::record($message,$type=WEB_LOG_ERROR)
记录Log信息和类型 默认是错误日志类型
Log::save()
把record方法记录的日志信息统一保存到文件
Log::write($message,$type=WEB_LOG_ERROR,$file='')
直接写入日志信息
$message 是要记录的日志信息
$type 就是日志类型
$file 日志文件位置和名称,该参数可以改变系统默认的日志文件命名。


[ 示例 ]
Log类使用的简单例子:
  • // 记录日志信息 但是不保存到文件
  • Log::record('用户数据错误');
  • Log::record('保存用户信息发生异常',WEB_LOG_ERROR);
  • // 把上面的日志信息写入文件保存
  • Log::save();
  • // 直接写入日志文件
  • Log::write('这里记录一下',WEB_LOG_DEBUG);

posted on 2011-04-23 09:13 强强 阅读(6325) 评论(1)  编辑  收藏 所属分类: php

评论

# re: THINKPHP扩展类:log类的使用[未登录] 2013-10-10 11:53 啊啊

sadsadf  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航: