2011-03-09 7 views
2

私はちょっと混乱しているので、専門家に聞いてみると思います。Java Application + Logging

小さなJavaアプリケーションを作成しました。私は、ログと例外を書き込むディレクトリのパスを含むプロパティファイルを読み込む関数を持っています。その時までにロガーが初期化されていないので、プロパティファイルを読み込んでいるときに例外が発生すると、エラーまたは例外がどのようにあるかを知ることができますか? e.printStackTrace()をcatchブロックに書き込んで、どこに印刷するのですか?私は、Windowsスケジューラを通じてこのアプリケーションを実行しています。

ありがとうございました。

BR SC

答えて

1

、デフォルトでは標準出力に書き込まれているjava-util.loggingを使用することができますどのように関係なくログオンする場合。これはJREの内部にロギング機能が組み込まれていない場合に便利でした。ロギング・プロパティーは、logging.propertiesファイル(JVMのスタート・ポイントで提供される)を使用して構成できます。アプリケーション内では、ネストされた例外の有無にかかわらず、重大度の異なるメッセージをログに記録できます。

Hereは、基本的な設定とログ機能の使用例を示す便利なページです。

+0

ありがとうございます。私はすでにjava.util.loggingを使用しています。グローバルレベルで実装するためのリンクに従います。したがって、すべてのアプリケーションに対して1つのグローバルログしか存在できませんか?異なるアプリケーションごとに別々のログを作成することはできますか? BR。 SC – SmoothCriminel

+0

私はJDKレベルで話しています... – SmoothCriminel

+0

私はそれを持っています...私はjava.util.logging.config.file = myLoggingConfigFilePathを使うことができます...ログファイル名も含めるべきですか?例えば"d:\ test \ logging.properties"と入力します。ありがとう。 SC。 – SmoothCriminel

1

使用log4j configureはそれは、[ここではクラスパスからlog4j.propertiesまたは.xmlを使用してそれを自己を設定します]アプリ起動時に、それを初期化し、アプリ広いそれを使用しています。

0

例外がスローされたことを確認したい場合は、それをキャッチしないでください。

printStackTrace()はstderrに書き込みます。あなたはそれを読むためにコンソールを使ってあなたのアプリを走らせることができます。

あなたが任意の設定や余分なLIBSにせずに、あなたはJDKにバンドルし、Log4jのを忘れる

+0

ありがとうございました。 BR。 SC。 – SmoothCriminel