ThinkPHP5下自己写日志

本文介绍了一种在PHP项目中记录日志的方法。通过在common.php文件中定义一个wx_log函数,可以方便地在项目的任意位置记录指定文件名、行号及具体内容的日志。该方法利用file_put_contents函数将日志追加到指定路径的文件中,且考虑到了不同操作系统间的换行符差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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);

转载于:https://www.cnblogs.com/zxf100/p/8793451.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值