Weblogic – Configurando Logger SLF4J com Log4J

24 01 2013

Depois de algumas horas de peleia com o weblogic, resolvi compartilhar a solução de como configurar o Log4j com SLF4j no Weblogic 10.3.5.

1) Colocar as libs de loggers no classpath

slf4j-api-1.7.2.jar* slf4j-log4j12-1.7.2.jar* log4j-1.2.14.jar*

slf4j-api-1.7.2.jar: API do SLF4J que abstrai a implementações de vários loggers
slf4j-log4j12-1.7.2.jar: Indica para o SLF4J que estaremos utilizando o log4j com implementação
log4j-1.2.14.jar: Implementação do Log4j

2) Criar um arquivo log4j.properties com o appender que ira redirecionar os logs para o Weblogic e colocar o mesmo no classpath (ex: no build ele deve estar em WEB-INF/classes)
Arquivo: log4j.properties


log4j.rootLogger=debug, stdout, server
# ***** stdout is set to be a ConsoleAppender.
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
log4j.appender.server=weblogic.logging.log4j.ServerLoggingAppender

3) Configurar para o nível DEBUG o Logger do Weblogic na pagina de console

URL do console ex: http://localhost:7001/console/


Home >Log do Servidor >Resumo de Servidores >AdminServer >Log
Avançado > Destino(s) da mensagem > Arquivo de log :
Atribuir > Nível de severidade: DEGUB e salvar

4) Forçar o Classloader do Weblogic a carregar o SLF4j no arquivo  weblogic-application.xml

Arquivo: weblogic-application.xml


<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-application
xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-application"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/javaee_5.xsd http://xmlns.oracle.com/weblogic/weblogic-application http://xmlns.oracle.com/weblogic/weblogic-application/1.2/weblogic-application.xsd">
<!--weblogic-version:10.3.5 -->
<wls:application-param>
<wls:param-name>webapp.encoding.default</wls:param-name>
<wls:param-value>UTF-8</wls:param-value>
</wls:application-param>
<wls:prefer-application-packages>
<wls:package-name>javax.persistence.*</wls:package-name>
<wls:package-name>org.eclipse.persistence.*</wls:package-name>
<wls:package-name>org.apache.*</wls:package-name>
<wls:package-name>org.slf4j.*</wls:package-name>
</wls:prefer-application-packages>
</wls:weblogic-application>

5) Realizar uma chamada do Logger e verificar o SERVER_LOG  no console do Weblogic

URL do console ex: http://localhost:7001/console/


Home >Log do Servidor >Resumo de Servidores >AdminServer >Resumo de Diagnósticos >Resumo dos Arquivos de Log >Log do Servidor

Arrumando problema para rodar testes com JUnit

Erro: java.lang.NoClassDefFoundError: weblogic/kernel/KernelLogManager

Solução:

  • Colocar no classpath de teste a lib: wlfullclient.jar
  • Onde encontro essa lib? em  WEBLOGIC_HOME/wlserver_10.3/server/lib/wlfullclient.jar
    • Se não encontrar a lib basta gerar, nesse link aqui explica como

Alguns links que podem ajudar:

http://docs.oracle.com/cd/E14571_01/web.1111/e13739/logging_services.htm#CHDBBEIJ
http://www.slf4j.org
http://buttso.blogspot.com.br/2011/06/using-slf4j-with-weblogic-server.html

Feitoria! \o/

Anúncios

Ações

Information

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s




%d blogueiros gostam disto: