關於qpm:
qpm全名是 quick process management framework for php. php 是強大的web開發語言,以至於大家常常忘記php 可以用來開發健壯的命令列(cli)程式以至於daemon程式。 而編寫daemon程式免不了與各種程序管理打交道。qpm正式為簡化程序管理而開發的類庫。qpm的專案位址是:
安裝和使用php程序管理框架 qpm
使用qpm編寫php 多程序程式
使用qpm建立daemon程式
php daemon開發-使用qpm管理pid檔案
php使用qpm實現多程序並行任務處理程式
daemon程式開發時,日誌記錄至關重要,很多問題的排查,效能分析,錯誤監控等都依賴日誌進行。
qpm 的日誌模組支援三種模式-關閉、簡單模式 和 接入第三方模組模式。
預設情況,qpm日誌是關閉的, 也可通過如下**關閉已經開啟的日誌。
qpm\log\logger::usenulllogger();
簡單模式主要提供給程式開發、除錯 和演示用,生產環境建議和公共日誌模組進行整合。
開啟簡單模式,需要傳入日誌檔案路徑:
qpm\log\logger::use******logger('/tmp/qpm.log');
由於qpm 對接了 psr\log\loggerinte***ce, 因此,只要符合 php-fig psr-3的日誌模組,均可接入。
例如,monolog 就是乙個psr-3的實現。下面是在qpm使用monolog的例子。
在乙個新目錄下,建立 composer.json檔案:
}
執行如下命令:
composer install
編寫php**:qpm_monolog_demo.php
<?php
usemonolog\handler\streamhandler;
usemonolog\logger;
include
__dir__.'/vendor/autoload.php';
$logger = new logger('qpm');
$logger->pushhandler(new streamhandler(__file__.'.log'));
//初始化qpm的logger
qpm\log\logger::setloggerimpl($logger);
function
dosomething
()qpm\supervisor\supervisor::oneforone(['runnablecallback' => 'dosomething'])->start();
命令列執行 php qpm_monolog_demo.php
同一目錄下會生成 qpm_monolog_demo.php.log檔案, 程序的停啟用 和 異常資訊,都被記錄在案。
第三方日誌庫logrus使用
日誌是程式中必不可少的乙個環節,由於go語言內建的日誌庫功能比較簡潔,我們在實際開發中通常會選擇使用第三方的日誌庫來進行開發。本文介紹了logrus這個日誌庫的基本使用。logrus是go golang 的結構化logger,與標準庫logger完全api相容。它有以下特點 go get githu...
Go第三方日誌庫logrus
目錄 六 字段 七 預設字段 八 日誌條目 九 hooks 十 格式化 十一 記錄函式名 go 從入門到放棄完整教程目錄 更有python go pytorch tensorflow 爬蟲 人工智慧教學等著你 更新 更全的 go從入門到放棄 的更新 更有python go 人工智慧教學等著你 日誌是...
Go第三方日誌庫logrus
日誌是程式中必不可少的乙個環節,由於go語言內建的日誌庫功能比較簡潔,我們在實際開發中通常會選擇使用第三方的日誌庫來進行開發。本文介紹了logrus這個日誌庫的基本使用。logrus是go golang 的結構化logger,與標準庫logger完全api相容。它有以下特點 使用logrus最簡單的...