log5j - despretensioso porém útil  XML
Índice dos Fóruns » Notícias
Autor Mensagem
fcoury
JavaChild
[Avatar]

Membro desde: 17/10/2006 16:24:36
Mensagens: 142
Localização: Campinas, SP - Brazil
Offline

Pessoal,

Vejam esta nova biblioteca, lançada recentemente, que nada mais é do que um "façade" em cima da classe Logger do Log4j:
http://blog.felipecoury.com/jep/2008/02/log5j.html

Achei bastante interessante, apesar de toda sua simplicidade.

Abraços!

Felipe Gonçalves Coury
--
Arquivos texto em java: http://jfilehelpers.com
Visite meu blog: http://blogs.felipecoury.com
[WWW] [MSN]
Filipe Sabella
GUJ Expert

Membro desde: 12/03/2003 11:25:57
Mensagens: 4680
Offline

Poxa, abri a notícia com um nariz torcido, mas gostei.

Former LIPE.
[ICQ]
bielmenezes
Thread.start()
[Avatar]

Membro desde: 18/06/2007 13:07:38
Mensagens: 29
Localização: Florianópolis - SC
Offline

Fala Felipe,

Interessante essa API, muitos projetos que eu vejo/trabalho utilizam algo parecido para encapsular a logica do logging, algumas dúvidas:

1) Essa lib permite a definiçao de appenders como o log4j?
2) Como voce mostrou em seu blog, essa API acaba com a recuperacao do logger a partir do getLogger(MinhaClasse.class), apesar disso o output do log é formatado como no estilo antigo: "[MinhaClasse] ...."?

"To DO is to BE" - Nietzsche
"To BE is to DO" - Kant
"DO BE DO BE DO" - Sinatra

Bacharel em Sistemas de Informação - UFSC
SCJP 5.0
[Email] [WWW] [MSN]
fcoury
JavaChild
[Avatar]

Membro desde: 17/10/2006 16:24:36
Mensagens: 142
Localização: Campinas, SP - Brazil
Offline

bielmenezes wrote:1) Essa lib permite a definiçao de appenders como o log4j?


Como eu tentei explicar, essa lib é somente um "façade" mesmo para o Log4J. Ela tem todas as funcionalidades normais do Log4J com estas duas novidades. O resto é todo igual...

bielmenezes wrote:2) Como voce mostrou em seu blog, essa API acaba com a recuperacao do logger a partir do getLogger(MinhaClasse.class), apesar disso o output do log é formatado como no estilo antigo: "[MinhaClasse] ...."?


Sim, ele pega esta informação do stack trace. Segue um trecho do código-fonte:


Felipe Gonçalves Coury
--
Arquivos texto em java: http://jfilehelpers.com
Visite meu blog: http://blogs.felipecoury.com
[WWW] [MSN]
fabiel
JavaEvangelist
[Avatar]

Membro desde: 26/05/2006 14:38:01
Mensagens: 373
Localização: Floripa
Offline

Parece ser bem produtivo.
Mas tem apenas essa duas funcionalidades ?

Bacharelado em Ciências da Computação.
JavaEE/RIA developer
www.fabielprestes.com.br
Espero ter ajudado !
abcs
canabrav
Smalltalk

Membro desde: 17/02/2008 13:55:18
Mensagens: 4
Offline

Eu tenho um template no Eclipse que constrói pra mim toda a linha

portanto, eu não vejo ganho no construtor.

A outra funcionalidade é interessante. Tão interessante, que eu criei algo pra obter isso pra mim. A diferença é que eu uso a sintaxe do MessageFormat.



Não sei se, em termos de desempenho, MessageFormat é melhor ou pior do que o mecanismo do log5j.
Mas esta classe que eu criei garante que a substituição de valores só irá ocorrer caso o método toString() seja chamado pelo Log4J, o que só irá ocorrer se a mensagem for realmente logada. Ou seja, não é necessário usar o "if (isDebugEnabled())".

No caso do Log5J, existe esse cuidado, ou o "if (isDebugEnabled())" continua tendo que ser usado?

This message was edited 2 times. Last update was at 18/02/2008 22:20:36

Marky.Vasconcelos
Moderador
[Avatar]

Membro desde: 11/04/2007 18:18:20
Mensagens: 5932
Localização: São Paulo/SP
Offline

E o novo contrutor será inutil se eu fizer isso:



Sei que em pratica acho que ninguem faria isso, mas pode ocorrer.

Facebook @MarkyHitchhiker +Mark WP: MarkyTech's

Projects:
Android Roadmap - Aprenda Android do inicio (Java é o unico pre-requisito)
Towel ( ObjectTableModel & Swing & Utils )
Tower Defense Game - Java2D [Open-Source] [How-to-play]
EVGD: Programação de jogos (links) Ponto V! - Desenvolvimento de jogos para indies, curiosos e profissionais

DefaultTableModel?! PARE! Não faça isso! Faça melhor!

Dicas: Faça perguntas inteligentes! ; MigLayout ; GridBagLayout (Joke)

Develop games is fantastic, with words you can make worlds!!!

DON'T PANIC!
MarkyHitchhiker's Blog!
[WWW] [MSN]
dango
JavaEvangelist
[Avatar]

Membro desde: 09/11/2002 08:56:47
Mensagens: 497
Localização: Catanduva SP
Offline

Não sei se já viram o Simple Log Facade 4 Java (http://www.slf4j.org/) e a sua implementação, o LogBack (http://logback.qos.ch/). Tenho utilizado em alguns projetos e achei bem mais fácil de configurar e usar (editado: comparado com o Log4J).

This message was edited 1 time. Last update was at 20/02/2008 09:51:33


Shine on you crazy diamond.
fcoury
JavaChild
[Avatar]

Membro desde: 17/10/2006 16:24:36
Mensagens: 142
Localização: Campinas, SP - Brazil
Offline

dango,

Não conhecia nenhum dos dois, mas parece extremamente interessante.

Apenas como crítica - ao projeto e não a você -, senti falta de um exemplo de como usar a API logo de cara, mesmo algo simples. Isso me deixa frustrado quando entro em uma página para conhecer o projeto. Acho legal ter algo logo de cara, como um Getting Started, para ver o potencial da biblioteca.

Talvez fosse interessante se alguém pudesse escrever um artigo, apresentando as bibliotecas de uma forma mais "mastigada". Se eu tiver tempo - coisa que não tenho tido com freqüência - tentarei baixar as libs e escrever um artigo sobre elas.

Abraços e obrigado pela dica!

Felipe Gonçalves Coury
--
Arquivos texto em java: http://jfilehelpers.com
Visite meu blog: http://blogs.felipecoury.com
[WWW] [MSN]
dango
JavaEvangelist
[Avatar]

Membro desde: 09/11/2002 08:56:47
Mensagens: 497
Localização: Catanduva SP
Offline

Mas vc está falando de qual API? Do SLF4J? Se for, o projeto não é meu! É do Ceki Gülcü (acho que é o mesmo desenvolvedor do Log4J, mas não tenho certeza) e é repleto de documentação! Ou eu não entendi

Shine on you crazy diamond.
fcoury
JavaChild
[Avatar]

Membro desde: 17/10/2006 16:24:36
Mensagens: 142
Localização: Campinas, SP - Brazil
Offline

dango,

Eu sei que o projeto não é seu! Porisso que falei que a crítica era ao projeto, e não a você.

E foi mais um comentário do que uma reclamação. Eu vi, o projeto tem uma vasta documentação. Porém, para pessoas sem tempo de ler a documentação mais a fundo, fica complicado passar páginas e páginas de documentação para entender o poder da biblioteca, entendeu?

O que eu acho legal em projetos como esse, é quando na primeira página já tem um exemplo de código usando as funcionalidades, de forma que a gente bata o olho e fale: "Pô, isso eu podia usar no meu projeto". Entende? Coisa de cara chato mesmo, como eu

Se eu tivesse tempo agora, eu ia baixar, entender e escrever um artigo sobre estes 2 projetos, mas infelizmente estou numa correria...

Abração e obrigado pela dica!

Felipe Gonçalves Coury
--
Arquivos texto em java: http://jfilehelpers.com
Visite meu blog: http://blogs.felipecoury.com
[WWW] [MSN]
 
Índice dos Fóruns » Notícias
Ir para:   
Powered by JForum 2.1.8 © JForum Team