2013-01-23 14 views
5

Eclipse WTP(Juno)からTomcat 7を実行していて、ログレベルをチューニングできないようです。あまりにも冗長なデバッグからすべてのものをログに記録します(INFOからログします)。次のようにlogging.propertiesファイルは、次のとおりです。Eclipse WTPでのログレベルの減少

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 
+0

この問題を解決しましたか?私は自分のeclipse + wtpと同じ問題を抱えています。 –

答えて

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> 
5

Eclipse WTPでTomcat 7のログレベルを設定したいという同じ問題がありました。私はwebappの/ srcディレクトリにlogging.propertiesを入れてみました。無効。 Tomcatインストールの/ confディレクトリにあるlogging.propertiesファイルを修正しようとしましたが、そこには何の効果もありませんでした。 .metadata/.plugins/org.eclipse.wst.server.core/tmp0のEclipse WTPの "shadow" Tomcat領域を私のワークスペースディレクトリの下に発見し、そこの/ confディレクトリにlogging.propertiesファイルを置きました。無効。

「実生活」のTomcatが「JULI」というロギングマネージャーで自動的に実行されるのに対して、何らかの理由でEclipse WTP内で実行されているTomcatがJULIで実行されないことを指摘した記事が多数見つかりました(たとえばthis FAQ at eclipse.org)。私は私のTomcatの実行の設定でVMの引数に

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

を追加しようとしたが、それはちょうど私にClassNotFoundエラーを得ました。 (そして、はい、私はクラスパスにtomcat-juli.jarを持っていたので、なぜそれが見つからないのかわかりません)

最後に、私のjdk jreのlogging.propertiesインスタンスを修正しようとしました/ lib。ジャックポット!これはTomcat-in-Eclipseで行われたログ記録に影響を与えるものです。だから、この長い物語の教訓は、あなたがしたいすべてがある場合は、Eclipseで実行している間、単にような単純な少しステートメントを使用して、ロギングを設定することです:

myapp.mypackage.level=FINE 

次に$ JAVAHOME/libに/ logging.propertiesはそれを置く場所です。

+0

さらに、対応するルートレベルとConsoleAppenderレベルがフィルタリングしないようにします。つまり、 '.level = FINE'と' java.util.logging.ConsoleHandler.level = FINE ' – Adam

6

トムチャタヌーガは引用FAQあたりこれらの両方追加:

-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は、などでもかまいません。サーバーの構成と同じパスを使用します。 もちろん、logging.propertiesファイルをそこに置いたと仮定します。 そのようにすると、プロジェクトエクスプローラウィンドウの[サーバー]にファイルが表示されます。 Tomcat confディレクトリからコピーしてください。

このすべては、あなたがJULIの使用を意図していることを前提としています。

Tomcat 8.0とEclipse Marsで動作します。 なぜトムにとってうまくいかなかったのか分かりません。 誰かの投稿から間違ったクラス名を使用したとき、私は明らかに、ClassNotFoundを見ました。

Tom Chattのアプローチに反対すると、そのJVMの他のすべての用途に影響するので、私はアドバイスしたいと思います。

+0

これは良い答えです。これは基本的にバグです。これはwtp上のTomcatサーバーのデフォルトの動作でなければならないからです – MitchBroadhead

関連する問題