linkorb/flex-log

monolog-cascade的简单封装,增加了实用工具

v1.0.1 2023-02-03 09:26 UTC

This package is auto-updated.

Last update: 2024-08-30 01:26:13 UTC


README

FlexLog:为您的应用程序提供灵活可配置的日志记录

允许通过环境变量和配置文件重新配置应用程序日志记录器的处理器、处理器和格式化程序。

FlexLog 是围绕优秀的monolog-cascade库的一个非常薄的封装。

它增加了

  • 基于由环境变量 FLEX_LOG 指定的配置文件的简单初始化
  • 确保应用程序期望的所有日志记录器都始终添加到 Monolog 的注册表中,即使没有使用级联配置文件,或者缺少对该日志记录器名称的定义。

配置

## Specify a cascade config file (yaml):
FLEX_LOG=/path/to/my/cascade.yaml

用法

在应用程序的最早入口点(index.php、bootstap.php 等)中,添加以下行以初始化 FlexLog

use FlexLog\FlexLog;

FlexLog::initFromEnv()
FlexLog::ensureLoggers(['app', 'db', 'caching']); // ensures that loggers with these names exist and are registered

然后,从应用程序的任何位置,像往常一样记录到 monolog。例如,使用 Monolog 的注册表

$username = 'joe';
\Monolog\Registry::app()->info("User {username} logged in", ['username' => $username]);

一个完整的示例可以在 tests/ 中的测试用例中找到

测试

./vendor/bin/phpunit --bootstrap vendor/autoload.php tests/

链接