2012-06-05 1 views
4

Я начинаю использовать SLF4J для регистрации, и первое, что поражает меня есть следующий фрагмент кодаSLF4J Java Logging Design

public class MyClass 
{ 
    private static final logger = org.slf4j.LoggerFactory.getLogger(MyClass.class) 
} 

Каков принцип конструкции или логика использования класса в качестве аргумента получить экземпляр регистратора?

ответ

8

Результатом этого является то, что каждый оператор регистрации, сгенерированный этим регистратором, содержит имя класса. Вы хотите сделать это:

  1. определить источник этого лесозаготовительных сообщений на выходе
  2. фильтра эффективен на этих сообщениях. Вы можете включить отключение сообщений по классам и/или содержащему пакет. например вы можете отключить все ваши сообщения пакета DAO (по любой причине)

Вышеприведенное является очень распространенным образцом при регистрации. Обратите внимание, однако, что вам просто не нужно предоставлять класс, но вместо этого вы можете предоставить свою собственную строку и, таким образом, произвольно классифицировать свои сообщения самостоятельно.

2

Это просто укороченный. См. javadoc for LoggerFactory, чтобы узнать, что есть constuctor, который также принимает параметр String.

В основном, при использовании регистраторов вы почти всегда называете регистратор, используя имя класса, в котором он объявлен.