• 熟知error_log快速调试


    在程序编程或者调试或者查找bug的时候,尤其是在程序调试阶段。

    error_log— 发送错误信息到某个地方 把错误信息发送到 web 服务器的错误日志,或者到一个文件里。

    error_log 返回值是 bool类型

    说明:

    bool error_log ( string $message [, int $message_type = 0 [, string $destination [, string $extra_headers ]]] )

    参数:


    $message 应该被记录的错误信息。

    $message_type

    设置错误应该发送到何处。可能的信息类型有以下几个:

        0:$message 发送到 PHP 的系统日志,使用 操作系统的日志机制或者一个文件,取决于 error_log 指令设置了什么。 这是个默认的选项。 

     1:$message 发送到参数 $destination 设置的邮件地址。 第四个参数 $extra_headers 只有在这个类型里才会被用到。 额外的头。当 message_type 设置为 1 的时候使用。 该信息类型使用了 mail() 的同一个内置函数。

     2:不再是一个选项。(已废弃)

     3:$message 被发送到位置为 $destination 的文件里。 字符 $message 不会默认被当做新的一行(若文件中有内容会接着写)。destination 文件夹路径,文件未存在会自动创建。

     4:$message 直接发送到 SAPI 的日志处理程序中。

     

    注意!!!

    message 不能包含 null 字符。 注意,message 可能会发送到文件、邮件、syslog 等。 所以在调用 error_log() 前需要使用适合的转换/转义函数: base64_encode()、 rawurlencode() 或 addslashes()

     

    本人常用的就是 例如 error_log(print_r($message,true),3,APP_PATH.'/log/print_log.log');

    代码无需打断点,线上环境也可以调试,不影响正常使用。调试完成后删除掉即可。

    默认输出的,是系统日志,如果我们的调试日志跟系统错误日志混合在一起,再去查看是不是有点眼花缭乱了呢?不如我们直接输出到我们的定义的文件中。

     

    如果是liunx服务器 ,cd到日志目录下,或者获取日志的绝对路径,使用命令 tail 查看日志输出,绝对是爽到爆的感觉。

    例如 tail -f /xxx/xxx/xxx/print_log.log

     

     

    今天虽然说是一个函数,自己也一直在用,从没有详细的记录过,以后每天记录一些东西,这世界我没有白来。

     

     

    我要去Facebook
  • 相关阅读:
    JAXB
    Servlet编码和解码
    FileUpload
    DataSource
    20200821 二分搜索
    火狐账户如何在Android手机端与电脑端同步
    20200807 贪心;排队接水;[AHOI2018初中组]分组;国王的游戏
    20200802 高精度问题 阶乘之和
    20200803 牛客多校赛
    20200207
  • 原文地址:https://www.cnblogs.com/rrrena/p/7160659.html
Copyright © 2020-2023  润新知