• 维护了 一个老项目, 没有日志功能, 就给加了这个log4php,  主要是集成进去很简单,使用起来也够用了。

1、下载log4php

2、创建配置文件

  1. log4php_config.xml
  1. <configuration xmlns="http://logging.apache.org/log4php/">
  2. <appender name="default" class="LoggerAppenderConsole" />
  3.  
  4. <appender name="basic_file_appender" class="LoggerAppenderDailyFile">
  5. <layout class="LoggerLayoutPattern">
  6. <param name="conversionPattern" value="%date [%logger] %message%newline" />
  7. </layout>
  8. <param name="file" value="log/app.%s.log" /> // log文件夹下 以日期命名的log文件
  9. <param name="datePattern" value="Y-m-d" />
  10. </appender>
  11. <root>
  12. <level value="debug" />
  13. <appender_ref ref="basic_file_appender"/>
  14. </root>
  15.  
  16. <appender name="route_file_appender" class="LoggerAppenderDailyFile">
  17. <layout class="LoggerLayoutPattern">
  18. <param name="conversionPattern" value="%date %p [%logger] %message%newline" />
  19. </layout>
  20. <param name="file" value="log/route.%s.log" />
  21. <param name="threshold" value="error"/>
  22. <param name="append" value="true" />
  23. <param name="datePattern" value="Y-m-d" />
  24. </appender>
  25. <logger name="Route">
  26. <level value="debug" />
  27. <appender_ref ref="route_file_appender" />
  28. </logger>
  29.  
  30. <appender name="session_file_appender" class="LoggerAppenderDailyFile">
  31. <layout class="LoggerLayoutPattern">
  32. <param name="conversionPattern" value="%date [%logger] %message%newline" />
  33. </layout>
  34. <param name="file" value="log/session.%s.log" />
  35. <param name="datePattern" value="Y-m-d" />
  36. </appender>
  37. <logger name="Session">
  38. <level value="debug" />
  39. <appender_ref ref="session_file_appender" />
  40. </logger>
  41.  
  42. <appender name="InventoryTransaction_file_appender" class="LoggerAppenderDailyFile">
  43. <layout class="LoggerLayoutPattern">
  44. <param name="conversionPattern" value="%date [%logger] %message%newline" />
  45. </layout>
  46. <param name="file" value="log/InventoryTransaction.%s.log" />
  47. <param name="datePattern" value="Y-m-d" />
  48. </appender>
  49. <logger name="InventoryTransaction">
  50. <level value="debug"/>
  51. <appender_ref ref="InventoryTransaction_file_appender" />
  52. </logger>
  53.  
  54. <appender name="Reserve_file_appender" class="LoggerAppenderDailyFile">
  55. <layout class="LoggerLayoutPattern">
  56. <param name="conversionPattern" value="%date [%logger] %message%newline" />
  57. </layout>
  58. <param name="file" value="/data0/wmsinventoryapi/Reserve.%s.log" />
  59. <param name="datePattern" value="Y-m-d.H" />
  60. </appender>
  61. <logger name="Reserve">
  62. <level value="debug"/>
  63. <appender_ref ref="Reserve_file_appender" />
  64. </logger>
  65.  
  66. <appender name="Exception_file_appender" class="LoggerAppenderDailyFile">
  67. <layout class="LoggerLayoutPattern">
  68. <param name="conversionPattern" value="%date [%logger] %message%newline" />
  69. </layout>
  70. <param name="file" value="log/exception.%s.log" />
  71. <param name="datePattern" value="Y-m-d" />
  72. </appender>
  73. <logger name="Exception">
  74. <level value="error"/>
  75. <appender_ref ref="Exception_file_appender" />
  76. </logger>
  77.  
  78. </configuration>

3、LOG类

  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: an
  5. * Date: 2019/4/3
  6. * Time: 4:35 PM
  7. */
  8. require_once('vendor/log4php/Logger.php');
  9. Logger::configure('vendor/log4php/log4php_config.xml'); // 引入第二步创建的xml配置文件
  10.  
  11. class L
  12. {
  13. public static function __callStatic($name, $args)
  14. {
  15. $log = Logger::getLogger('app');
  16.  
  17. switch ($name)
  18. {
  19. case 'error':
  20. $log->error($args);
  21. break;
  22. case 'info':
  23. $log->info($args);
  24. break;
  25. case 'warn':
  26. $log->warn($args);
  27. break;
  28. case 'debug':
  29. $log->debug($args);
  30. break;
  31. case 'fatal':
  32. $log->fatal($args);
  33. break;
  34. default:
  35. break;
  36. }
  37. }
  38. }

4、使用

  1. L::debug('日志要记录的内容');
  2. L::info('日志要记录的内容');

PHP日志 LOG4PHP 的配置与使用的更多相关文章

  1. 如何在 ETL 项目中统一管理上百个 SSIS 包的日志和包配置框架

    一直准备写这么一篇有关 SSIS 日志系统的文章,但是发现很难一次写的很完整.因为这篇文章的内容可扩展的性太强,每多扩展一部分就意味着需要更多代码,示例和理论支撑.因此,我选择我觉得比较通用的 LOG ...

  2. log4net 日志框架的配置

    log4net 日志框架的配置——静态文件(一) 添加对log4net程序集的引用 选择程序集文件添加引用即可,需要注意的是需要添加相应程序版本的程序集,如果你的应用是基于.netFramework2 ...

  3. django 日志logging的配置以及处理

    django日志官方文档https://docs.djangoproject.com/en/1.11/topics/logging/ 本文摘自http://davidbj.blog.51cto.com ...

  4. springmvc 项目完整示例05 日志 --log4j整合 配置 log4j属性设置 log4j 配置文件 log4j应用

    log4j 就是log for java嘛,老外都喜欢这样子,比如那个I18n  ---internationalization  不就是i和n之间有18个字母... http://logging.a ...

  5. eclipse集成tomcat日志文件输出配置

    eclipse集成tomcat日志文件输入配置 2015-07-21 00:13 1072人阅读 评论(0) 收藏 举报  分类: tomcat(1)  eclipse Where can I vie ...

  6. Spark进阶之路-日志服务器的配置

    Spark进阶之路-日志服务器的配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如果你还在纠结如果配置Spark独立模式(Standalone)集群,可以参考我之前分享的笔记: ...

  7. 010 Spark中的监控----日志聚合的配置,以及REST Api

    一:History日志聚合的配置 1.介绍 Spark的日志聚合功能不是standalone模式独享的,是所有运行模式下都会存在的情况 默认情况下历史日志是保存到tmp文件夹中的 2.参考官网的知识点 ...

  8. phpunit 生成三种日志文件的配置方法

    #目录结构 windows bin目录下 ├── phpunit.phar ├── phpunit.cmd ├── phpunit.xml ├── build.xml ├── ArrTest.php ...

  9. 咏南中间件更新日志--将数据库配置独立成DBCONFIG.EXE

    咏南中间件更新日志--将数据库配置独立成DBCONFIG.EXE.

随机推荐

  1. HttpContext在多线程异步调用中的使用方案

    1.在线程调用中,有时候会碰到操作文件之类的功能.对于开发人员来说,他们并不知道网站会被部署在服务器的那个角落里面,因此根本无法确定真实的物理路径(当然可以使用配置文件来配置物理路径),他们唯一知道的 ...

  2. JS实现单链表、单循环链表

    链表 链表是一种物理存储单元上非线性.非连续性的数据结构(它在数据逻辑上是线性的),它的每个节点由两个域组成:数据域和指针域.数据域中存储实际数据,指针域则存储着指针信息,指向链表中的下一个元素或者上 ...

  3. C#在不同平台下DLL的引用问题

    缘起 很多时候,我们需要引用在不同平台下的DLL,32位(X86)和64位(X64).如果平台错误,在C#中会引发BadImageFormatException异常. 解决思路 我们同时不能添加不同平 ...

  4. UNIX 5种I/O模型

    Unix 5 I/O模型 I/O操作分为两步: (1)先将数据从 存储介质 (磁盘或者网络等)拷贝到 内核缓冲区,此时称为数据准备好,可以被用户读取. (2)由用户应用程序拷贝内核缓冲区数据 到用户缓 ...

  5. javascript闭包中循环问题

    如下的html,为什么每次输出都是5,而不是点击每个p,就alert出对应的1,2,3,4,5. <html > <head> <meta http-equiv=&quo ...

  6. iframe 子页面改变父页面样式

    iframe 子窗口调节父窗口样式: $(window.parent.document).find("body").attr("style"," 父元 ...

  7. JSTL数据格式化

    日期表示 <fmt:formatDate value="${DATE1}" pattern="yyyy-MM-dd hh:mm:ss" type=&quo ...

  8. URL传递中文:Server.UrlEncode与Server.UrlDecode

    1.设置web.config文件. <system.web>  ......  <globalization requestEncoding="gb2312" r ...

  9. 多线程 读写锁SRWLock

    在<秒杀多线程第十一篇读者写者问题>文章中我们使用事件和一个记录读者个数的变量来解决读者写者问题.问题虽然得到了解决,但代码有点复杂.本篇将介绍一种新方法——读写锁SRWLock来解决这一 ...

  10. 跳过图片反盗链js

    页面增加<iframe> <iframe id="ifa" style="display:none" /> 原来html: <im ...