私は Play 2.1 を初めて使用し、Play を運用環境にデプロイする最も簡単な方法を見つけようとしています。最も有望な Play 2.1 のすぐに使える機能は、
play dist
これにより、アプリを実行するためのすべてのサポート JAR と、すべてを起動するいくつかの開始シェル スクリプトを含む ZIP ファイルが作成されます。チャンピオンのように機能します。
問題は、私のアプリケーションでは、すぐに使用できるフリーサイズの logs/application.log よりもきめ細かいロギングが必要なことです。私の開発ボックスでは、conf/logger.xml を作成および構成して、コントローラー クラス (実際には任意のクラス) ごとに昔ながらのトピック ロギングを実行する方法を見つけました (実際には任意のクラスですが、今はコントローラーに固執しましょう)。これは、play コンソールを介して実行すると開発ボックスで正常に動作しますが、「play dist」を使用してアプリケーションをビルドし、start シェル スクリプトだけを使用してアプリ サーバーで起動すると、このロガーが構成されているログファイルを取得できません。生産する。また、これらのログがないとわかりませんが、start コマンドもプロジェクト用に構成したグローバル オブジェクトを見つけることができないと思います。
私のアプリケーションである JAR ファイルを調べると、conf/application.conf および conf/logger.xml ファイルが JAR にあることがわかります。アプリケーションの起動時にロードされていません。
開始スクリプトを実行して JAR ファイルから logger.xml をロードするにはどうすればよいですか? コマンドラインで -D を使用して指定する必要がありますか?それとも、アプリケーションの JAR から直接ロードする必要がありますか?