A cute PHP logger.

v1.0.0 2025-07-03 15:52 UTC

This package is auto-updated.

Last update: 2025-07-03 15:56:16 UTC


README

Loggie รจ una libreria di logging moderna, flessibile e compatibile PSR-3, sviluppata in PHP con l'obiettivo di offrire una gestione dei log elegante e integrabile in ambienti reali. Supporta diversi tipi di handler e formatter per adattarsi a molteplici esigenze.

โœจ Caratteristiche

  • โœ… Compatibile PSR-3 (LoggerInterface)
  • ๐Ÿ“ Log su file, database, console, Telegram, email, e null handler
  • ๐ŸŽจ Supporta formatter personalizzati (Interpolated, Line, Telegram)
  • ๐Ÿ’ก Estendibile con handler e formatter personalizzati
  • ๐Ÿ˜ Richiede PHP >= 8.1

๐Ÿ“ฆ Installazione

composer require alaureati-enerds/loggie

๐Ÿงฐ Esempio rapido

Logging su Console

use Loggie\Logger;
use Loggie\Handlers\ConsoleHandler;
use Loggie\Formatters\LineFormatter;
use Loggie\Utils\LoggieLevels;

$handler = new ConsoleHandler(STDOUT, LoggieLevels::DEBUG);
$handler->setFormatter(new LineFormatter());

$logger = new Logger([$handler]);
$logger->info("Applicazione avviata.");

Logging su Telegram

use Loggie\Logger;
use Loggie\Handlers\TelegramHandler;
use Loggie\Formatters\TelegramFormatter;

$logger = new Logger();
$telegram = new TelegramHandler('YOUR_BOT_TOKEN', 'YOUR_CHAT_ID', 'debug', new TelegramFormatter());
$logger->addHandler($telegram);

$logger->warning("Problema rilevato", ['file' => 'index.php']);

Logging via Email con PHPMailer

use Loggie\Handlers\EmailHandler;
use PHPMailer\PHPMailer\PHPMailer;

$mailer = new PHPMailer(true);
// ... configura SMTP ...

$emailHandler = new EmailHandler($mailer, 'admin@example.com', 'bot@example.com', 'Log di sistema');
$logger->addHandler($emailHandler);

๐Ÿงฑ Handler disponibili

  • ConsoleHandler โ€“ Log a console (STDOUT/STDERR)
  • FileHandler โ€“ Log su file
  • DatabaseHandler โ€“ Log su MySQL
  • TelegramHandler โ€“ Invio log via Telegram Bot
  • EmailHandler โ€“ Invio log via email (PHPMailer)
  • NullHandler โ€“ Ignora tutti i log

๐ŸŽจ Formatter disponibili

  • LineFormatter โ€“ Formattazione semplice [DATA] LIVELLO: messaggio
  • InterpolatedFormatter โ€“ Supporta segnaposto come {user} con context
  • TelegramFormatter โ€“ Formattazione compatibile Markdown V2 con emoji

๐Ÿ”ง Requisiti

  • PHP >= 8.1
  • Estensioni PHP: curl, pdo, mbstring
  • Librerie:
    • phpmailer/phpmailer
    • psr/log

๐Ÿ“‚ Autoload

"autoload": {
    "psr-4": {
        "Loggie\\": "src/Loggie/"
    }
}

๐Ÿ‘ค Autore

Andrea Laureati โ€“ a.laureati@enerds.it
Sviluppato per eNerds Srl โ€“ enerds.it

๐Ÿ“„ Licenza

Rilasciato sotto licenza MIT.