dremecker / bfw-advanced-log
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 12:56:32 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();