Pessoal, boa tarde!
Estou com uma dificuldade de implementar o Log4J em mais de uma classe.
A geração do arquivo de LOG está correta para a classe Leitura, porém a classe parametros eu não consigo gerar o LOG.
* Classe de Leitura do Arquivo XML
* @author alexandre.pestana
*
*/
public class Leitura extends Parametros{
static Logger logger = Logger.getLogger(Leitura.class);
public static void main(String[] args) throws IOException {
//Criando Objeto para armazenamento das variaveis
Parametros parametros = new Parametros();
//Carregando configurações em Log4J
//BasicConfigurator.configure();
String padrao_log = "Milisegundos desde o ínicio do programa: %r %n";
padrao_log += "Classe: %C %n";
padrao_log += "Data: %d{dd/MM/yyyy} %n";
padrao_log += "Hora: %d{HH:mm:ss} %n";
padrao_log += "Local: %l %n";
padrao_log += "Mensagem: %m %n";
padrao_log += "----------------------------------------%n";
// criando um PatternLayout passando o output pattern criado
PatternLayout layout = new PatternLayout(padrao_log);
// cria o layout
//SimpleLayout layout = new SimpleLayout();
// cria o appender do tipo FileAppender
FileAppender appender = null;
try{
/* criação do FileAppender
passando o layout, nome do arquivo, true se o arquivo será
sobrescrito e false se não for sobrescrito
*/
appender = new FileAppender(layout,"output.log",true);
}
catch(Exception e){
// logando uma exception, caso ocorra
logger.error("Erro: " + e.getMessage());
}
// adicionando o appender criado ao logger
logger.addAppender(appender);
// ajustando o nível do log
logger.setLevel((Level) Level.DEBUG);
// logando
logger.info("Logando um INFO");
Na classe Parametros se eu colocar:
static Logger logger = Logger.getLogger(Parametros.class);
Apresenta a seguinte mensagem de erro:
log4j:WARN No appenders could be found for logger (br.Gates.MoverOF.Parametros).
log4j:WARN Please initialize the log4j system properly.
Se eu substituir por:
static Logger logger = Logger.getLogger(Leitura.class);
Funciona, porém no log aparece tudo como classe Leitura.
Agora vem a pergunta…
Eu vou ter que carregar a configuração de Log4J em todas as classes individuais com appenders diferentes? Não ira ficar muito lento o processo?
Obrigado…
Att,
Alexandre Pestana