cymapgt / logger
Monolog 的包装器。根据日志级别提供自定义处理器和自定义日志级别
Requires
- php: >=7.2.0
- cymapgt/notifier: ^3.0.0
- monolog/monolog: ^1.0.0
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-22 22:10:23 UTC
README
Monolog 库的包装器。默认实现自定义日志级别。基于日志的重要性,自定义日志级别允许将日志记录到文件、电子邮件、短信或它们的组合
描述
日志包站在巨人的肩膀上;Monolog 库是 PHP 的实际日志库,支持多个通道,以及自定义通道的构建,正如 cymapgt 日志器的 SmsChannel 所做的那样。因此,日志包的大部分实现都致力于配置,而繁重的日志工作则委托给优雅的 Monolog。
安装
通过 Composer 安装应用程序
require "cymapgt/logger" : "^1.0.0"
用法
概述
日志包实现了以下日志策略
-Stderr 日志记录器:可以通过此功能为 CLI 应用程序提供流日志功能
-Logger Level1:此应用程序将为默认目的地提供基本日志服务。此日志记录器的默认目的地通常是文件或数据库。因此,必须提供日志目录。另一种选择是数据库,但目前尚未实现。
-Logger Level 2:这将仍然为日志文件和电子邮件提供日志服务。它用于需要更多立即注意的日志项。
-Logger Level 3:这将提供日志文件、电子邮件以及短信的日志服务。这种策略背后的想法是在应用程序可能需要通过逐渐选择使用哪个日志级别来提供更响应的日志消息时,启用优雅的升级。
-Logger 安全:安全日志记录器将为单独的安全文件提供与安全相关的日志
-Logger 警报:这仍在设计中,是 Logger 安全类的升级版本
使用日志包
命名常量
//Log levels for Logger Class
if (!(defined('LOGGER_STDERR'))) {
define('LOGGER_STDERR', 0);
}
if (!(defined('LOGGER_LEVEL1'))) {
define('LOGGER_LEVEL1', 1);
}
if (!(defined('LOGGER_LEVEL2'))) {
define('LOGGER_LEVEL2', 2);
}
if (!(defined('LOGGER_LEVEL3'))) {
define('LOGGER_LEVEL3', 3);
}
if (!(defined('LOGGER_SECURITY'))) {
define('LOGGER_SECURITY', 4);
}
初始化日志
您需要具有引导程序包,您将使用它来设置此包在文件 cymapgt.network.ini 中的 [logger] 组配置;例如。
有关如何运行此配置的信息,请参阅 cymapgt/bootstrap 文档。
[logger]
logger_file_location = '/var/www/html/logger_test.txt'
logger_security_file_location = '/var/www/html/logger_security.txt'
logger_email_alert_administrators = '{"cogana@gmail.com": "Cyril Ogana"}'
logger_sms_alert_administrators = '254123456789'
logger_email_alert_subject = 'SYSTEM IMPORTANT LOG MESSAGE ALERT'
logger_email_security_alert_administrators = '{"cogana@gmail.com": "Cyril Ogana"}'
logger_sms_security_alert_administrators = '254123456789'
logger_email_security_alert_subject = 'SYSTEM IMPORTANT LOG MESSAGE ALERT'
日志示例
use cymapgt\core\utility\bootstrap\Bootstrap;
use cymapgt\core\utility\logger\Logger;
$loggerDbError = Logger::getLogger(\LOGGER_SECURITY, Bootstrap::LoggerSecurityParams());
$loggerDbError->addError('Critical error, the core database is down'); //log to file, email and sms
测试
此包提供了 PHPUnit 测试
贡献
- 通过电子邮件 @rhossis 或通过 Skype 联系
- 您将作为作者加入贡献
许可证
BSD 3 条款