fyre / log
一个日志库。
v3.0.12
2024-06-29 06:41 UTC
Requires
- fyre/filesystem: ^2.0
- fyre/path: ^2.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.59
- fyre/php-cs-fixer-config: ^1.0
- phpunit/phpunit: ^10
README
FyreLog 是一个免费的、开源的 PHP 日志库。
目录
安装
使用 Composer
composer require fyre/log
在 PHP 中
use Fyre\Log\Log;
方法
清除
清除实例和配置。
Log::clear();
获取配置
获取 Logger 配置。
$key是表示 Logger 键的字符串。
$config = Log::getConfig($key);
或者,如果省略了 $key 参数,将返回包含所有配置的数组。
$config = Log::getConfig();
获取键
获取 Logger 实例的键。
$logger是 Logger。
$key = Log::getKey($logger);
检查配置
检查是否存在 Logger 配置。
$key是表示 Logger 键的字符串,默认为Log::DEFAULT。
$hasConfig = Log::hasConfig($key);
检查加载
检查 Logger 实例是否已加载。
$key是表示 Logger 键的字符串,默认为Log::DEFAULT。
$isLoaded = Log::isLoaded($key);
加载
加载 Logger。
$config是一个包含配置选项的数组。
$logger = Log::load($config);
设置配置
设置 Logger 配置。
$key是表示 Logger 键的字符串。$options是一个包含配置选项的数组。
Log::setConfig($key, $options);
或者,可以提供一个包含配置选项键/值的单个数组。
Log::setConfig($config);
卸载
卸载 Logger。
$key是表示 Logger 键的字符串,默认为Log::DEFAULT。
$unloaded = Log::unload($key);
使用
加载一个共享的 Logger 实例。
$key是表示 Logger 键的字符串,默认为Log::DEFAULT。
$logger = Log::use($key);
日志记录器
您可以通过指定上面 $config 变量的 className 选项来加载特定的记录器。
自定义记录器可以通过扩展 \Fyre\Log\Logger 来创建,确保实现以下所有方法。
能否处理
确定是否可以处理日志级别。
$level是表示日志级别的数字。
$canHandle = $logger->canHandle($level);
默认情况下,如果 $level 小于或等于记录器配置中定义的 threshold,则此方法将返回 true,否则返回 false。
处理
处理消息日志。
$type是表示日志类型的字符串。$message是表示日志消息的字符串。
$logger->handle($type, $message);
文件
可以通过自定义配置来加载文件记录器。
$key是表示记录器键的字符串。$options是一个包含配置选项的数组。className必须设置为\Fyre\Log\Handlers\FileLogger。dateFormat是表示日期格式的字符串,默认为 "Y-m-d H:i:s"。threshold是表示日志阈值的数字,默认为 0。suffix是表示文件名后缀的字符串,默认为 null。path是表示目录路径的字符串,默认为 "/var/log"。extension是表示文件扩展名的字符串,默认为 "log"。maxSize表示日志轮转之前的最大文件大小,默认值为 1048576。
Log::setConfig($key, $options); $logger = Log::use($key);
日志
通常,通过调用 Log 类的静态方法来进行日志记录。
这将调用所有定义的日志配置的 canHandle 方法,如果返回 true 则也会调用 handle 方法。
默认的日志级别如下(按严重性顺序)。
$message是表示日志消息的字符串。$data是一个包含要插入到消息字符串中的数据的数组。
Log::emergency($message, $data); // 1 Log::alert($message, $data); // 2 Log::critical($message, $data); // 3 Log::error($message, $data); // 4 Log::warning($message, $data); // 5 Log::notice($message, $data); // 6 Log::info($message, $data); // 7 Log::debug($message, $data); // 8
日志消息中也可以使用默认的占位符。
- {post_vars} 将被替换为
$_POST数据。 - {get_vars} 将被替换为
$_GET数据。 - {server_vars} 将被替换为
$_SERVER数据。 - {session_vars} 将被替换为
$_SESSION数据。 - {backtrace} 将被替换为堆栈跟踪。
有关消息格式化的详细信息,请参阅 MessageFormatter::formatMessage 方法。