Logs de inicialização do Tomcat - GRAVE: Erro filterStart como obter um rastreamento de pilha?
Quando eu inicio o Tomcat, recebo o seguinte erro:
Parece estranho que os logs do Tomcat não incluam um rastreamento de pilha. Alguém tem uma sugestão de como aumentar o registro no Tomcat para obter rastreamentos de pilha para erros como este?
Estou usando o Guice-Servlet e fazendo um try / catch em torno do meu método de configuração para este framework, fui capaz de capturar todas as exceções e relançá-las após fazer o login. Eu ainda tive que depurar cegamente para fazer o filtro do Guice-Servlet funcionar, mas qualquer coisa adicionada a isso parece funcionar.
Parece que os rastreamentos de pilha goto stdout, mas Intellij não lê o stdout para Tomcat. tomcat.apache.org/tomcat-6.0-doc/logging.html Eu preciso fazer o stdout no redirecionamento do tomcat para um arquivo para que o Intellij possa visualizá-lo.
Verifique os logs de localhost_yyyy_mm_dd.logOR localhost.yyyy-mm-dd.logque o Tomcat cria; eles geralmente armazenam esse tipo de informação. Eu não esperaria que o stacktrace completo fosse descartado de acordo com o padrão.
Minha instância do Tomcat 5.5 não grava esse arquivo.
Até este momento, "error filterStart" atormentou meus pesadelos ... NÃO MAIS! Você é demais!
Uma dessas coisas você fica feliz em descobrir durante o desenvolvimento. Muito obrigado.
— Francisco Lozano
Meu Tomcat 6 (com configuração padrão) nunca grava nada no arquivo, eu tive que ligar o ConsoleHandler para ler o que deu errado, e isso escreveu as exceções no arquivo de saída Catalina.
@mattblang dê uma olhada em $ TOMCAT_HOME / conf / logging.properties. A configuração padrão é contra-intuitiva.
crie um arquivo denominado logging.properties em WEB-INF / classes com o seguinte conteúdo:
— Micha Roon
Note que se você não tem um diretório de classes no WEB-INF, você pode apenas fazer um e vai funcionar bem.
O Tomcat registra o rastreamento de pilha, mas nem sempre fica claro onde os arquivos de log estão, quando o tomcat é iniciado a partir de um IDE. Quando eu inicio no IntelliJ, CATALINA_BASEestá definido como ${home}/.IntelliJIdea10/system/tomcat/Unnamed_r6-ideae os arquivos de log estão em [CATALINA_BASE]/logs.
Para ver os logs, localize os arquivos de log ou edite [CATALINA_HOME]/conf/logging.propertiespara direcionar a saída do logger do tomcat para o console. Abaixo, adicionei um segundo manipulador à configuração padrão do Tomcat:
Agora, o stacktrace completo aparece na saída do IntelliJ:
— Assen Kolov
você precisa copiar os arquivos
e reinicie o tomcat
— Tuku
yay, isso me salvou! . Também seria uma boa ideia olhar em /path/to/solr/example/resources/log4j.properties e editar seu diretório de log
— user9869932 de
Talvez seu aplicativo seja compilado com um JRE diferente do Tomcat.
Verifique java -versionem seu servidor e compile seu código com a mesma versão. Eu tive o erro porque meu JRE padrão do Eclipse era 1.6 e o ​​Tomcat usava 1.5 - isso não pode funcionar.
No CentOS 6 e Solr 4.4.0
Tive que compilar alguns arquivos lib para resolver este erro
— Amir Bilal
Isso também resolveu o problema para mim. Ubuntu 14.04 e solr 4.8.1 e tomcat 7.
— cjungel
Normalmente, há uma informação sobre o problema em localhost. [Data] .log. Mas às vezes não há nada neste log. Isso pode acontecer se houver configuração confusa do projeto (vários desenvolvedores trabalharam nele por um longo tempo e cada um adicionou algo de si mesmo). Enfrentei esse problema SEM nenhuma informação no log. Abordagem bastante rápida e robusta:
Tente remover tudo o que pode causar qualquer problema do web.xml. Você ainda pode remover tudo, exceto tag. Se o aplicativo ainda não puder ser implantado - continue.
Remova todos os descritores * .xml de WEB-INF / classes. Se o aplicativo não puder ser implantado - continue.
Remova todas as configurações de registro que você pode encontrar em seu war (logging.properties, log4j.properties). Tente implantar. Nesta etapa, obtive um erro mais informativo, mas a implantação ainda falhou.
Depois de pesquisar esse erro no Google, descobri que o projeto incluía uma versão antiga do xerces, que entrava em conflito com a versão do Tomcat (que era mais recente) e não o aplicativo a ser implantado. Após a atualização do xerces no aplicativo da web, tudo ficou bem.
— Gennady Nikolaev
Configurar o registro log4j para Tomcat é muito simples. O seguinte foi citado em http://tomcat.apache.org/tomcat-5.5-doc/logging.html :
Crie um arquivo chamado log4j.properties com o seguinte conteúdo e salve-o em common / classes.
Baixe Log4J (v1.2 ou posterior) e coloque o jar log4j em $ CATALINA_HOME / common / lib.
Baixe o Commons Logging e coloque o commons-logging-xyzjar (não commons-logging-api-xyzjar) em $ CATALINA_HOME / common / lib com o jar log4j.
Você também pode querer dar uma olhada em http://wiki.apache.org/tomcat/FAQ/Logging
Isso fará com que as exceções de implantação sejam realmente registradas de forma adequada?
Sim. Usei esse método exato para encontrar as causas dos problemas durante a implantação.
Sinto muito, mas o arquivo de log é impenetrável com um nível de log de DEBUG. Ele contém algumas exceções que não parecem ter nada a ver com o problema - que eu suspeito que seja um problema do Struts no meu caso.
se alguém está recebendo um erro como SEVERO: Error filterStart 29 de abril de 2013 4:49:20 PM org.apache.catalina.core.StandardContext startInternal SEVERE: Context [/ TraceMW] inicialização falhou devido a erros anteriores
em seguida, verifique se o diretório tomcat / lib contém cors-filter-1.5.jar ou não. se você pontuar u obterá o erro acima e seu aplicativo não estará disponível.
Então, eu consegui copiar o arquivo jar de outra pasta do tomcat e não recebi o erro mencionado acima mais tarde.
Eu também tive o mesmo erro e me esforcei muito para corrigir esse problema. Passei um tempo em silêncio pesquisando no Google e encontrei a seguinte solução e meu problema foi resolvido.
o problema era devido à ausência de Bibliotecas Struts2 no caminho de implantação. A maioria das pessoas pode colocar as bibliotecas para compilação e tende a esquecer de anexar as bibliotecas necessárias para o tempo de execução. Então, adicionei as mesmas bibliotecas na montagem de implantação da Web e o problema estava DESLIGADO.
— user2682165
Eu tenho o mesmo problema, não consigo iniciar o aplicativo depois de implantado no tomcat. Mas, depois que copio o conjunto de jars do Struts no diretório CATALINA_HOME \ lib (Tomcat dir), ele está resolvido. Você não precisa ter esses jars em seu WEB_INF \ lib, mas precisa tê-los em seu Build Path.
Só queria contribuir depois de passar a última hora em um problema quase idêntico. Minha solução foi que, de alguma forma, nossos aplicativos .jar estavam corrompidos, portanto, colocar o jar de nosso servidor de desenvolvimento forneceu uma correção.
Eu tive uma questão semelhante. A dica do Renato funcionou para mim. Usei uma versão mais antiga dos arquivos de classe java (na pasta WEB-INF / classes) e o problema desapareceu. Portanto, deveria ser a incompatibilidade da versão do compilador.
— Prasanna HR
Isso funcionou para mim: basta remover todas as bibliotecas e, em seguida, compilar e executar. Isso solicitaria a confirmação de seus erros em seu projeto. Execute o projeto novamente após aplicar as bibliotecas.
— Ghulam Mohammed Taher
Geralmente, a versão do JDK do servidor será inferior à do aplicativo implantado (construído com a versão superior do jdk)