Я разрабатываю (внутреннюю) библиотеку, где я хочу обеспечить, чтобы разработчики, использующие этот lihrary, включали текстовый идентификатор при регистрации ошибок или сообщений о смертельном уровне. Без изменения log4j то, что мы хотим обеспечить, аналогично:log4j дополнительные аргументы ведения журнала
logger.error ("E1234: Произошла ошибка");
С отсутствием или незначительным расширением log4j мы могли либо во время ночных сборок, сканировать исходный код, чтобы проверить, включен ли текстовый идентификатор, либо реализовать приложение log4j, которое проверяет его во время выполнения.
Однако мы хотели бы добавить дополнительный аргумент в метод ошибки. Например:
logger.error ("E1234", "Произошла ошибка");
Это может быть выполнено путем реализации некоторого класса фасадов для log8j Logger.
У кого-нибудь еще была схожая проблема? Каково было ваше решение? На данный момент мы предпочитаем первый пример кода. В будущем мы могли бы реализовать анализатор кода для выполнения во время ночных сборок (или кто-нибудь знает о каком-то существующем анализаторе кода, который может быть сконфигурирован для обнаружения отсутствующего идентификатора текста при вызове метода ошибки()?)
Вам не нужно переопределять toString()? –
был превзойден, спасибо –
Делегирование log4j требует дополнительной работы, чтобы убедиться, что исходный файл и номера строк верны. –