2011-07-15 7 views
0

GoogleAppEngineを使用してJava用のデフォルトプロジェクトを作成します.Googleサーバーにアプリケーションをデプロイすると、最初のリクエストに対して次の警告メッセージが表示されます。GoogleAppEngineログの警告

log4j:WARN logger(DataNucleus.Connection)のアペンダーが見つかりませんでした。
log4j:WARN log4jシステムを適切に初期化してください。

ログは正常に動作していますが、この問題によって一部の要求が遅れています。

正しく設定するにはどうすればよいですか?

答えて

1

になりますあなたの要求?

GAEは標準サーブレットコンテナのようには機能しません。その背後では、アイドル状態のWebアプリケーションをアンロードしてから、そのWebアプリケーションの新しい要求を取得したときにのみ再度ロードします。これは基本的にアプリケーションの完全な再デプロイメントと同じですが、 GAEが要求を受け取ってからまで開始されません。したがって、ロード操作をトリガーする要求は、後続の要求と比較して顕著に遅延します。

しかし、遅れに寄与していることがたくさんあります。初期化されていないlog4j設定では、実際の違いをあまり反映していないと思います。

0

このメッセージは、log4j構成が見つからないことを意味します。

log4jの設定は、たとえば、アプリケーションクラスパスのlog4j.propertiesという名前のファイルに配置する必要があります。

の設定は、例えば、次のようになります。

log4j.rootLogger=WARN, stdout 

log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.Target=System.out 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %t %c{1}:%M:%L - %m%n 

プロジェクトがMavenのベースである場合は、log4j.propertiesを置くのに最適な場所は、これはいくつかのを遅らせていることをあなたが確認します何src/main/resources

+0

これはMavenプロジェクトではなく、デフォルトのGoogleAppEngineプロジェクトです。 – Victor

+0

[OK]をクリックし、すべてのソースが配置されている場所に配置します –