Pular para o conteúdo

Log4J – Configuração sem o log4j.properties

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).

[sourcecode language=’java’]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();
}
}
[/sourcecode]

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

2 comentários em “Log4J – Configuração sem o log4j.properties”

  1. 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

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *