定制 michel/psr3-logger 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

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

michel/psr3-logger

最新稳定版本:1.0.0

Composer 安装命令:

composer require michel/psr3-logger

包简介

A straightforward logging library for PHP that implements PSR-3, making it easy to integrate logging into your project.

README 文档

README

A straightforward logging library for PHP that implements PSR-3, making it easy to integrate logging into your project.

Installation

Install via Composer:

composer require michel/psr3-logger

Requirements

  • PHP 7.4 or higher

Features

  • PSR-3 Compliant: Works with any PSR-3 compatible interface.
  • Multiple Handlers:
    • StreamHandler: Log to streams (stdout, stderr).
    • FileHandler: Log to a specific file.
    • RotatingFileHandler: Log to files rotated by date.
    • SyslogHandler: Log to system syslog.
    • MemoryHandler: Log to an array (useful for testing).
    • GroupHandler: Send logs to multiple handlers at once.
  • Log Level Filtering: Set minimum log levels for each handler.
  • Custom Formatting: Easily customize log message format.

Usage

Basic Usage

use Michel\Log\Logger;
use Michel\Log\Handler\StreamHandler;
use Psr\Log\LogLevel;

// Log to stdout
$handler = new StreamHandler('php://stdout');
$logger = new Logger($handler);

$logger->info('Hello World');

Handlers

StreamHandler

Useful for containerized environments (Docker, Kubernetes).

use Michel\Log\Handler\StreamHandler;

$handler = new StreamHandler('php://stderr', LogLevel::ERROR);

RotatingFileHandler

Creates a new log file every day.

use Michel\Log\Handler\RotatingFileHandler;

// Creates logs like /var/log/app-2023-11-24.log
$handler = new RotatingFileHandler('/var/log/app.log');

SyslogHandler

Logs to the operating system's syslog.

use Michel\Log\Handler\SyslogHandler;

$handler = new SyslogHandler('my-app');

GroupHandler

Combine multiple handlers.

use Michel\Log\Handler\GroupHandler;
use Michel\Log\Handler\StreamHandler;
use Michel\Log\Handler\RotatingFileHandler;

$handler = new GroupHandler([
    new StreamHandler('php://stdout'),
    new RotatingFileHandler('/var/log/app.log')
]);

Custom Formatting

You can customize the log format for any handler. The default format is %timestamp% [%level%]: %message%.

$handler = new StreamHandler('php://stdout');
$handler->setFormat('[%level%] %message%');

Log Level Filtering

You can set a minimum log level for any handler.

use Psr\Log\LogLevel;

// Only log ERROR and above
$handler = new StreamHandler('php://stderr');
$handler->setLevel(LogLevel::ERROR);

Documentation en Français

Une bibliothèque de journalisation simple pour PHP qui implémente PSR-3, facilitant l'intégration des logs dans votre projet.

Installation

Installer via Composer:

composer require michel/psr3-logger

Prérequis

  • PHP 7.4 ou supérieur

Fonctionnalités

  • Compatible PSR-3: Fonctionne avec n'importe quelle interface compatible PSR-3.
  • Plusieurs Gestionnaires (Handlers):
    • StreamHandler: Journaliser vers des flux (stdout, stderr).
    • FileHandler: Journaliser vers un fichier spécifique.
    • RotatingFileHandler: Journaliser vers des fichiers rotatifs par date.
    • SyslogHandler: Journaliser vers le syslog du système.
    • MemoryHandler: Journaliser vers un tableau (utile pour les tests).
    • GroupHandler: Envoyer des logs à plusieurs gestionnaires à la fois.
  • Filtrage par Niveau de Log: Définir des niveaux de log minimum pour chaque gestionnaire.
  • Formatage Personnalisé: Personnaliser facilement le format des messages de log.

Utilisation

Utilisation de base

use Michel\Log\Logger;
use Michel\Log\Handler\StreamHandler;
use Psr\Log\LogLevel;

// Journaliser vers stdout
$handler = new StreamHandler('php://stdout');
$logger = new Logger($handler);

$logger->info('Bonjour le monde');

Gestionnaires (Handlers)

StreamHandler

Utile pour les environnements conteneurisés (Docker, Kubernetes).

use Michel\Log\Handler\StreamHandler;

$handler = new StreamHandler('php://stderr', LogLevel::ERROR);

RotatingFileHandler

Crée un nouveau fichier de log chaque jour.

use Michel\Log\Handler\RotatingFileHandler;

// Crée des logs comme /var/log/app-2023-11-24.log
$handler = new RotatingFileHandler('/var/log/app.log');

SyslogHandler

Journalise vers le syslog du système d'exploitation.

use Michel\Log\Handler\SyslogHandler;

$handler = new SyslogHandler('mon-app');

GroupHandler

Combiner plusieurs gestionnaires.

use Michel\Log\Handler\GroupHandler;
use Michel\Log\Handler\StreamHandler;
use Michel\Log\Handler\RotatingFileHandler;

$handler = new GroupHandler([
    new StreamHandler('php://stdout'),
    new RotatingFileHandler('/var/log/app.log')
]);

Formatage Personnalisé

Vous pouvez personnaliser le format de log pour n'importe quel gestionnaire. Le format par défaut est %timestamp% [%level%]: %message%.

$handler = new StreamHandler('php://stdout');
$handler->setFormat('[%level%] %message%');

Filtrage par Niveau de Log

Vous pouvez définir un niveau de log minimum pour n'importe quel gestionnaire.

use Psr\Log\LogLevel;

// Ne journaliser que les ERREURS et supérieur
$handler = new StreamHandler('php://stderr');
$handler->setLevel(LogLevel::ERROR);

统计信息

  • 总下载量: 3
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-12-15

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固