zozlak/logging

处理HTTP Accept头部的方法集合

1.0.1 2023-10-30 17:13 UTC

This package is auto-updated.

Last update: 2024-08-30 01:23:21 UTC


README

Latest Stable Version Build Status Coverage Status License

日志记录

一个简单的基于文件的PSR-3日志库。

  • 提供基本严重级别过滤功能
  • 可作为单例使用
    • 也支持多个日志
  • 能够序列化数组和对象(首先尝试使用__toString(),然后应用json_encode()
  • 支持占位符(参见PSR-3)
  • 与从1开始的PSR-3所有版本兼容

安装

composer require zozlak/logging

使用

// simplest possible logging
$log = new \zozlak\logging\Log('log_file');
$log->info('message');

// logging to standard out/err
$log = new \zozlak\logging\Log('php://stdout');
$log->info('message');
$log = new \zozlak\logging\Log('php://stderr');
$log->info('message');

// message formatting and filtering
$log = new \zozlak\logging\Log('log_file', \Psr\Log\LogLevel::INFO, "{LEVEL}:{TIMESTAMP}:{FILE}:{LINE}:{MESSAGE}");
$log->info('message');
$log->debug('skipped message');

// singleton example
$log = new \zozlak\logging\Log('log_file');
\zozlak\logging\Logger::addLog($log);
\zozlak\logging\Logger::info('message');

// singleton with multiple logs
$logAll = new \zozlak\logging\Log('log_all');
$logErrors = new \zozlak\logging\Log('log_errors', \Psr\Log\LogLevel::ERROR);
\zozlak\logging\Logger::addLog($logAll, 'all');
\zozlak\logging\Logger::addLog($logErrors, 'error');

\zozlak\logging\Logger::info('message1', [], 'all');
\zozlak\logging\Logger::error('message2', [], 'error');
\zozlak\logging\Logger::error('message3'); // written to the 'error' log

\zozlak\logging\Logger::setDefaultLog('all');
\zozlak\logging\Logger::error('message4'); // written to the 'all' log