2009-10-05 3 views
5

Java用Google App Engineのためのドキュメントによると:App Engineが自動的にstdout&stderrをINFO&WARNINGに記録する場合、なぜlogging.propertiesを使用しますか?

のApp EngineのJava SDKは のappengine-javaの-SDK /設定/ユーザー/ ディレクトリに、 テンプレートlogging.propertiesファイルが含まれています。それを使用するには、ファイルを WEB-INF/classesディレクトリ(またはWAR内の他の場所にある )にコピーし、システム プロパティjava.util.logging.config.file 〜 "WEB-INF/classes/logging .properties " (または選択したパス、アプリケーションルートに対して )。次のように は、 のappengine-web.xmlファイルでシステムプロパティを設定することができます。

<appengine-web-app xmlns="http://appengine.google.com/ns/1.0"> 
    ... 

    <system-properties> 
     <property name="java.util.logging.config.file" value="WEB-INF/classes/logging.properties" /> 
    </system-properties> 

</appengine-web-app> 

をEclipse用Googleプラグインの新しい プロジェクトウィザードがあなたのためにこれらのログ の設定ファイルを作成し、 自動的にWEB-INF/classes/ にコピーします。 java.util.loggingの場合、 にシステム属性を に設定する必要があります。

If your write to standard out or standard error, that will automatically get logged as INFO or WARNING.

だから、なぜあなたはlogging.propertiesファイルを使用する必要がありますか?

これにより、ログの管理をさらに強化できますか?

答えて

6

DEBUGなどのより詳細なログ情報を使用する場合は、

この方法で開発中に詳細情報を記録することができ、コードを本番環境に置くときにコードを変更する必要はありません。

個人的な例:私がコードを書くとき、私は多くの情報を記録します(レベルFINEとFINESTのログ)。テスターに​​私のアプリケーションを送るとき、彼らはDEBUGレベルを使用します。プロダクション(パブリックに)では、INFO、WARNING、SEVEREのみがログに記録されます。

結論として、これにより制御が強化され、コード行を変更する必要はありません。

javaへのログインの詳細については、here

+0

ありがとう。それはとても役に立ちます。 –

+3

GAEログコンソールの「FINE」、「FINER」、「FINEST」=「DEBUG」 –

+0

「詳細情報」リンクはもう機能しません – ammianus

関連する問題