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

最新文章

  1. Python基础篇【第8篇】: Socket编程(二)SocketServer
  2. 【linux】学习3
  3. handler 异步执行(进度条加载到100)
  4. Python基础(10)--数字
  5. SQL Server数据库的三种恢复模式:简单恢复模式、完整恢复模式和大容量日志恢复模式(转载)
  6. 洛谷P2723 丑数 Humble Numbers
  7. MyBatis(3.2.3) - Paginated ResultSets using RowBounds
  8. Spring 官方下载地址(非Maven)
  9. Could not reliably determine the server's fully qualified domain name
  10. C#鼠标键盘钩子
  11. CentOS yum安装配置lnmp服务器(Nginx+PHP+MySQL)
  12. openwrt下关于snmpd的一些信息
  13. DryIoc mvc 项目集成
  14. 使用纯css3实现图片轮播
  15. Hidden Word
  16. Redis之持久化(RDB AOF)
  17. 【.NET Core项目实战-统一认证平台】第二章网关篇-定制Ocelot来满足需求
  18. 逆袭之旅DAY28.XIA.异常处理
  19. Python+OpenCV实现FasterRcnn样本查看器
  20. V-rep学习笔记:机器人模型创建2—添加关节

热门文章

  1. EXECUTE 后的事务计数指示缺少了 COMMIT 或 ROLLBACK TRANSACTION 语句。上一计数 = 1,当前计数 = 2
  2. 解决 ORA-27102: out of memory
  3. JobScheduler调度器过程(JobSchedulerService的启动过程)
  4. ElasticSearch入门2: 基本用法
  5. 打印页面时a标签不显示URL的方法
  6. springboot+zuul(一)------实现自定义过滤器、动态路由、动态负载。
  7. Python模块: 文件和目录os+shutil
  8. mongodb操作技巧
  9. SpringMVC之使用 POJO 对象绑定请求参数值
  10. Netty 出站缓冲区 ChannelOutboundBuffer 源码解析(isWritable 属性的重要性)