Есть логгер monolog называется. Ипользуется в нескольких фреймворках, в т.ч. symfony
symfony.com/doc/current/cookbook/logging/monolog.html
Суть вопроса такая: сама библиотека довольно большая + к ней ещё тесты написаны. Зачем всё так сложно, ради:
$logger = $this->get('logger');
$logger->info('I just got the logger');
$logger->error('An error occurred');
Нельзя ли те же самые события передавать в функцию, а функция их разбирает и пишет в один или несколько файлов в зависимости от вида событий. Всё. Зачем такую простую функцю разрастили до таких объёмов, да ещё установку через composer ей сделали? )))