ride / lib-log
Ride框架的日志库
1.2.0
2023-08-23 13:35 UTC
Requires
- ride/lib-common: ^1.0.0
README
PHP Ride框架的日志库。
日志用于记录事件历史或调试应用程序。
本库包含的内容
LogMessage
日志消息定义了正在执行的操作或发生的事件。
它包括以下内容:
- 级别:错误、警告、信息或调试
- 标题:消息的标题
- 描述:关于消息的详细信息
- 日期:事件的时间和日期
- 微秒:应用程序运行中的微秒数
- id:日志会话的id
- 来源:记录消息的库或模块
- 客户端:客户端id(例如,IP地址)
LogSession
LogSession 是一组属于同一组的日志消息。例如,处理相同HTTP请求的所有已记录消息。
Log
日志对象是库的包装器,它提供了一个简单的接口来记录消息。它使用观察者模式将记录的消息分配给日志的监听器。
LogListener
日志监听器执行消息的实际记录操作。最常见的事情是将日志消息写入文件。已经提供了一个仅执行此操作的实现。
BrowsableLogListener
可浏览的日志监听器是常规日志监听器的扩展。它增加了从日志检索和检查日志消息的功能。
代码示例
查看此代码示例以了解此库的用途
<?php use ride\library\decorator\LogMessageDecorator; use ride\library\log\listener\BrowseableFileLogListener; use ride\library\log\Log; // obtain the client and generate a log session id $client = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : 'unknown'; $logSessionId = 'abc123'; // create a listener $listener = new BrowseableFileLogListener('/path/to/log.file'); // make sure it's writable $listener->setFileTruncateSize(512); // in kilobytes $listener->setLogMessageDecorator(new LogMessageDecorator()); // formats the log messages // create the log object $log = new Log(); $log->setId($logSessionId); $log->setClient($client); $log->addLogListener($listener); // do some logging $log->logDebug('Debug message'); $log->logInformation('Information message', 'with a description', 'source'); $log->logWarning('Warning message', 'with a description', 'my-module'); $log->logError('Debug message', 'with a description'); $log->logException(new Exception('A exception')); // browse the log $logSessions = $listener->getLogSessions(array('limit' => 10, 'page' => 2), $pages); $logSession = $listener->getLogSession($logSessionId); $logMessages = $logSession->getLogMessages(); $logMessages = $logSession->getLogMessagesBySource('my-module'); $logMessages = $logSession->getLogMessagesByQuery('message');
安装
您可以使用 Composer 安装此库。
composer require ride/lib-log