QPM 使用日誌,接入第三方日誌

2021-06-29 02:29:11 字數 1511 閱讀 3187

關於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最簡單的...