Eu estou com uma dúvida vital. Qual a diferênça entre eu utilizar a chamada Logger.getLogger(“String”)eLogger.getLogger(“minhaClasse.class”) :?:
Eu não sei a diferença, se é que tem diferença. A única coisa que sei que os´dois, para min até agora funciona da mesma forma. Alguem sabe me responder :?:
O que você coloca aí é o nome do logger e que é referenciado no arquivo log4j.properties.
Há uma facilidade no log4j (que eu não uso) que os loggers tem uma hierarquia e herdam configurações dos ascendentes. Assim tem gente que dá nome aos loggers usando a mesma hierarquia das classes. Eu prefiro não fazer isto e controlar exatamente o que vai em cada logger. E ainda coloco sempre no log4j.properties a seguinte linha:
eu tb só uso assim. acho que o default tinha que ser false
mas uma diferença do getLogger(sring) é que isto está no código… vc precisa compilar se alterar o log4j…
se vc sempre utilizar getLogger(class)… vc pode simplemente configurar o log4j para logar tudo de um pacote ou classe, sem alterar seu código.
Akila
Caros amigos que sabem de log4j. obrigado por esclarecer minha dúvida.
Mas então como seria essa hierarquia que o lo4j usa? para ela funcionar eu preciso passar a classe, ou não tem nada haver. a CLasse é apenas uma facilidade que passar o nome da classe? Mas acho que isso não faria sentido. deve haver outra explicação ou não?
No mais obrigado, eu já desconfiava que ao passar a classe ele passava na verdade o nome da classe, mas por outro lado não achei que isso serviria apenas para isso. Creio que não, ai mais agora que vcs falaram que tem uma hierarquia, que eu não sei como funciona… alguem pede me dar um exemplo?
caiofilipini
Sim, é a penas para tirar de você o trabalho de chamar o método Class.getName():