seablast/logger 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

seablast/logger

Composer 安装命令:

composer require seablast/logger

包简介

A PSR-3 compliant error_log() logger with adjustable verbosity.

README 文档

README

Total Downloads Latest Stable Version Polish the code

A PSR-3 compliant logger with adjustable verbosity.

The logging level verbosity can be tailored to suit different environments. For instance, in a development environment, the logger can be configured to log more detailed information compared to a production environment, all without changing your code. Simply adjust the verbosity.

Internally, messages are written through PHP's error_log() function, either to PHP's system logger or to configured log files.

The logging_level controls verbosity. Lower numbers are more severe, and the logger writes messages whose level is less than or equal to the configured level. These parameters can be configured when instantiating the logger:

use Seablast\Logger\Logger;
$conf = array(
    // THESE ARE THE DEFAULT SETTINGS
    // 0 = send message to PHP's system logger; 3 appends to the file destination set in 'logging_file'
    Logger::CONF_ERROR_LOG_MESSAGE_TYPE => 0,
    // if error_log_message_type equals 3, the message is appended to this file destination (path and name);
    // keep this path trusted and outside the public web directory
    Logger::CONF_LOGGING_FILE => '',
    // verbosity: log up to the level set here, default=5 = debug; level 6 = speed is ignored by default
    Logger::CONF_LOGGING_LEVEL => 5,
    // rename or renumber, if needed
    Logger::CONF_LOGGING_LEVEL_NAME => array(0 => 'unknown', 1 => 'fatal', 'error', 'warning', 'info', 'debug', 'speed'),
    // minimum configured verbosity needed to log page-speed messages, i.e. messages with error_number 6
    Logger::CONF_LOGGING_LEVEL_PAGE_SPEED => 5,
    // false => use logging_file with log extension as destination; true => adds .Y-m.log to the logging file
    Logger::CONF_LOG_MONTHLY_ROTATION => true,
    // prefix message that took longer than profiling step (float) sec from the previous one by SLOWSTEP
    Logger::CONF_LOG_PROFILING_STEP => false,
    // fatal error may just be written in log, on production, it is however recommended to set an e-mail, where to announce fatal errors
    Logger::CONF_MAIL_FOR_ADMIN_ENABLED => false,
);
$logger = new Logger($conf);

See test.php for usage.

Security note: logging_file is a filesystem destination. Keep it under application control, do not fill it directly from user input, environment values, or request data without validation, and prefer a directory outside the public web root so logs cannot be downloaded by clients. Log entries can include diagnostic data such as script paths and full request URIs, including query strings, so treat log files as sensitive data available only to authorized operators.

When using log() directly, pass a standard PSR-3 string level such as LogLevel::INFO or a numeric level from CONF_LOGGING_LEVEL_NAME. The optional context key error_number, or the first numeric context value, selects the category written in the log prefix; other PSR-3 context values are left untouched and are not interpolated into the message.

By default the logger logs the following levels of information:

  • fatal
  • error
  • warning
  • info
  • debug

And ignores

  • speed

Note: Outputting log messages to the screen is not supported.

Runtime adjustment

  • method logAtLeastToLevel(int $level) may raise the verbosity level above the level set when instantiating.
  • method setUser(int|string $user) may add the user identification to the error messages

Tracy\Logger::log wrapper

Since Tracy 2.6.0 it is possible to use a PSR-3 adapter, allowing integration with seablast/logger. This package currently keeps "php": ">=7.2 <8.6".

$logger = new \Seablast\Logger\Logger();
$tracyLogger = new \Tracy\Bridges\Psr\PsrToTracyLoggerAdapter($logger);
Debugger::setLogger($tracyLogger);
Debugger::enable();

seablast/logger 适用场景与选型建议

seablast/logger 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 8.11k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2024 年 07 月 12 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 seablast/logger 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 seablast/logger 我们能提供哪些服务?
定制开发 / 二次开发

基于 seablast/logger 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 8.11k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 30
  • 依赖项目数: 2
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-07-12