folded / log
将日志信息记录到您的 Web 应用程序的各个通道。
v0.1.2
2020-10-01 18:28 UTC
Requires
- php: >=7.4.0
- monolog/monolog: 2.*
Requires (Dev)
- friendsofphp/php-cs-fixer: 2.*
- pestphp/pest: 0.3.*
- phpunit/phpunit: 9.*
This package is auto-updated.
Last update: 2024-09-17 16:40:17 UTC
README
将日志信息记录到您的 Web 应用程序的各个通道。
摘要
关于
我创建了这个包,以便简单设置 Monolog,使其易于在任何项目中使用。
Folded 是一系列用于轻松设置 Web 应用程序的包,使用即插即用的包。
- folded/action:组织您的 Web 应用程序控制器的方法。
- folded/config:PHP Web 应用程序的配置工具。
- folded/crypt:为您的 Web 应用程序加密和解密字符串。
- folded/exception:为您的 Web 应用程序抛出各种类型的异常。
- folded/history:操作您的 Web 应用程序的浏览器历史记录。
- folded/http:PHP Web 应用程序的 HTTP 工具。
- folded/orm:为您的 Web 应用程序提供的 ORM。
- folded/session:PHP Web 应用程序的会话功能。
- folded/request:PHP Web 应用程序请求工具,包括请求验证器。
- folded/routing:PHP Web 应用程序的路由功能。
- folded/view:PHP Web 应用程序的视图工具。
功能
- 使用 monolog/monolog
- 可以为同一个记录器添加多个“写入通道”(例如:文件、...)
- 支持以下通道
- 文件(例如:StreamHandler)
需求
- PHP 版本 >= 7.4.0
- 已安装 Composer
安装
1. 安装包
在您的根目录中,运行以下命令
composer require folded/log
示例
1. 创建一个文件记录器
在这个例子中,我们将创建一个文件记录器,然后我们将把调试信息记录到我们的日志文件中。
use function Folded\addLogger; use function Folded\addDebugLog; addLogger("myLogger", "file", [ "path" => __DIR__ . "/logs/my-file.log", ]); addDebugLog("myLogger", "This is my first debug log!");
注意,如果您想避免打字错误,可以使用常量来定义文件通道。
use function Folded\addLogger; use function Folded\addDebugLog; use const Folded\CHANNEL_FILE; addLogger("myLogger", CHANNEL_FILE, [ "path" => __DIR__ . "/logs/my-file.log", ]); addDebugLog("myLogger", "This is my first debug log!");
目前只有一个通道
use const Folded\CHANNEL_FILE;
您可以记录各种严重性。以下是所有可用的日志方法
- addAlertLog
- addCriticalLog
- addDebugLog
- addEmergencyLog
- addErrorLog
- addInfoLog
- addNoticeLog
- addWarningLog
2. 在记录时添加额外参数
在这个例子中,我们将推送额外的数据作为键值对,与我们的日志消息一起。
use function Folded\addLogger; use function Folded\addDebugLog; addLogger("myLogger", "file", [ "path" => __DIR__ . "/logs/my-file.log", ]); addDebugLog("myLogger", "a user has registered", [ "timestamp" => 1577836800, ]);
3. 手动选择严重性进行记录
在这个例子中,我们将使用一个 addLog 函数,它允许我们使用字符串选择严重性,从而提供更多灵活性。
use function Folded\addLogger; use function Folded\addLog; addLogger("myLogger", "file", [ "path" => __DIR__ . "/logs/neutral.log", ]); addLog("myLogger", "warning", "User email invalid");
请注意,如果您想避免打字错误,可以使用此库提供的严重性常量
use function Folded\addLogger; use function Folded\addLog; use const Folded\SEVERITY_WARNING; addLogger("myLogger", "file", [ "path" => __DIR__ . "/logs/neutral.log", ]); addLog("myLogger", SEVERITY_WARNING, "User email invalid");
以下是您可以使用的所有严重性的完整列表
use const Folded\SEVERITY_ALERT; use const Folded\SEVERITY_CRITICAL; use const Folded\SEVERITY_DEBUG; use const Folded\SEVERITY_EMERGENCY; use const Folded\SEVERITY_ERROR; use const Folded\SEVERITY_INFO; use const Folded\SEVERITY_NOTICE; use const Folded\SEVERITY_WARNING;
4. 向同一记录器添加另一个通道
在这个例子中,我们的记录器将记录到 2 个不同的文件。
use function Folded\addLogger; use function Folded\addLoggerChannel; addLogger("myLogger"); // First file addLoggerChannel("myLogger", "file", [ "path" => "path/to/file-1.log", ]); // Second file addLoggerChannel("myLogger", "file", [ "path" => "path/to/file-2.log", ]);
现在,每次您调用像 addDebugLog() 这样的日志方法时,日志将写入这两个文件。
当此库能够提供不同类型的通道时,这将非常有用,例如,您将能够同时将日志写入文件和您的 Syslog 通道。