Лаконичный класс для логирования событий
file_put_contents(LOG_FILE_NAME, $logMessage, FILE_APPEND); — class и public static function log можете вписать сами.
Посмотрите этот класс на github — это класс диагностики

begin() — инициализирует лог

log( $text, $isImportantly = false ) — собственно добавляем запись в лог, с пометкой важности

showLog( $logMode = DIAGNOSTICS_LOG_MODE_TEXT ) — вывод лога, доступны 2 режима — html и в поток

каждая строка выводится с пометкой времени в миллисекундах с точностью до 2-го знака после запятой

в качестве хранилища использован реестр — т.е. нужно будет разместить хранилище внутри класса, чтобы не тянуть за собой MB\Registry.php

Чтобы реализовать все ваши потребности необходимо минимум вмешательств в методы log и showLog