Log4J – Configuração sem o log4j.properties
08/outubro/2009 - Java
Olá
Abaixo um exemplo para configurar um appender do log4j programaticamente, ou seja, sem utilizar o log4j.properties (que é a forma mais comum de configurar).
package br.com.furutani; import org.apache.log4j.FileAppender; import org.apache.log4j.Logger; import org.apache.log4j.PatternLayout; public class Main { private Logger log = Logger.getLogger(Main.class); public Main() { // Caminho onde o arquivo será gravado String path = "D:\\java\\logs\\Main.txt"; // Formatação do log String pattern = "[%d{ISO8601}] %p - %m%n"; // Criando um FileAppender FileAppender fileAppender = new FileAppender(); fileAppender.setAppend(true); fileAppender.setName("FileAppenderLog"); fileAppender.setFile(path); // Criando um layout para o arquivo de log PatternLayout patternLayout = new PatternLayout(); patternLayout.setConversionPattern(pattern); fileAppender.setLayout(patternLayout); // Efetiva as alterações fileAppender.activateOptions(); // Adiciona o file appender Logger.getRootLogger().addAppender(fileAppender); } public void fazerLog() { log.info("Um log"); } public void fazerMaisUmLog() { log.error("Outro log"); } public static void main(String[] args) { Main main = new Main(); main.fazerLog(); main.fazerMaisUmLog(); } }
O conteúdo do arquivo será parecido com o listado abaixo:
[2009-10-08 09:03:22,066] INFO – Um log
[2009-10-08 09:03:22,082] ERROR – Outro log
Nesse exemplo usei o log4j-1.2.9.jar.
Até mais,
Roberto
dezembro 2nd, 2009 at 10:33
Olá Furutani,
No meu projeto está configurado o log4j.properties.
Existe alguma alteração que devo fazer para que seja utilizada a minha classe de configuração ao invés do arquivo?
Grato
outubro 17th, 2016 at 16:13
Sei que é bem velho o tópico, mas me ajudou muito. Obrigado!