我想在tomcat中将级别日志记录设置为DEBUG,但在控制台中仅设置INFO和WARN输出.谁能告诉我什么是错的?
我的C:\ tomcat\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 DEBUGrmation 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 …Run Code Online (Sandbox Code Playgroud) 我一直在tomcat 7.30(eclipse juno)上得到这个
至少有一个JAR被扫描用于TLD但尚未包含TLD.为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表.在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间.
我于是在conf\logging.properties转身都INFO以FINE和注释掉线
# To see debug messages in TldLocationsCache, uncomment the following line:
org.apache.jasper.compiler.TldLocationsCache.level = FINE
Run Code Online (Sandbox Code Playgroud)
我仍然看到 At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging...
那么我该怎么做才能看到这些罐子呢?
日志位置:
tomcat日志位于$ CATALINA_HOME\logs\catalina.yyyy-mm-dd.log中.Eclipse在控制台中打印它们 - 如果您想要记录您的控制台,您必须
在服务器选项卡中,双击Tomcat服务器.您将看到一个名为Overview的屏幕.单击"打开启动配置".单击"Common"选项卡.在屏幕底部,您可以选中"文件"复选框,然后指定一个可用于记录控制台(catalina.out)输出的文件.最后,重启Tomcat服务器.
设置: Eclipse Juno R,Tomcat 7.0.8,tomcat通过eclipse插件运行.来自eclipse的Tomcat启动配置有VM参数-Djava.util.logging.config.file ="C:\ WS\Serverlogs\tomcat7\conf\logging .properties"(参考:我在哪里可以查看Eclipse中的Tomcat日志文件?)获取以下错误.
Can't load log handler "1catalina.org.apache.juli.FileHandler"
java.lang.ClassNotFoundException: 1catalina.org.apache.juli.FileHandler
java.lang.ClassNotFoundException: 1catalina.org.apache.juli.FileHandler
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.util.logging.LogManager$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.util.logging.LogManager.loadLoggerHandlers(Unknown Source)
at java.util.logging.LogManager.addLogger(Unknown Source)
at java.util.logging.LogManager$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.util.logging.LogManager.<clinit>(Unknown Source)
at java.util.logging.Logger.getLogger(Unknown Source)
at org.apache.juli.logging.DirectJDKLog.<init>(DirectJDKLog.java:71)
at org.apache.juli.logging.DirectJDKLog.getInstance(DirectJDKLog.java:196)
at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:170)
at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:242)
at org.apache.juli.logging.LogFactory.getLog(LogFactory.java:293)
at org.apache.catalina.startup.Bootstrap.<clinit>(Bootstrap.java:57)
Can't load log handler …Run Code Online (Sandbox Code Playgroud) 在Arch Linux ARM上启动Tomcat 8时,我收到以下警告:
信息:至少有一个JAR被扫描用于TLD但尚未包含TLD.为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表.在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间
我已经修改了$ {catalina.home} /logging.properties,如下所述:如何修复JSP编译器警告:一个JAR被扫描用于TLD但尚未包含TLD?
我将一些日志记录级别从INFO更改为FINE,取消注释"org.apache.jasper.compiler.TldLocationsCache.level = FINE"并添加了"org.apache.jasper.servlet.TldScanner.level = FINE".所以文件的结尾现在看起来如下:
org.apache.catalina.core.ContainerBase.[Catalina].[localhost] .level = FINE org.apache.catalina.core.ContainerBase.[Catalina].[localhost] .handlers = 2localhost.org.apache.juli.AsyncFileHandler
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/ manager] .level = FINE org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/ manager] .handlers = 3manager.org.apache.juli.AsyncFileHandler
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/ host-manager] .level = FINE org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/ host- manager] .handlers = 4host-manager.org.apache.juli.AsyncFileHandler
#例如,将org.apache.catalina.util.LifecycleBase记录器设置为log#扩展LifecycleBase更改状态的每个组件:#org.apache.catalina.util.LifecycleBase.level = FINE
#要在TldLocationsCache中查看调试消息,请取消注释以下行:org.apache.jasper.compiler.TldLocationsCache.level = FINE org.apache.jasper.servlet.TldScanner.level = FINE
但我仍然在启动时收到警告,而不是不需要的JAR路径.怎么了?
我正在运行带有Tomcat的Eclipse 3.5(从WTP集成),我希望在txt中看到输出日志而不仅仅是控制台
无法在我的eclipse /工作区或本地Tomcat 6安装目录中找到它
任何线索如何启用这些?
我也启用org.apache.catalina.valves.RequestDumperValve了输出并在控制台上滚动,我希望在txt中看到
我找到了类似的问题 - 答案
但它没有任何帮助.在.metadata附近我没找到任何文件*.log.从Eclipse运行时可能是Tomcat不写日志文件?谢谢.
首先我的软件堆栈:
我正在使用没有web.xml的 servlet 3 .
我做了什么:
javax.servlet.ServletContainerInitializer到/ src/main/webapp/META-INF/services并放入实现的完全限定类名WebApplicationInitializer目前我的项目包含大约7个文件(3x .java,1x .jsp,1x .html,1x .pom,1x javax.servlet.ServletContainerInitializer)
什么有效:
通过Maven编译和war-packaging,然后简单地在独立的Tomcat上部署.war.
http://127.0.0.1/MyApp/ 显示index.htmlhttp://127.0.0.1/MyApp/hello 显示hello.jsp什么行不通:
如果我现在尝试使用Eclipse Run -> Run on Server.然后我选择我的Tomcat目录等... servlet(/hello)只给出了404.但index.html有效.
3个Java文件:
Initializer.java:
public class Initializer implements WebApplicationInitializer {
@Override
public void onStartup(ServletContext servletContext) …Run Code Online (Sandbox Code Playgroud)