欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ThinkPHP5下自己写日志

程序员文章站 2022-05-04 10:16:35
1.首先在common.php公共函数文件下写需要的公共函数(appalication/common.php文件下),在此文件下写的函数可以在项目任意页面直接调用 此时,我把日志文件放在了/public/logs/目录下,日志文件名是按照当前日期的格式命名,方便排错 2.调用:直接使用定义的函数,并 ......

1.首先在common.php公共函数文件下写需要的公共函数(appalication/common.php文件下),在此文件下写的函数可以在项目任意页面直接调用

/**
 * 打印log日志
 * @param 文件名 第几行 日志内容
 */
function wx_log($basename=null,$num=null,$msg=null)
    {
        //$msg = [2018-04-11 09:22:56]文件名:wxpay,第29行,[info]:日志信息
        $msg = '['.date("Y-m-d H:i:s").']'.'文件名:'.$basename.',第'.$num.'行,'.'[info]:'.$msg;

        // 日志文件名:日期.txt
        $path = ROOT_PATH.DS.'public'. DS .'logs'. DS .date("Ymd").'.txt';

        file_put_contents($path, $msg.PHP_EOL,FILE_APPEND);
    }

此时,我把日志文件放在了/public/logs/目录下,日志文件名是按照当前日期的格式命名,方便排错

2.调用:直接使用定义的函数,并传入参数(操作的文件名,行数,日志信息

wx_log('wxpay','29','日志信息');

打印的日志信息如:[2018-04-11 09:22:56]文件名:wxpay,第29行,[info]:日志信息

 注意:

很多时候记录日志需要换行。不建议使用\r\n,因为:
windows\r\n是换行
Mac\r是换行
Liunx\n是换行
但是PHP提供了一个常量来匹配不同的操作系统,即:PHP_EOL
如:file_put_contents("log.txt", "Hello world everyone.".PHP_EOL, FILE_APPEND);