Olá pessoal estou fazendo uma aplicação Web com Hibernate + JSF + AJAX no EasyEclipse e estou precisando usar o Log4J para gerar os Logs.
Eu peguei um tutorial aqui no GUJ e mais uns lugares, configurei no meu TOMCAT o LOG4J e o COMMONS-LOGGING mas quando eu subo o TomCat ele gera esses error:
log4j:WARN No appenders could be found for logger (org.apache.catalina.startup.TldConfig).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN No appenders could be found for logger (org.apache.catalina.startup.Embedded).
log4j:WARN Please initialize the log4j system properly.
q q eu posso fazer???
(Já setei o CLASSPATH e tbm setei ele no Eclipse por via das duvidas mas nao saiu o erro)…
Bixo, eu desenvolvi um programinha no trampo que usava log4J o lance eh q meu prog era coisa boba, feita pra rodar em console mas de repente pode ser que te ajude pq eu tive um erro parecido, esse warn do log4j tah dizendo q tu nao definiu um appender no “.properties” do log4j tipo no meu ficou ± assim:
a linha que esta em negrito define o tipo de appender que eu to usando https://www.dev.java.net/files/documents/353/17634/log4j.pdf
nesse endereço tem um tuto simples que descreve o que cada um faz. As ultimas 3 linhas fazem o seguinte:
1 - informa pro log4j que nao crie um novo arquivo a cada evento, faz sempre um append do arquivo, ou seja adiciona a informaçao nova apos a ultima informaçao gravada.
2 - Informa o tamanho maximo do arquivo de log
3 - informa quantos arquivos podem ser mantidos no diretorio onde esta sendo gravado o log, cada arquivo que estoura o tamanho de 1 mega eh terminado e nao permite nova entrada de dados renomeando o arquivo estourado e pondo um indice no final para que o novo arquivo mantenha o nome definido pelo programador no properties.
Espero que tenha te ajudado, testa ai e diz se funcionou, se o erro era esse mesmo
[quote=leonardo.atimus]Esse erro costuma acontecer quando ele não encontra o arquivo log4j.properties no classpath.
vc colocou o arquivo no classpath?[/quote]
É eu acabei de ler isso num tutorial a pouco q tinha que setar lá tbm, mas nao tem como setar na IDE? Eu to configurando nas variaveis de ambiente do Windows, mas queria setar lá na IDE como eu posso fazer com o .properties?
static Logger logger = Logger.getLogger(HTMLExample.class);
public static void main(String[] args) {
// cria o Layout
HTMLLayout layout = new HTMLLayout();
// cria o appender do tipo WriterAppender
WriterAppender writerAppender = null;
try {
// cria o HTML
FileOutputStream fileOutputStream = new FileOutputStream(
"fileOutputStream.html");
// cria um riteAppender passando o layout e o file
writerAppender = new WriterAppender(layout, fileOutputStream);
} catch (Exception e) {
// logando uma exception, caso ocorra
logger.error("Erro: " + e.getMessage() + "Local do Erro: "
+ e.getStackTrace());
}
// Adicionando WriteAppender criado ao Logger
logger.addAppender(writerAppender);
// ajustando o nivel do Log
logger.setLevel((Level) Level.DEBUG);
// Logando
logger.debug("Logando um Debug");
logger.info("Logando um Info");
logger.warn("Logando um Warn");
logger.fatal("Logando um Fatal");
logger.error("Logando um erro");
}
}
[/code]
Assim eu gero os logs em HTML dessa classe e se eu quisesse gerar erros de outras classes, como q eu teria que fazer pra tirar isso tudo do Void main e colocar em uma classe generica???
Cara, não sei se você ainda está precisando, mas no Eclipse mesmo que você tenha definido o log4j.properties você precisa configurar ele no Classpath do Run, por exemplo, se o seu arquivo log4j.properties estiver no /src você vai em Run > Classpath > User Entries > Advanced > Add Variable String , adicione a variável ${project_loc}
Ai o eclipse passa a achar o properties e não dá mais erro…