Onde colocar o log4j.properties?  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
Luiz_Gustavo
Virtual Machine Man
[Avatar]

Membro desde: 30/04/2005 12:55:11
Mensagens: 518
Localização: Assis
Offline

Pessoal,

tenho um projeto modularizado, com um módulo web e um ejb (usando o Netbeans), e estou com dificuldades para fazer o log com o log4j.
Preciso fazer o log nas classes Session Bean, mas onde quer que eu coloque o log4j.properties.... ele não é lido.
No caso de projetos modularizados, onde é o melhor lugar para se colcoar o log4j.properties, uma vez que vou fazer logs tanto no módulo ejb quanto no módulo web?

obrigado!

Analista e Desenvolvedor de Sistemas
http://luizgustavoss.blogspot.com/
http://luizgustavoss.wordpress.com/
http://www.linkedin.com/in/luizgustavoss
Procurando uma especialização em Java, SOA e Android? Conheça a TNT Educacional

[Email] [WWW]
rflprp
GUJ Ranger

Membro desde: 27/04/2005 18:52:49
Mensagens: 822
Offline

Eu costumo colocar na raiz do source folder.

Qual application server vc tá usando ?

[]'s
Luiz_Gustavo
Virtual Machine Man
[Avatar]

Membro desde: 30/04/2005 12:55:11
Mensagens: 518
Localização: Assis
Offline

Rafaelprp wrote:Eu costumo colocar na raiz do source folder.

Qual application server vc tá usando ?

[]'s



Opa, jóia?

tô usando o glassfish... mas futuramente rodará no JBoss tb.
Eu tentei implementar um listener, para configurar o Log4J, pois deixando ele encontrar sozinho o log4j.properties não tá funcionando:



e estou colocando o log4j.properties no mesmo diretório do listener... mas não está rolando.

Além disso, esse listener fica no módulo web... creio que não funcionará para o módulo ejb.

Tô realmente perdido com o log4j

Fazendo os exemplos encontrados por aí, com classes java simples e fora de uma IDE funciona que é uma beleza, mas dentro da IDE tá problemático.
Sei que é só porque não peguei o jeito ainda... não costumava usar antes... mas chego lá

Alguma sugestão?


Obrigado!

Analista e Desenvolvedor de Sistemas
http://luizgustavoss.blogspot.com/
http://luizgustavoss.wordpress.com/
http://www.linkedin.com/in/luizgustavoss
Procurando uma especialização em Java, SOA e Android? Conheça a TNT Educacional

[Email] [WWW]
ozielneto
JavaEvangelist
[Avatar]

Membro desde: 21/03/2003 23:05:48
Mensagens: 485
Localização: Assis - SP
Offline

Rafael,

nas aplicações Java SE, você precisa colocar no Classpath da aplicação.

nas aplicações Java EE, você precisar configurar via o AppServer
pois se você colocar dentro da sua aplicação, você pode encontrar problemas de classloader.

O JBoss já possui o LOG4J como serviço, para configurar o GLASSFISH é muito simples também.

Assim, sua aplicação só precisa usar a categorias criadas no arquivo de properties.

Bom estudo.

Arquitetor Sênior e Consultor de TI
Web Site
e-mail
[Email] [WWW] [MSN]
Luiz_Gustavo
Virtual Machine Man
[Avatar]

Membro desde: 30/04/2005 12:55:11
Mensagens: 518
Localização: Assis
Offline

ozielneto wrote:Rafael,

... para configurar o GLASSFISH é muito simples também...

Assim, sua aplicação só precisa usar a categorias criadas no arquivo de properties.



Olá Oziel,

estou tentando usar da seguinte forma:



assim, eu espero que a categoria instanciada herde de rootCategory.

Realmente não consigo forçar a utilização de um properties de dentro da aplicação?
Seria interessante que o properties estivesse na aplicação, pois queria deixar isso independente do App Server.

Analista e Desenvolvedor de Sistemas
http://luizgustavoss.blogspot.com/
http://luizgustavoss.wordpress.com/
http://www.linkedin.com/in/luizgustavoss
Procurando uma especialização em Java, SOA e Android? Conheça a TNT Educacional

[Email] [WWW]
Luiz_Gustavo
Virtual Machine Man
[Avatar]

Membro desde: 30/04/2005 12:55:11
Mensagens: 518
Localização: Assis
Offline

Neste Post no theserverside, uma das dicas é deixar que o Log4J encontre sozinho o arquivo de propriedades, mas isso parece não funcionar (no meu caso).

This message was edited 1 time. Last update was at 11/12/2007 09:48:09


Analista e Desenvolvedor de Sistemas
http://luizgustavoss.blogspot.com/
http://luizgustavoss.wordpress.com/
http://www.linkedin.com/in/luizgustavoss
Procurando uma especialização em Java, SOA e Android? Conheça a TNT Educacional

[Email] [WWW]
Dieval Guizelini
Virtual Machine Man
[Avatar]

Membro desde: 05/07/2006 14:39:44
Mensagens: 570
Localização: Curitiba - PR
Offline

Luiz,

eu sempre coloquei o arquivo do log4j na pasta WEB-INF/classes

Você está utilizando o locale? pode ser que esteja procurando um arquivo com pt_BR ou outro.

att

Dieval

Sun Certified Java Programmer 5.0
[WWW]
Luiz_Gustavo
Virtual Machine Man
[Avatar]

Membro desde: 30/04/2005 12:55:11
Mensagens: 518
Localização: Assis
Offline

Dieval Guizelini wrote:Luiz,

eu sempre coloquei o arquivo do log4j na pasta WEB-INF/classes

Você está utilizando o locale? pode ser que esteja procurando um arquivo com pt_BR ou outro.

att

Dieval


Olá Dieval,

então, em outros projetos, quando usamos o Eclipse e a estrutura de diretórios contempla um diretório classes dentro do WEB-INF, costumamos colocar o arquivo aí também.
Porém nesse projeto a estrutura de diretórios é diferente....

tenho dois módulos



Preciso usar log nos 2 módulos. Estou tentando colocar inicialmente no módulo de ejb, da maniera mostrada acima, colocando o properties na raiz do diretório dos fontes, mas nada.

E posteriormente preciso fazer com que a mesma configuração valha para o módulo web.


Alguma idéia?

Analista e Desenvolvedor de Sistemas
http://luizgustavoss.blogspot.com/
http://luizgustavoss.wordpress.com/
http://www.linkedin.com/in/luizgustavoss
Procurando uma especialização em Java, SOA e Android? Conheça a TNT Educacional

[Email] [WWW]
Dieval Guizelini
Virtual Machine Man
[Avatar]

Membro desde: 05/07/2006 14:39:44
Mensagens: 570
Localização: Curitiba - PR
Offline

Luiz,

se você colocar na aplicação web uma configuração do log4j ela não ficou acessível ao módulo da aplicação?

outro palpite seria tentar fazer a leitura do arquivo que estivesse na mesma pasta do .class utilizando



ou



ou



talvez ajude.

fw

Sun Certified Java Programmer 5.0
[WWW]
Luiz_Gustavo
Virtual Machine Man
[Avatar]

Membro desde: 30/04/2005 12:55:11
Mensagens: 518
Localização: Assis
Offline

Ah, consegui pessoal!!!
Olha o que precisei fazer (levando em consideração o esquema de organização de diretórios mostrado anteriormente):

- deixei o log4j.properties na raiz do diretório de fontes do módulo EJB;

- no módulo web, criei um listener:



registrado devidamente no web.xml:



com isso consegui usar o log tanto nos session bean quanto nos managed beans, usando o esquema:




Obrigado a todos que responderam pelas dicas.


Abraços!!!!

Analista e Desenvolvedor de Sistemas
http://luizgustavoss.blogspot.com/
http://luizgustavoss.wordpress.com/
http://www.linkedin.com/in/luizgustavoss
Procurando uma especialização em Java, SOA e Android? Conheça a TNT Educacional

[Email] [WWW]
ozielneto
JavaEvangelist
[Avatar]

Membro desde: 21/03/2003 23:05:48
Mensagens: 485
Localização: Assis - SP
Offline

Veja no meu blog como configurar o Log4J no glassfish
e ainda evitar de usar listeners, empacotar o log4.jar no modulo.war ou ejb.jar.

Arquitetor Sênior e Consultor de TI
Web Site
e-mail
[Email] [WWW] [MSN]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team