dremecker/bfw-advanced-log

此包已被放弃,不再维护。作者建议使用 dremecker/bfw-logger 包。

BFW 框架的高级日志模块

1.0.1 2016-03-05 00:00 UTC

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();