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 = json_encode($data);
    }
    $filename = "./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函数打印一长串的数据,影响页面布局
时间: 2024-10-13 08:55:43

php输出日志的实现的相关文章

对于Android系统Log输出日志的封装LogUtils

MainActivity如下: package cc.cn.logutil; import android.os.Bundle; import android.app.Activity; /** * Demo描述: * 对于Android系统Log输出日志的封装LogUtils * 1 可修改LogUtils中的LEVEL值觉得哪些级别的日志可以输出. * 所以方便选择性输出日志或者屏蔽日志输出 * 2 输出的日志除了本想输出的信息外还包含了该日志输出时所属 * 的线程,类,方法名,已经在该方法

【转】kettle 的内存设置及输出日志的时间类型

本文转载自:http://blog.csdn.net/dqswuyundong/archive/2010/10/19/5952004.aspx 设置kettle的内存 REM ******************************************************************REM ** Set java runtime options                                     **REM ** Change 256m to high

【转】Log4j按级别输出日志到不同文件配置分析

关于LOG4J 按照级别输出日志,并按照级别输出到不同文件中的说法有很多, 网上贴的最多的log4j.properties的设置是这样的 log4j.rootLogger=info,stdout,info,debug,error log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdou

log4j输出日志乱码(转)

log4j日志文件乱码问题的解决方法 log4j日志文件中文乱码处理方法 log4j 控制台和文件输出乱码问题解决 写在前面,第三篇文章中将原因解释的最清楚,为什么设置为UTF-8或者GBK就生效了,原因是类文件的编码和输入日志的编码必须一致,否则就会出现乱码. 转:log4j日志文件乱码问题的解决方法 近日在AIX上用log4j打印日志,出现乱码,经过努力解决问题. 症状:在默认语言非中文(或者说默认语言不支持中文的)的Windows.Linux.Unix上,用log4j打印日志,出现乱码,常

log4j分级输出日志文件

关于LOG4J 按照级别输出日志,并按照级别输出到不同文件中的说法有很多, 网上贴的最多的log4j.properties的设置是这样的 [java] view plain copy log4j.rootLogger=info,stdout,info,debug,error log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayo

实时查看 Tomcat 输出日志

命令: tail 输出文件的尾部内容,默认显示最后十行 对应 head 命令 —— 显示文件的头部内容 应用: 常用来动态监视文件的尾部内容增长情况(如监视日志文件变化) 参数: tail -f file 动态跟踪file的增长情况 必须保证在执行tail命令时文件file已存在 中断: Ctrl + C 新终端窗口中直接kill all tail 实时监视 Tomcat 输出日志: tail -f /var/log/tomcat6/catalina.out

rman输出日志的几种方法(转)

在使用rman的时候经常会碰到以下两种场景,需要把rman的日志输出到文件中: 1.显示的日志太多,导致一个屏幕显示不完,影响了问题的诊断,这时候需要把rman的log输出到文本中,整个的诊断过程就相对容易了许多. 2.在使用自动备份的时候,需要把日志输出到文本中,便于第二天进行备份任务的检查: 一.简单的日志数据的脚本 rman target / log /usr/oracle/rman.log 该脚本直接把rman的日志写到/u01/,并命名为rman.log,但是使用这种方法的时候,屏幕不

iBatis使用log4j2输出日志

原文链接这里 iBatis是一个老项目,2.3.4.726版本发布之后,项目改名为MyBatis,项目主页目前为http://mybatis.github.io/. 我从08年开始接触iBatis,一直使用2.3.4.726版本,直至当前的项目.iBatis恰到好处的满足了项目组在ORM.SQL维护方面的需求,所以也一直懒得换成其它同类开源软件,比如MyBatis. 最近参与新的项目开发,一切都要从零开始.为了节省时间,我直接把原项目中数据库相关操作的代码拿过来使用,发现遇到一个问题.新项目基于

SecurityCRT输出日志重定向

使用CRT进行抓取log,因为工具本省缓冲区有限,导致,刷屏特别快,可能会错过一些log,可以对CRT的log进行增加输出源,或者说将输出到控制台的log再输出到本地文件中: 文件->点击(勾选)日志文件:这个选项代表打出到控制台的日志将会输出到日志文件中: 选项->会话选项->终端->日志文件:指定输出文件路径以及名称: 如此配置,就可以将log输出到指定的文件中了. SecurityCRT输出日志重定向,布布扣,bubuko.com