cdoco
V2EX  ›  PHP

一个基于 easylogging++ 的 PHP 扩展高性能日志库

  •  2
     
  •   cdoco · Jul 7, 2017 · 3476 views
    This topic created in 3254 days ago, the information mentioned may be changed or developed.

    Easylog

    一个基于 Easylogging++ 的 php 扩展高性能日志库

    安装

    //clone 目录
    git clone https://github.com/cdoco/easylog
    //编译安装
    cd easylog && phpize && ./configure && make && make install
    

    使用

    配置 php.ini

    extension=easylog.so
    
    [easylog]
    //需要配置文件 配置文件的格式见下文
    easylog.config_file = "/data/easylog.conf"
    
    //配置日志级别 目前支持级别: global trace debug fatal error warning verbose info unknown
    easylog.log_level = "info"
    

    快速开始

    <?php
        //设置日志级别
        Easylog::setLevel(Easylog::ERROR);
    
        //自定义格式符
        Easylog::setCustomFormat("%ip", "172.16.2.111");
    
        //设置 logger ID
        //这个 id 必须在配置文件中存在
        $easylog = new Easylog("easylog");
    
        //设置 info 级别的格式
        $easylog->setFormat(Easylog::INFO, "[%datetime{%Y-%M-%d %H:%m:%s}] %logger.%level %ip | %msg");
    
        $easylog->info("info");
        $easylog->warning("warning");
        $easylog->error("error");
        $easylog->debug("debug");
        $easylog->trace("trace");
        $easylog->fatal("fatal");
    
        $zy = new Easylog("zy");
    
        //设置格式化符
        $zy->setFormat(Easylog::GLOBAL, "[%datetime{%Y-%M-%d %H:%m:%s}] %logger.%level | %msg");
    
        //设置是否需要写到文件
        $zy->setToFile(Easylog::GLOBAL, "true");
    
        //设置写到文件的文件名
        $zy->setFileName(Easylog::GLOBAL, "/data/logs/php/zy.log");
    
        $zy->info("info");
        $zy->warning("warning");
    

    配置文件

    -- default // logger id
        * GLOBAL:
            ENABLED                 =   true
            TO_FILE                 =   true
            TO_STANDARD_OUTPUT      =   true
            FORMAT                  =   "[%datetime{%Y-%M-%d %H:%m:%s}] %logger.%level | %msg"
            FILENAME                =   "/data/logs/php/log_%datetime{%Y%M%d}.log"
            MILLISECONDS_WIDTH      =   3
            PERFORMANCE_TRACKING    =   false
            MAX_LOG_FILE_SIZE       =   1048576
            LOG_FLUSH_THRESHOLD     =   0
    
        * TRACE:
            FILENAME                =   "/data/logs/php/trace_%datetime{%Y%M%d}.log"
    
        * DEBUG:
            FILENAME                =   "/data/logs/php/debug_%datetime{%Y%M%d}.log"
    
        * FATAL:
            ENABLED                 =   false 
    
        * ERROR:
            FILENAME                =   "/data/logs/php/error_%datetime{%Y%M%d}.log"
    
        * WARNING:
            FILENAME                =   "/data/logs/php/warning_%datetime{%Y%M%d}.log"
    
        * INFO:
            FILENAME                =   "/data/logs/php/info_%datetime{%Y%M%d}.log"
    
        * VERBOSE:  
            ENABLED                 =   false
    
    -- easylog // logger id
        * GLOBAL:
            ENABLED                 =   true
            TO_FILE                 =   true
            TO_STANDARD_OUTPUT      =   true
            FORMAT                  =   "[%datetime{%Y-%M-%d %H:%m:%s}] %logger.%level | %msg"
            FILENAME                =   "/data/logs/php/easylog/log_%datetime{%Y%M%d}.log"
            MILLISECONDS_WIDTH      =   3
            PERFORMANCE_TRACKING    =   false
            MAX_LOG_FILE_SIZE       =   1048576
            LOG_FLUSH_THRESHOLD     =   0
    
        * INFO:
            FILENAME                =   "/data/logs/php/easylog/info_%datetime{%Y%M%d}.log"
    
        * ERROR:
            FILENAME                =   "/data/logs/php/easylog/error_%datetime{%Y%M%d}.log"
    
    4 replies    2017-07-10 09:55:45 +08:00
    crabRunning
        1
    crabRunning  
       Jul 7, 2017
    有个类似的 seaslog
    Roope
        2
    Roope  
       Jul 7, 2017
    高总 6666
    iamfirst
        3
    iamfirst  
       Jul 9, 2017 via Android
    帮顶,最近也在深入了解 php 内核,准备用 c 来写扩展
    cdoco
        4
    cdoco  
    OP
       Jul 10, 2017
    @iamfirst thx, 有时间可以共同探讨下 😀
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5822 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 02:00 · PVG 10:00 · LAX 19:00 · JFK 22:00
    ♥ Do have faith in what you're doing.