Иногда, когда я вижу свой код регистрации, я задаюсь вопросом, правильно ли я делаю это. На это не может быть окончательного ответа, но у меня есть следующие проблемы:
Библиотечные классы
У меня есть несколько классов библиотек, которые могут регистрировать некоторые сообщения INFO
. Исключение составляют ошибки со смертельным исходом. В настоящее время у меня есть статический экземпляр журнала в моих классах с именем класса в качестве имени журнала. (Log4j's: Logger.getLogger(MyClass.class)
)
Правильно ли это? Возможно, пользователь этого класса библиотеки не хочет отправлять какие-либо сообщения из моей реализации или хочет перенаправить их в конкретный журнал приложений. Должен ли я разрешить пользователю устанавливать регистратор из "внешнего мира"? Как вы справляетесь с такими случаями?
Общие журналы
В некоторых приложениях мои классы могут захотеть записать сообщение журнала в конкретный журнал, не идентифицированный именем класса. (I.e.: HTTP Request log
) Каков наилучший способ сделать такую вещь? Служба поиска приходит в голову...