alaureati-enerds / loggie
A cute PHP logger.
v1.0.0
2025-07-03 15:52 UTC
Requires
- php: >=8.1
- phpmailer/phpmailer: ^6.10
- psr/log: ^3.0
Requires (Dev)
- phpunit/phpunit: ^9.0
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 fileDatabaseHandler
โ Log su MySQLTelegramHandler
โ Invio log via Telegram BotEmailHandler
โ Invio log via email (PHPMailer)NullHandler
โ Ignora tutti i log
๐จ Formatter disponibili
LineFormatter
โ Formattazione semplice [DATA] LIVELLO: messaggioInterpolatedFormatter
โ Supporta segnaposto come{user}
con contextTelegramFormatter
โ 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.