Я создал простой класс LogHelper со статическим методом, который я вызываю в своем приложении. Я могу назвать это следующим образом:
LogHelper::writeToErrorLog($config->getLogPath(), $exception); or
LogHelper::writeToErrorLog($config->getLogPath(), $exception, $config->getLogFile);
Метод writeToErroLog создаст имя файла журнала, если оно не было передано в него.
У меня есть другой класс, называемый Config, который в основном принимает файл XML и предоставляет значения через методы получения и установки. Это инициализируется в начале приложения и содержит путь к журналу, в который необходимо записывать журналы ошибок.
Мои требования состоят в том, чтобы при каждом запуске приложения я создавал один файл журнала с тем же именем файла. Когда приложение завершит работу, журналы, если они будут заполнены, будут отправлены по электронной почте.
Мое приложение имеет множество других классов для БД, анализа данных, форматирования данных и т. Д., И все они требуют регистрации в определенный момент. Большинство моих ошибок будет происходить из-за исключений, которые будут возникать в родительском классе, перехваченном и обработанном LogHelper. Будет несколько случаев, когда я не хочу генерировать исключения и просто захочу регистрировать информацию или ошибки.
Меня беспокоит то, что я чувствую, что постоянно передаю конфигурацию каждому классу, требующему регистрации, что кажется неправильным. Кроме того, я хочу установить имя файла журнала ошибок только один раз. Есть ли лучший способ приблизиться к этому?
ТИА
Материал