TP的php日志记录类解析

 PHP运行的时候缺少一个后台,不能直接从后台看到日志的各种运行信息。但是在正常写代码里,我们又需要不断的获取到运行的信息。在php的信息记录函数里面,内置了一个error_log的函数用来记录错误消息提示的函数。
  error_log的主要用法:
  error_log(error,type,destination,headers)
  一般为了实用,我们基本指定type=3 指定输入运行错误信息到一个文本地方,这样我们可以一直查看日志的变化(其余的情况type=1或者type=4用的很少)
  如下列一段代码,在当前运行的路径里打印日志(在记事本里\n是换行的意思 __DIR__是指和当前文件运行的同一个目录)
  error_log("test\n",3,__DIR__.'\log.txt');

  下面解析TP的日志class Log类
  总共有(都是static类,调用的时候都可以直接用Log::init这种形式进行调用)
  init(默认情况下进行调用,初始化文件类,因为储存的目录是Runtime目录)
  record(记录日志 并且会过滤未经设置的级别,不强制记录错误的情况下,只会记录设置了的错误记录,会将错误全部储存在一个static  protected  $log =array()里面)
  save(日志保存储存到了log里面的日志,在整个程序运行完后最后用save 就可以一次性将整个程序一次运行的日志记录到文本里面,一般的情况下是系统本身进行调用
  write(直接将错误写到日志里面进行调用,常用于调试的时候,进行观察使用)
  四种方法(这里没有涉及到删除日志,所以运行一段时间后,需要自己把日志进行删除掉,TP会随着运行时间的增加,整个系统会越来越庞大)

<?php
//一个简单的日志记录类,一般日志只生成,很少需要代码删除
class   Log  {
 
 static  protected  $logs =array();
//系统运行的时候,需要记录,先将所有需要记录的日志写入一个 //数组,最后调用save方法,写入日志
 static  public function record($message) {
   self::$logs[]=$message;
 }


 static public  function  write($message,$destination) {
  error_log($message,3,$destination); 
 }


static  public  function save($destination) {
error_log(self::$logs,3,$destination);
}
}


Log::write("test",__DIR__."//".date("Y_m_d").".txt");

?>


你可能感兴趣的:(TP的php日志记录类解析)