Middle
Quais são as formas de configurar o log4j?
sobes.tech IA
Resposta da IA
log4j pode ser configurado de uma das seguintes formas:
-
Programaticamente: A configuração é definida diretamente no código Java.
// Exemplo de configuração programática org.apache.log4j.BasicConfigurator.configure(); org.apache.log4j.Logger rootLogger = org.apache.log4j.Logger.getRootLogger(); rootLogger.setLevel(org.apache.log4j.Level.DEBUG); org.apache.log4j.ConsoleAppender consoleAppender = new org.apache.log4j.ConsoleAppender( new org.apache.log4j.PatternLayout("%d [%t] %-5p %c - %m%n") ); rootLogger.addAppender(consoleAppender); org.apache.log4j.Logger logger = org.apache.log4j.Logger.getLogger(MyClass.class); logger.debug("Mensagem de depuração"); -
Através de um ficheiro de propriedades: A configuração é definida num ficheiro
.properties. O Log4j procura automaticamente um ficheiro chamadolog4j.propertiesno classpath.# Exemplo de ficheiro log4j.properties log4j.rootLogger=DEBUG, console, file # Configuração do appender de consola log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.layout=org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern=%d [%t] %-5p %c - %m%n # Configuração do appender de ficheiro log4j.appender.file=org.apache.log4j.FileAppender log4j.appender.file.File=application.log log4j.appender.file.Append=true log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d [%t] %-5p %c - %m%n -
Através de um ficheiro XML: A configuração é definida num ficheiro
.xml. O Log4j pode encontrar automaticamente o ficheirolog4j.xmlno classpath.<!-- Exemplo de ficheiro log4j.xml --> <!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <appender name="console" class="org.apache.log4j.ConsoleAppender"> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n"/> </layout> </appender> <appender name="file" class="org.apache.log4j.FileAppender"> <param name="File" value="application.log"/> <param name="Append" value="true"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n"/> </layout> </appender> <root> <level value="DEBUG"/> <appender-ref ref="console"/> <appender-ref ref="file"/> </root> </log4j:configuration>
Ordem de carregamento da configuração (por padrão):
O Log4j procura ficheiros de configuração na seguinte ordem:
- A propriedade do sistema
log4j.configuration(indica o caminho para o ficheiro de configuração). - O ficheiro
log4j.xmlno classpath. - O ficheiro
log4j.propertiesno classpath. - Se nenhum ficheiro for encontrado, é usada a configuração básica (
ConsoleAppendercom nívelERROR).
Prioridade da configuração:
- A configuração programática tem prioridade mais alta.
- Segue-se a configuração indicada através da propriedade do sistema.
- O ficheiro XML tem prioridade sobre o ficheiro de propriedades se ambos estiverem presentes e nenhuma propriedade do sistema for especificada.