8

我在 Eclipse WTP (Juno) 中运行 Tomcat 7,但似乎无法调低日志记录级别。它记录来自调试的所有内容,这太冗长而无法使用(我希望它从 INFO 记录)。logging.properties 文件如下:

handlers =  java.util.logging.ConsoleHandler

.handlers = java.util.logging.ConsoleHandler

.level=INFO

############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.  
############################################################

java.util.logging.ConsoleHandler.level = INFO
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
4

3 回答 3

9

根据Tom Chatt 引用的常见问题解答添加这两个:

-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file="${workspace_loc}/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/conf/logging.properties"

服务器启动配置的参数将为您提供所需的内容。 ${workspace_loc}是字面的;Eclipse 会将其替换为您的工作区目录。 tmp0可能是tmp1或这样的;使用与服务器配置相同的路径。当然,假设您已将logging.properties文件放在那里。这样,您将在“服务器”下的“项目资源管理器”窗口中看到该文件。您应该首先从 Tomcatconf目录中复制一个。

这一切都假设您打算使用 JULI。

适用于我的 Tomcat 8.0 和 Eclipse Mars。不知道为什么它对汤姆不起作用。ClassNotFound出于显而易见的原因,当我从某人的帖子中使用错误的类名时,我确实看到了 s。

我建议不要使用 Tom Chatt 的方法,因为这会影响该 JVM 的所有其他用途。

于 2015-12-10T08:12:53.073 回答
6

我有同样的问题,想在 Eclipse WTP 中配置 Tomcat 7 的日志记录级别。我尝试将 logging.properties 放在我的网络应用程序的 /src 目录中。没有效果。我尝试修改我的 Tomcat 安装的 /conf 目录中的 logging.properties 文件,但那里也没有效果。我在我的工作区目录下的 .metadata/.plugins/org.eclipse.wst.server.core/tmp0 中发现了 Eclipse WTP 的“影子”Tomcat 区域,并将 logging.properties 文件放在 /conf 目录下。没有效果。

我发现了许多文章(例如,eclipse.org 上的这个常见问题解答)指出,虽然“现实生活”中的 Tomcat 会自动使用名为“JULI”的日志管理器运行,但出于某种原因,在 Eclipse WTP 中运行的 Tomcat 不能使用 JULI . 我尝试添加

-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager

到我的 Tomcat 运行配置中的 VM 参数,但这只是让我出现 ClassNotFound 错误。(是的,我的类路径中确实有 tomcat-juli.jar,所以不知道为什么找不到它。)

最后,我想到尝试修改我的 jdk jre/lib 中的 logging.properties 实例。大奖!事实证明,这确实对 Tomcat-in-Eclipse 完成的日志记录有影响。因此,这个长篇故事的寓意是,如果您只想在 Eclipse 中运行时简单地配置日志记录,请使用如下简单的小语句:

myapp.mypackage.level=FINE

然后 $JAVAHOME/lib/logging.properties 是放置它的地方。

于 2014-06-07T07:55:29.487 回答
0

为了解决这个问题,我遵循了http://tomcat.apache.org/tomcat-7.0-doc/logging.html上的 tomcat log4j 指南。这将使 tomcat 使用 log4j。

接下来在 $CATALINA_HOME/lib 中设置 log4j 配置。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">


   <appender name="null" class="org.apache.log4j.varia.NullAppender" />

   <appender name="console" class="org.apache.log4j.ConsoleAppender">
    <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d %-5p [%c] %m%n" />
    </layout>
</appender>

<category name="org.package.domain">
    <priority value="INFO" />
    <appender-ref ref="console" />
 </category>

 </log4j:configuration>
于 2013-10-15T14:05:46.313 回答