podem se tornar um problema em servidores que tem múltiplos classloaders
para separar componentes do servidor dos módulos e aplicações.
Dessa forma descobri uma maneira muito simples de configurar o Log4J
na inicialização do Glassfish ou do Sun Java System App Server nas versões 7, 8 e 9
que elimina a necessidade de ter um listener para inicializá-lo e configurar as categorias
bem como empacotar o Log4J em cada módulo ou aplicação.
1 – Faça o Download do Log4J
2 – Copie o log4j-x.jar no diretório $APP_SERVER_HOME/domains/domain1/lib/ext
3 – Insira as propriedades abaixo alterando a seção do domain.xml ou via a console
administrativa as propriedades da JVM
4 – Crie um arquivo log4j.xml no diretório $APP_SERVER_HOME/domains/domain1/config<jvm-options>
-Dlog4j.configuration=file:${com.sun.aas.instanceRoot}/config/log4j.xml
</jvm-options>
<jvm-options>
-Dlog4j.configuratorClass=org.apache.log4j.xml.DOMConfigurator
</jvm-options>
com os appenders e as categorias configuradas baseado no modelo abaixo:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
<appender name="app" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="../logs/app.log"/>
<param name="Append" value="false"/>
<param name="MaxFileSize" value="5000KB"/>
<param name="MaxBackupIndex" value="0"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%M:%L) %m%n"/>
</layout>
</appender>
<category name="app.package">
<priority value="INFO"/>
<appender-ref ref="app"/>
</category>
</log4j:configuration>
5 – Em cada uma das classes que se deseja ter o uso do Log4J,
defina o Logger assim:
package app.package;
public class MyClass {
private static Logger logger;
static {
try {
logger = Logger.getLogger( MyClass.class );
} catch (Exception e) {
e.printStackTrace( System.err );
}
}
}
Boa sorte!
Postar Novo Comentário:
- Se deseja falar com nossos autores, criticar ou sugerir, solicite nosso Formulário de Contato.
- Se deseja contratar serviços webdesigner, contrate pelo Victor Webdesigner.
- Não utilize linguagem vulgar e tente falar sobre algo que esteja ligado ao artigo.