• 技术文章 >后端开发 >php教程

    composer - php-fig psr-3 日志接口 怎么理解?monolog有什么牛逼之处?

    2016-06-06 20:40:40原创624

    看这个 PSR 中文版,https://github.com/PizzaLiu/PHP-FIG

    或英文原版:http://www.php-fig.org/

    其中 PRS-0,PSR-1,PSR-2,PSR-4 都比较好理解,

    但是不明白,PSR-3 是什么意思,是说如果写日志类,最好要继承那个接口 还是什么意思?
    http://www.php-fig.org/psr/psr-3/


    还有,看这里 https://packagist.org/explore/

    其中“Popular Packages”第一的是 PSR 的日志类,

    第二的是 monolog 这个日志类,怎么这么屌?
    https://packagist.org/packages/monolog/monolog

    如果用了 monolog 是不是不用管 PSR-3 了?

    回复内容:

    看这个 PSR 中文版,https://github.com/PizzaLiu/PHP-FIG

    或英文原版:http://www.php-fig.org/

    其中 PRS-0,PSR-1,PSR-2,PSR-4 都比较好理解,

    但是不明白,PSR-3 是什么意思,是说如果写日志类,最好要继承那个接口 还是什么意思?
    http://www.php-fig.org/psr/psr-3/


    还有,看这里 https://packagist.org/explore/

    其中“Popular Packages”第一的是 PSR 的日志类,

    第二的是 monolog 这个日志类,怎么这么屌?
    https://packagist.org/packages/monolog/monolog

    如果用了 monolog 是不是不用管 PSR-3 了?

    monolog是符合PSR-3标准的日志类的一种实现

    PSR-3要求继承LoggerInterface主要是处于统一各种组件中日志记录模块接口的意图,理想是所有的第三方模块涉及“记录日志”的都通过接受一个LoggerInterface实例然后按接口来记日志,而无需每个模块各自搞一套“如果要记文件,配置XXX,记db配置YYY,日志文件定期删除配ZZZ”之类的东西

    所以说题主的最后一句话可能倒过来说更好,要求以PSR-3规范记录日志的地方可以用monolog库的实例作为具体实现
    用monolog而不通过LoggerInterface借口的话,达不到PSR-3的初衷


    但这是以“写开源模块”“写第三方组件”为前提的(题主可以查查FIG的全称:)) 实际的业务项目中,确实不管PSR-3也不会怎样

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php php-fig psr composer monolog
    上一篇:url拼接有没有函数可以直接完成的? 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 一文解析PHP元转分的错误示范(附代码实例)• PHP+Socket系列之实现websocket聊天室• PHP+Socket系列之IO多路复用及实现web服务器• PHP+Socket系列之实现客户端与服务端数据传输• PHP socket学习:带你做个简单的socket服务器
    1/1

    PHP中文网