承接 compono-kit/file-error-handler 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

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

compono-kit/file-error-handler

Composer 安装命令:

composer require compono-kit/file-error-handler

包简介

Simple error handler implementation, logging errors into files

README 文档

README

Ein einfacher Error-Handler für das ComponoKit, der Fehler und Meldungen in eine Datei schreibt.

Installation

composer require compono-kit/file-error-handler

Voraussetzungen

  • PHP >= 8.1
  • compono-kit/error-handlers ^1.0.0

Schnellstart

1. Konfiguration implementieren

Erstelle eine Klasse, die das Interface ConfiguresFileErrorHandler implementiert:

use ComponoKit\ErrorHandlers\Files\Configs\ConfiguresFileErrorHandler;

class MyLogConfig implements ConfiguresFileErrorHandler
{
    public function getFilePathName(): string
    {
        return '/var/log/myapp/errors.log';
    }

    public function appendingModeEnabled(): bool
    {
        return true;
    }
}

2. Handler einrichten und benutzen

use ComponoKit\ErrorHandlers\Files\FileErrorHandler;

$handler = new FileErrorHandler(new MyLogConfig());

// Verzeichnis anlegen (einmalig beim App-Start aufrufen)
$handler->install();

// Fehler loggen
$handler->error('Datenbankverbindung fehlgeschlagen');

Konfiguration

Das Interface ConfiguresFileErrorHandler hat zwei Methoden:

Methode Rückgabe Bedeutung
getFilePathName() string Vollständiger Pfad zur Log-Datei inkl. Dateiname
appendingModeEnabled() bool true = an Datei anhängen, false = überschreiben

Beispiel: Datei überschreiben statt anhängen

class OverwriteLogConfig implements ConfiguresFileErrorHandler
{
    public function getFilePathName(): string
    {
        return '/var/log/myapp/latest.log';
    }

    public function appendingModeEnabled(): bool
    {
        return false; // Datei wird bei jedem Schreibvorgang neu erstellt
    }
}

Methoden

install()

Legt das Verzeichnis der Log-Datei an, falls es noch nicht existiert. Muss einmalig vor dem ersten Logging-Aufruf ausgeführt werden.

$handler->install();

Wenn das Verzeichnis nicht erstellt werden kann, wird eine RuntimeException geworfen.

error(string $message)

Für Fehler, die eine unmittelbare Reaktion erfordern, aber die Anwendung noch nicht zum Absturz bringen.

$handler->error('Benutzer konnte nicht in der Datenbank gespeichert werden');

Log-Ausgabe:

2026-06-24 14:32:01 [Error]: Benutzer konnte nicht in der Datenbank gespeichert werden

warning(string $message)

Für Situationen, die keine Fehler sind, aber Aufmerksamkeit verdienen.

$handler->warning('Speicherplatz unter 10 % verfügbar');

Log-Ausgabe:

2026-06-24 14:32:01 [Warning]: Speicherplatz unter 10 % verfügbar

critical(string $message)

Für kritische Zustände, die sofortige Maßnahmen erfordern.

$handler->critical('Primäre Datenbank nicht erreichbar');

Log-Ausgabe:

2026-06-24 14:32:01 [Critical]: Primäre Datenbank nicht erreichbar

alert(string $message)

Für Situationen, in denen sofort gehandelt werden muss (z. B. Alarmierung von Personen).

$handler->alert('Zahlungsdienstleister antwortet nicht');

Log-Ausgabe:

2026-06-24 14:32:01 [Alert]: Zahlungsdienstleister antwortet nicht

emergency(string $message)

Für den schlimmsten Fall: Das System ist nicht mehr funktionsfähig.

$handler->emergency('System komplett ausgefallen');

Log-Ausgabe:

2026-06-24 14:32:01 [Emergency]: System komplett ausgefallen

exception(\Throwable $throwable, string $message = '')

Loggt eine Exception mit optionalem Kontexttext, Klassen-Namen und vollem Stack-Trace.

try
{
    $orderService->processPayment($orderId);
}
catch (\Throwable $throwable)
{
    $handler->exception($throwable, 'Zahlung konnte nicht verarbeitet werden');
}

Log-Ausgabe:

2026-06-24 14:32:01 [Message]: Zahlung konnte nicht verarbeitet werden
[Exception]: (RuntimeException) Connection timed out
#0 /app/src/OrderService.php(42): PaymentGateway->charge()
#1 /app/src/Controller/CheckoutController.php(87): OrderService->processPayment()
...

Vollständiges Beispiel

use ComponoKit\ErrorHandlers\Files\Configs\ConfiguresFileErrorHandler;
use ComponoKit\ErrorHandlers\Files\FileErrorHandler;

class AppLogConfig implements ConfiguresFileErrorHandler
{
    public function getFilePathName(): string
    {
        return __DIR__ . '/logs/app.log';
    }

    public function appendingModeEnabled(): bool
    {
        return true;
    }
}

$handler = new FileErrorHandler(new AppLogConfig());
$handler->install();

// Im normalen Betrieb
$handler->warning('Cache konnte nicht geladen werden, Fallback aktiv');

// Bei einem aufgefangenen Fehler
try
{
    $userService->deleteUser($userId);
}
catch (\Throwable $throwable)
{
    $handler->exception($throwable, 'Benutzer konnte nicht gelöscht werden');
}

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: proprietary
  • 更新时间: 2026-06-24

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固