配布タスクをリードする最初の二日間は、すべてのプロジェクトを置くことですキャッチ例外処理をしようと次に集中すること、により変化させ治療の前に、ヘラジカを収集し、その後も批判されました。
いないすべての例外情報をログに記録する必要があります
使用SLF4J
- ファサード・パターンを使用して、ロギング・フレームワークは、各クラスの統一されたログ処理を維持する助けとなります。
- 一貫性のある使用の実装は、フレームワークを使用しlogback。
あなたはログを打つ必要がある場合は?
- あなたは問題が発生した場合は、問題がデバッグ機能によって決定することができ、あなたがプレイログ、良いシステムを検討すべきである、あなたは、ロギングすることによって、問題を見つけることができます。
- あなたが分岐if..elseまたはスイッチのようなものを持っている場合は、あなたが最初の行にログを印刷することができ、そのブランチに決定するために使用されます。
- 多くの場合、開発の中核として機能するときには、全体のプロセスを参照してくださいログインすることで、コードの前に提出することができます。
基本フォーマット
あなたは、パラメータ情報を使用する必要があります。
「logger.debug( "IDと加工貿易:[{}]と記号:[{}]"、ID、シンボル)。」
デバッグログについて、あなたは使用前にデバッグレベルかどうかを判断する必要があります。
しかし、これはお勧めしません。文字列の連結に関連した上記のコードなので、アプリケーションのパフォーマンスに影響を与え、Stringオブジェクト、多くのスペースを持っています。
あなたが使用することができる[{}]アイソレーションパラメータを
パラメータの変数がある場合は、次のように書くことができます。
この形式は、問題のトラブルシューティングのためのより有用書かれました。
使用の異なるレベル
エラー
定義:現在のリクエストの例外、通常の動作をプログラムの通常の動作に影響を与えます:
- 失敗した設定ファイルを開きます。
- (サードパーティはエラーコードを返すなど)サードパーティの異常をドッキング
- すべての例外の使用の機能に影響を与えます。SQLEXCEPTIONを含め、すべての例外(RuntimeExceptionが、Ecxception)のビジネス例外に加えて、
例外がスローされた場合は、エラーログを記録しませんが、処理のための究極の治療法があります。
図は次のとおりです。
WARN
定義:それは起こるべきではありませんが、それは、現在の要求の例外に通常の動作には影響しません。
- フォールトトレランスがある場合にエラーが発生します
- コンフィギュレーション・ファイルを見つけることができませんが、プログラムが自動的に作成することができますまたは下に運ぶために続けること
- 時間のしきい値にバッファプールの占有近いです
- インターフェイスは時にビジネス例外をスローします
INFO
定義:システム操作に関する情報、外部インターフェース
- システム/サービス状態の変更のためのサービス
- ステップにより、メインロジックステップ
- クライアントのリクエストパラメータ
- コールコールコールパラメータおよび第三者の結果
ここで違いを確認する選択肢もあり、通常のサービスは、単に意味がありません。すべてではないが、各事業のためにそれを行います
このようなシステムを発注するなど、複雑なビジネスロジック、ビジネス・ロジックのため、産業システム等の伝送ロジックを、ここを停止します
デバッグ
定義:常にオン、あなたはケースを開くために必要がある場合は、あなたが管理するためにスイッチを使用する必要があり、本番環境でデバッグを終了する必要があり、最良のパラメータ、知っていない場合があります関連情報を記入
トレース
定義:システム動作上、特に詳細な情報を表示します。ビジネス・コードは、(特別な意図がない限り、またはデバッグに置き換え)を使用しないでください
トレースをスキップする場合よりも高い、トレース・レベルのデバッグの数よりもさらに低い、と自動的にレベルをチェックします。
デバッグ文は、印刷される最初の生産で、その後、レベルを確認してください。上記は、出力デバッグされていない場合
デバッグ裁判官にして、それ以外の場合は、不要なオブジェクトを生成します。