Jsp Tomcat 8启用调试日志记录以列出不需要的JAR
在Arch Linux ARM上启动Tomcat 8时,我收到以下警告: 信息:至少有一个JAR已扫描TLD,但未包含TLD。 为此记录器启用调试日志记录,以获得 进行了扫描,但未发现TLD。跳过不需要的罐子 扫描期间可以缩短启动时间和JSP编译时间` 我已经修改了${catalina.home}/logging.properties,如下所述: 我将一些日志记录级别从INFO改为FINE,未加注释的“org.apache.jasper.compiler.tldlocationcache.level=FINE”,并添加了“org.apache.jasper.servlet.TldScanner.level=FINE”。因此,文件的结尾现在看起来如下所示: org.apache.catalina.core.ContainerBase.[catalina].[localhost].level= 好的 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 #要查看TldLocationCache中的调试消息,请取消注释以下行:org.apache.jasper.compiler.TldLocationCache.level=FINE org.apache.jasper.servlet.TldScanner.level=FINEJsp Tomcat 8启用调试日志记录以列出不需要的JAR,jsp,tomcat,logging,tomcat8,archlinux-arm,Jsp,Tomcat,Logging,Tomcat8,Archlinux Arm,在Arch Linux ARM上启动Tomcat 8时,我收到以下警告: 信息:至少有一个JAR已扫描TLD,但未包含TLD。 为此记录器启用调试日志记录,以获得 进行了扫描,但未发现TLD。跳过不需要的罐子 扫描期间可以缩短启动时间和JSP编译时间` 我已经修改了${catalina.home}/logging.properties,如下所述: 我将一些日志记录级别从INFO改为FINE,未加注释的“org.apache.jasper.compiler.tldlocationcache.lev
但我仍然在启动时收到警告,而不是不需要的JAR路径。出什么问题了?尝试通过以下方式调试所有内容:
{CATALINA-HOME}/conf
中的logging.properties
文件的末尾:
#To see the most detailed level of logging for all classes, uncomment the following line:
org.apache.catalina.level=FINEST
skips.txt
{CATALINA-HOME}/conf/CATALINA.properties
:
org.apache.catalina.startup.TldConfig.jarsToSkip=
我仍然不知道为什么会发生这种情况,因为对大多数人来说,取消注释
tldLocationCache
行似乎很有效。尝试通过以下方式调试所有内容:
{CATALINA-HOME}/conf
中的logging.properties
文件的末尾:
#To see the most detailed level of logging for all classes, uncomment the following line:
org.apache.catalina.level=FINEST
skips.txt
{CATALINA-HOME}/conf/CATALINA.properties
:
org.apache.catalina.startup.TldConfig.jarsToSkip=
我仍然不知道为什么会发生这种情况,因为对大多数人来说,取消注释
tldLocationCache
行似乎很有效。更简单的方法是,在上述文章的第1步中,不要对所有内容启用调试,而是限制在org.apache.jasper:
使用以下命令:
org.apache.jasper.level = FINEST
与此相反:
org.apache.catalina.level=FINEST
更简单的方法是,在上述文章的步骤1中,不要启用所有调试,而是限制为org.apache.jasper: 使用以下命令:
org.apache.jasper.level = FINEST
与此相反:
org.apache.catalina.level=FINEST
我编写了一个脚本来查找所有不包含TLD的JAR:
#!/bin/sh
TOMCAT_HOME=/opt/tomcat
for i in `find $TOMCAT_HOME -follow -name "*jar"`
do
jar tvf $i | grep -i tld > /dev/null
if [ $? -ne 0 ]; then
echo "$(basename $i),\\"
fi
done
编辑TOMCAT_主页以匹配您的安装,脚本将在表单上生成一个列表:
jar1.jar,\
jar2.jar,\
...
可粘贴到catalina.properties中的:
org.apache.catalina.startup.TldConfig.jarsToSkip=
我编写了一个脚本来查找所有不包含TLD的JAR:
#!/bin/sh
TOMCAT_HOME=/opt/tomcat
for i in `find $TOMCAT_HOME -follow -name "*jar"`
do
jar tvf $i | grep -i tld > /dev/null
if [ $? -ne 0 ]; then
echo "$(basename $i),\\"
fi
done
编辑TOMCAT_主页以匹配您的安装,脚本将在表单上生成一个列表:
jar1.jar,\
jar2.jar,\
...
可粘贴到catalina.properties中的:
org.apache.catalina.startup.TldConfig.jarsToSkip=
原始问题中提到的
org.apache.jasper.servlet.TldScanner.level=FINE
行应该足以获得不需要的JAR路径。可能是其他原因阻止了日志记录的工作
如果您正在使用Eclipse,并且正在服务器选项卡上作为服务器运行Tomcat,那么可能需要一些额外的配置来正确读取logging.properties
logging.properties
文件的路径:
-Djava.util.logging.config.file=“C:\REPLACE\WITH\PATH\TO\TOMCAT\conf\logging.properties”
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
感谢您的回答,这帮助了我。原始问题中提到的
org.apache.jasper.servlet.TldScanner.level=FINE
行应该足以获得不需要的jar路径。可能是其他原因阻止了日志记录的工作
如果您正在使用Eclipse,并且正在服务器选项卡上作为服务器运行Tomcat,那么可能需要一些额外的配置来正确读取logging.prope