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