Я прочитал тонны постов и документов (на этом сайте и в других местах), указывающих, что рекомендуемый шаблон для ведения журнала SFL4J:
public class MyClass {
final static Logger logger = LoggerFactory.getLogger(MyClass.class);
public void myMethod() {
//do some stuff
logger.debug("blah blah blah");
}
}
Мой босс предпочитает, чтобы мы использовали перехватчик для перехвата вызовов журнала и избегали кода котельной плиты для объявления регистратора в каждом классе:
public class MyLoggerWrapper {
public static void debug(Class clazz, String msg){
LoggerFactory.getLogger(clazz).debug(msg));
}
}
и просто используя его так:
public class MyClass {
public void myMethod() {
//do some stuff
MyLoggerWrapper.debug(this.getClass(), "blah blah blah");
}
}
Я предполагаю, что создание экземпляра логгера каждый раз, когда мы ведем логарифмизацию, довольно дорого, но я не смог найти ни одного документа, подтверждающего это предположение. Кроме того, он говорит, что, безусловно, фреймворк (LogBack или Log4J, который мы все еще решаем) будет «кэшировать» регистраторы, а также то, что в любом случае серверы работают намного ниже своей емкости, поэтому это не проблема.
Любая помощь, указывающая на потенциальные проблемы с этим подходом?