在开发/测试环境,日志是非常重要的。而公司对于测试环境进行了控制,只有配置人员能连接访问,而开发人员是无法获取该服务器的信息的。在出现错误时,没有异常日志,开发是很难重现问题的。因此需要对中间件 tomcat 进行配置,将日志放到某个目录下,开发人员可以通过浏览器就能查看日志。ok,开工:
目的 : 能通过浏览器检查tomcat日志
方法 :将 tomcat 的日志放置到 $CATALINA_HOME/webapps/ROOT/logs 下,用户就可以通过 http://xxx.xxx.xxx.xxx/logs/catalina.out 访问日志了。
1. 修改tomcat/conf下的logging.properties
# 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, 4host-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}/webapps/ROOT/logs 1catalina.org.apache.juli.FileHandler.prefix = catalina. 2localhost.org.apache.juli.FileHandler.level = FINE 2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/webapps/ROOT/logs 2localhost.org.apache.juli.FileHandler.prefix = localhost. 3manager.org.apache.juli.FileHandler.level = FINE 3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/webapps/ROOT/logs 3manager.org.apache.juli.FileHandler.prefix = manager. 4host-manager.org.apache.juli.FileHandler.level = FINE 4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/webapps/ROOT/logs 4host-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 = INFO 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 ] . [ /host-manager ] .level = INFO org.apache.catalina.core.ContainerBase. [ Catalina ] . [ localhost ] . [ /host-manager ] .handlers = 4host-manager.org.apache.juli.FileHandler # For example , to log debug messages in ContextConfig and HostConfig # classes and to log only warnings and errors in other # org.apache.catalina.** classes , uncomment these lines: #org.apache.catalina.startup.ContextConfig.level = FINE #org.apache.catalina.startup.HostConfig.level = FINE #org.apache.catalina.level = WARNING
2. 修改tomcat/bin/catalina.sh
186 if [ -z "$CATALINA_OUT" ] ; then
187 CATALINA_OUT=
"$CATALINA_BASE"/webapps/ROOT/logs/catalina.out
188 fi
【注意】红色字体是需要修改的内容,修改为当前 tomcat 的最新的网站根目录即可。
3、重启 tomcat
4、使用浏览器即可查看日志: http://xxx.xxx.xxx.xxxx/logs/catalina.out