QPM 使用日志,接入第三方日志
来源:互联网 发布:卫星地图软件 编辑:程序博客网 时间:2024/06/05 18:52
关于QPM:
QPM全名是 Quick Process Management Framework for PHP. PHP 是强大的web开发语言,以至于大家常常忘记PHP 可以用来开发健壮的命令行(CLI)程序以至于daemon程序。 而编写daemon程序免不了与各种进程管理打交道。QPM正式为简化进程管理而开发的类库。QPM的项目地址是: https://github.com/Comos/qpm
安装和使用PHP进程管理框架 QPM
使用QPM编写PHP 多进程程序
使用qpm创建daemon程序
PHP Daemon开发-使用QPM管理PID文件
PHP使用QPM实现多进程并行任务处理程序
在QPM中使用日志
Daemon程序开发时,日志记录至关重要,很多问题的排查,性能分析,错误监控等都依赖日志进行。
QPM 的日志模块支持三种模式-关闭、简单模式 和 接入第三方模块模式。
关闭日志
默认情况,QPM日志是关闭的, 也可通过如下代码关闭已经开启的日志。
qpm\log\Logger::useNullLogger();
简单模式
简单模式主要提供给程序开发、调试 和演示用,生产环境建议和公共日志模块进行整合。
开启简单模式,需要传入日志文件路径:
qpm\log\Logger::useSimpleLogger('/tmp/qpm.log');
使用第三方日志
由于QPM 对接了 Psr\Log\LoggerInterface, 因此,只要符合 PHP-FIG psr-3的日志模块,均可接入。
例如,Monolog 就是一个psr-3的实现。下面是在QPM使用Monolog的例子。
在一个新目录下,建立 composer.json文件:
{ "require": { "monolog/monolog": ">1.12", "Comos/qpm":">=0.3" }}
执行如下命令:
composer install
编写PHP代码:qpm_monolog_demo.php
<?phpuse Monolog\Handler\StreamHandler;use Monolog\Logger;include __DIR__.'/vendor/autoload.php';$logger = new Logger('qpm');$logger->pushHandler(new StreamHandler(__FILE__.'.log'));//初始化qpm的Loggerqpm\log\Logger::setLoggerImpl($logger);function doSomething(){ sleep(1); throw new Exception('xxx');}qpm\supervisor\Supervisor::oneForOne(['runnableCallback' => 'doSomething'])->start();
命令行执行 php qpm_monolog_demo.php
同一目录下会生成 qpm_monolog_demo.php.log文件, 进程的停启用 和 异常信息,都被记录在案。
- QPM 使用日志,接入第三方日志
- 日志处理 一:使用第三方工具进行日志处理
- CocoaPods第三方管理日志
- swift日志打印第三方库QorumLogs的使用
- ios 查看崩溃日志(使用第三方软件)
- 如何使用 OAuth 接入第三方用户信息
- .net 一些日志记录第三方工具
- C++第三方日志库Pantheios
- C#第三方日志库Nlog
- iOS开发日志输出第三方库
- C++第三方日志库Pantheios
- Android日志系统第三方库------Logger
- vs引用第三方日志库方法
- 第三方sdk接入
- kidd风的IOS日志之第三方-SDWebImage的使用
- logback日志接入
- web第三方登录接入
- 第三方SDK接入--Vitamio
- java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver解决方法!
- 哈希算法
- Shell教程
- 'tex2Dproj': no matching 2 paramete
- C++ tree(1)
- QPM 使用日志,接入第三方日志
- Unix Command
- 缓冲区的运用
- Just4Fun - Comparaison between const and readonly in C#
- day08-request&responseのPPT学习
- day08-request&responseの代码练习
- WebView loadData 乱码
- 删除github的master分支
- LeetCode 题解(73): Roman to Integer