首页 > 代码库 > php输出日志的实现

php输出日志的实现

php输出日志的实现

思想:在想要输出log日志的地方,使用php的写入文件函数,把数据写入到事先定义好的文件中。

php代码如下:
//输出日志
    public function outputLog() {
        logOutput(time());
        sleep(3);
        $arr = array("k1" => "v1", "k2" => "v2");
        logOutput($arr);

        $this->display();
    }
logOutput()函数:
/**
 * @param  string,array  $data 需要输出到日志中的数据
 * @return null 
 */
function logOutput($data) {
    //数据类型检测
    if (is_array($data)) {
        $data = http://www.mamicode.com/json_encode($data);"./log/".date("Y-m-d").".log";
    $str = date("Y-m-d H:i:s")."   $data"."\n";
    file_put_contents($filename, $str, FILE_APPEND|LOCK_EX);
    return null;
}

技术分享
技术分享

file_put_contents() 函数把一个字符串写入文件中。
与依次调用 fopen(),fwrite() 以及 fclose() 功能一样。
语法
file_put_contents(file,data,mode,context)
参数	描述
file	必需。规定要写入数据的文件。如果文件不存在,则创建一个新文件。
data	可选。规定要写入文件的数据。可以是字符串、数组或数据流。
mode	可选。规定如何打开/写入文件。可能的值:
        FILE_USE_INCLUDE_PATH
        FILE_APPEND    追加数据而不是覆盖
        LOCK_EX    写入数据时,锁住文件,防止其他人对文件的改动
context	可选。规定文件句柄的环境。(不懂何用)
        context 是一套可以修改流的行为的选项。若使用 null,则忽略。
  • 意义:
  • 在可能出错的地方,进行调试时,输出错误信息
  • 输出变量,进行调试,可以避免平常的var_dump、dump函数打印一长串的数据,影响页面布局

php输出日志的实现