Resumo
Recém-instalado (via apt-get
) o Tomcat em um Ubuntu 8.04 LTS de 64 bits recém-instalado funciona, mas não registra (parece) nada. Veja também " O que eu tentei " e " Fechando nele nele " abaixo.
Mais detalhes
Como os mantenedores de pacotes fizeram uma grande quantidade de trabalho, fazer as coisas básicas funcionarem tem sido uma questão bastante direta de executar apt-get
e apontar o Tomcat para o JDK correto. E isso funciona. Mas não parece registrar nada.
Até onde eu sei, a infra-estrutura de log é controlada via logging.properties
files (já que este é o Tomcat 5.5, não o Tomcat 5.0), incluindo um central (que você pode sobrescrever por aplicativo web) em /etc/tomcat55/logging.properties
( /etc/tomcat55
é symlinked como /var/lib/tomcat55/conf
). Eu não estou ignorando isso, e não consigo ver por que não estou vendo algo . Aqui está o arquivo:
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler, 4admin.org.apache.juli.FileHandler, 5host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################
1catalina.org.apache.juli.FileHandler.level = FINE
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.FileHandler.prefix = catalina.
2localhost.org.apache.juli.FileHandler.level = FINE
2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.FileHandler.prefix = localhost.
3manager.org.apache.juli.FileHandler.level = FINE
3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
3manager.org.apache.juli.FileHandler.prefix = manager.
4admin.org.apache.juli.FileHandler.level = FINE
4admin.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
4admin.org.apache.juli.FileHandler.prefix = admin.
5host-manager.org.apache.juli.FileHandler.level = FINE
5host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
5host-manager.org.apache.juli.FileHandler.prefix = host-manager.
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
############################################################
# Facility specific properties.
# Provides extra control for each logger.
############################################################
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = DEBUG
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.FileHandler
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/admin].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/admin].handlers = 4admin.org.apache.juli.FileHandler
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 5host-manager.org.apache.juli.FileHandler
# For example, set the com.xyz.foo logger to only log SEVERE
# messages:
#org.apache.catalina.startup.ContextConfig.level = DEBUG
#org.apache.catalina.startup.HostConfig.level = DEBUG
#org.apache.catalina.session.ManagerBase.level = DEBUG
A única alteração que fiz foi:
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = DEBUG
... que foi definido como INFO
como todos os outros, mas eu queria fazer com que ele registrasse alguma coisa , então atualizei para DEBUG
. Naturalmente eu reiniciei o Tomcat.
Eu posso compilar e ver um JSP, então novamente o Tomcat está trabalhando , mas /var/lib/tomcat5.5/logs
está teimosamente vazio. Mesmo se eu forçar um erro por ter um JSP inválido ou algo assim, não receberei nada.
O que eu tentei
- Eu já passei pelas etapas listadas nas Perguntas frequentes sobre o Tomcat para garantir que a distro não tenha Não estraguei tudo (eles não fizeram).
- Eu procurei por um diretório
logs
em outro lugar, caso não seja /var/lib/tomcat5.5/logs
(embora isso tenha sido criado pela instalação).
- Naturalmente, reiniciei o Tomcat depois de fazer qualquer alteração.
Uma coisa que eu não fiz foi chown
all a ser de propriedade do usuário tomcat55
que a instalação criou. logs
é de propriedade de tomcat55
, mas vários outros diretórios e arquivos são de propriedade de root
, embora sejam legíveis por todos. Eu não fiz isso porque ( trava a cabeça ) eu não consigo descobrir como fazer o backup completo da árvore existente para que eu possa desfazer a alteração prontamente. A árvore destruída possui links simbólicos absolutos entrelaçando /etc/tomcat55
, /var/lib/tomcat55
e /usr/share/tomcat55
que eu conheço . Eu poderia aumentar cada um desses, mas não sei ao certo que não estou sentindo falta de algo.
EDITAR:
Encerrando-se nele
Ok, descobri que está escrevendo coisas no estilo console para /var/log/daemon.log
. Ufa! Pelo menos isso me dá um lugar para começar. E está emitindo reclamações como:
jsvc.exec[18819]: Can't load log handler "2localhost.org.apache.juli.FileHandler"
jsvc.exec[18819]: java.lang.ClassNotFoundException: 2localhost.org.apache.juli.FileHandler
E eu não estou surpreso, 2localhost.org.apache.juli.FileHandler
não é um nome de classe válido (pacotes não podem começar com dígitos!). Então, estou suspeitando que o arquivo logging.properties
padrão seja ... não é bom. Relatará de volta.