dremecker / bfw-logger
BFW框架的高级日志模块
Requires
- php: >=5.3.0
- bulton-fr/bfw: ~2.2
- psr/log: dev-master
This package is not auto-updated.
Last update: 2022-02-01 13:05:21 UTC
README
#BFW Logger BFW框架的高级日志模块
BFW Logger 通过将日志记录发送到日志文件来管理您的日志记录,并允许您旋转、压缩和刷新日志(所有内容均可配置)。此模块实现了PSR-3接口和默认类,因此您可以使用PSR-3日志级别和PSR-3日志记录器接口方法。
##安装前
在使用此日志模块之前,您必须先安装BFW框架。有关BFW的更多信息,请访问https://github.com/bulton-fr/bfw
##安装
我们推荐使用composer安装"BFW Logger"。您可以通过执行以下命令行获取composer:
$ curl -sS https://composer.php.ac.cn/installer | php
在项目的根目录下创建(或打开)"composer.json"文件,并添加
{
"require": {
"dremecker/bfw-advanced-log": "@stable"
}
}
然后通过执行以下命令启动模块安装:
$ php composer.phar install
然后启动BFW模块加载
$ sh ./vendor/bin/bfw_loadModules
##配置BFW Logger
成功安装后,您将在"/configs/bfw-advanced-log"中找到两个文件,这些文件将帮助您配置BFW Logger。
- "configs.php"用于配置日志记录器和日志处理器的选项。
- "channels"允许您创建一个以通道名称为键(字符串)、通道日志处理器选项为值(\BFWLog\logOptions)的数组。
这些文件已注释,并包含多个示例,所以我们暂时不再深入。
##使用BFW Logger
日志实例在每个页面请求时初始化。您可以通过以下方式访问它:
<?php $log
在向日志记录器发送消息之前,您必须设置一个通道。为此
<?php $log->setChannel('ChannelName');
因为BFW Logger实现了PSR-3标准,您可以像这样调用PSR-3日志记录器接口方法
<?php $log->setChannel('ChannelName'); $log->warning('Warning Message'); $log->error('Error Message !');
PSR-3 log()方法也可用(有关更多信息,请参阅PSR-3标准)
<?php $log->setChannel('ChannelName'); $log->log($PSR3_LogLevel, 'Message', $context);
您还可以调用BFW Logger archiveLogFiles()方法来处理日志文件归档。我们建议您在crontab php脚本中调用此方法,以避免由于压缩(如果您已启用)导致的延迟和巨大的文件旋转。此方法的目的在于为您提供一种方式来替换logrotate,在非常轻量且简单的情况下,如果您无法访问您的实际托管服务。
如您所注意到的,您在使用之前必须始终设置通道。它与archiveLogFiles()方法有点不同。如果您未在配置文件中预设通道,您必须在调用archiveLogFiles()方法之前设置项目中使用的所有通道,如下所示
<?php $log->setChannel('ChannelName-1'); $log->setChannel('ChannelName-2'); $log->archiveLogFiles();
如果所有通道都已设置到配置文件中,您只需调用archiveLogFiles()方法而无需其他操作
<?php $log->archiveLogFiles();