zoukankan      html  css  js  c++  java
  • php常用Library

    突然兴起,想总结一下php使用过的类库,当然,是一点一点增加,不会一下子完整哦~

    一、php日志类库 Monolog

         功能强大,可以把日志发送到文件、socket、邮箱、数据库和各种web services。

       可替换性强。

         可扩展和自定义很方便。

    思考:

      如果让我设计,我会考虑提供给用户,

        1、可以直接操作的log对象。

        2、输入流对象,xxxHandler对象,在log对象和输出介质之间抽象一层出来。   // log对象-----> streamHandler----->实际的xxx.txt文档   因为输出介质有可能是txt文档、mysql数据库、邮件、socket发送等等

        //StreamHandler写入磁盘,Mailhandler写入邮件,在Monolog中,xxxHandler对象是堆栈式,流水线处理,即从上到下,先处理MailHandler决定是否邮件发出该日志,完成后,判断是否暂停执行下面的处理,如果

        //如果继续,在走到StreamHandler写入磁盘。。。 这种 堆栈式,线性流水解决方案很棒。

        3、Monolog里面用的是,观察者模式,往log对象中注入多个监听xxxHandler。

        log对象---(观察者模式)------>xxxHandler-------->输出介质

        4、但,,如果是我,就建一个抽象类Handler,把具体模式放在Handler类实现,log对象之间操作Hanlder里面的方法,方法实现用具体的StreamHandler或者MailHandler,但这样就不是流水线式从上到下执行的。在

        只需要执行一个时,用这种方式会更好。

    StreamHandler:把记录写进PHP流,主要用于日志文件。
    SyslogHandler:把记录写进syslog。
    ErrorLogHandler:把记录写进PHP错误日志。
    NativeMailerHandler:使用PHP的mail()函数发送日志记录。
    SocketHandler:通过socket写日志。
    AmqpHandler:把记录写进兼容amqp协议的服务。
    BrowserConsoleHandler:把日志记录写到浏览器的控制台。由于是使用浏览器的console对象,需要看浏览器是否支持。
    RedisHandler:把记录写进Redis。
    MongoDBHandler:把记录写进Mongo。
    ElasticSearchHandler:把记录写到ElasticSearch服务。
    BufferHandler:允许我们把日志记录缓存起来一次性进行处理

    相关链接:

    http://segmentfault.com/a/1190000002775923  //monolog类库详解

  • 相关阅读:
    修复PLSQL Developer 与 Office 2010的集成导出Excel 功能
    Using svn in CLI with Batch
    mysql 备份数据库 mysqldump
    Red Hat 5.8 CentOS 6.5 共用 输入法
    HP 4411s Install Red Hat Enterprise Linux 5.8) Wireless Driver
    变更RHEL(Red Hat Enterprise Linux 5.8)更新源使之自动更新
    RedHat 5.6 问题简记
    Weblogic 9.2和10.3 改密码 一站完成
    ExtJS Tab里放Grid高度自适应问题,官方Perfect方案。
    文件和目录之utime函数
  • 原文地址:https://www.cnblogs.com/zhongyuan/p/4988657.html
Copyright © 2011-2022 走看看