デバッグログ
Nexaweb Server と Nexaweb Client では、さまざまなアプリケーション メッセージが生成されます。このようなメッセージは、アプリケーションをデバッグするときに参考にすることができます。また、このようなメッセージのコン テンツを表示するログレベルを指定することもできます。
Nexaweb は、各種のアプリケーション メッセージを Nexaweb コンソールに表示して、Web アプリケーション サーバー上のServletContextログに格納します。
アプリケーション メッセージ
Nexaweb Server と Nexaweb Client は、アプリケーション メッセージのタイプをそれぞれ異なる方法で生成します。Nexaweb Server は、アプリケーションで使用される Nexaweb の機能に基づいて、メッセージ タイプのデフォルトのセットとその他のタイプを生成します。一方、Nexaweb Client は、メッセージ タイプのデフォルトのセットのみを生成します。
メッセージ タイプ | 説明 | サーバーまたはクライアント |
Macrohandler | マクロの定義に関するメッセージ。 | 両方 |
Messaging | アプリケーションの MessageListener クラスによって処理されないメッセージ。 | 両方 |
FormatUtils | Nexaweb の自動タイプ変換に関するメッセージ。 | 両方 |
XUpdate | XUpdate 文の結果を詳述するメッセージ。 | 両方 |
XModify | XModify文の結果を詳述するメッセージ。 | 両方 |
Macro | マクロの実行に関するメッセージ。 | クライアント |
WebServicesBroker | Web サービスに関するメッセージ。 | クライアント |
PrintService | PDF 印刷に関するメッセージ。 | サーバー、デスクトップクライアント |
Nexaweb Server が生成するアプリケーション メッセージのタイプの完全なリストを参照するには、Nexaweb Server 管理コンソールに次のようにアクセスします。
- ブラウザの [Address] または [Location]フィールドに「<application-context>/Nexaweb/Services」と入力するか、実行中の Nexaweb クライアントアプリケーションでF3キーを押します。
Nexaweb Server 管理コンソールのページが表示されます。 - ページの右側にある [Reports] の下の [Log Names]をクリックします。
Nexaweb Server 管理コンソールのページに、現在使用中のログ名がすべて一覧表示されます。
メッセージのログ レベル
Nexaweb では、ログ ファイルでキャプチャされるメッセージに多くの種類のログ レベルが用意されています。ログ レベルの主な違いは冗長性にあります。つまり、あるログレベルには、より少ない、またはより多くの他のログ レベルからのメッセージが含まれています。
Nexaweb Platform 4.5+ では、Nexaweb Server または Nexaweb Client によって生成されるログに、キャプチャするメッセージのログレベルを選択できます。
Nexaweb では、アプリケーション メッセージに次のログ レベルが用意されています。
ログ レベル | 説明 | サーバー ログ | クライアント ログ |
debug | すべてのログ レベルからのメッセージを含みます。 | 構成可能 | すべてのバージョンの Nexaweb Platform で構成可能。 |
info | debug を除くすべてのログ レベルからのメッセージを含みます。 Nexaweb Server および Nexaweb Client ログのデフォルトのログ レベルです。 | 構成可能 | Nexaweb Platform 4.5+ では構成可能。 4.5+ より前のバージョンの Nexaweb Platform では、debug が設定されていない場合のデフォルトのログレベル。 |
exception | 例外とエラー メッセージを含みます。 例外メッセージは、現在の操作に影響を与える可能性のある動作を示します。 | 構成可能 | Nexaweb Platform 4.5+ ではデフォルトのログレベル。 4.5+ より前のバージョンの Nexaweb Platform では構成不可。 |
error | エラー メッセージのみを含みます。 エラー メッセージは、アプリケーションが復旧できない可能性のある動作を示します。 | 構成可能 | Nexaweb Platform 4.5+ では構成可能。 4.5+ より前のバージョンの Nexaweb Platform では構成不可。 |
各種のアプリケーション メッセージでログ レベルを構成するには、「サーバーのデバッグ ログの構成」または「クライアントのデバッグ ログの構成」を参照してください。
デバッグ ログの構成
Nexaweb Server および Nexaweb Client のコンフィギュレーション ファイルでデバッグ ログを構成します。
コンフィギュレーション ファイル | ファイル名 | 場所 |
クライアント | nexaweb-client.xml | application project\WebContent\WEB-INF |
サーバー | nexaweb-server.xml | Nexaweb Platform 4.x\doc |
サーバーのデバッグ ログの構成
サーバーのコンフィギュレーションファイル、nexaweb-server.xml には、Logging Configuration セクションがあります。ここでは、次に示すように、Nexaweb Server のログ出力機能のさまざまな面に関する設定ができます。
- メッセージのログレベル
- メッセージフォーマット
- Nexaweb Server がログメッセージを送信するコンシューマ
- 電子メールコンシューマのプロパティ
メッセージのログ レベルの構成
次のようなメッセージのログレベルは、<log-configuration>セクションで構成します。
- アプリケーションメッセージのすべてのタイプに構成するデフォルトのログレベル
- アプリケーションメッセージの個々のタイプに構成するログレベル
タグ | 説明 |
<default-log-level> | アプリケーション メッセージのすべてのタイプに対してログ ファイルでキャプチャするデフォルトのログ レベルを指定します。 |
<log name log-level> | アプリケーション メッセージの特定のタイプに対してキャプチャするログ レベルを指定します。 |
例:
<log-configuration default-log-level="info"> <log name="XUpdate" log-level="debug"/> <log name="SessionManager" log-level="debug"/> </log-configuration>
メッセージ フォーマットの構成
<output-format> セクションでは、ログ メッセージを受信するために設定するコンシューマで表示されるメッセージのフォーマットを構成できます。メッセージに表示されるコンテンツおよび日付のフォーマットを指定することができます。
タグ | 説明 |
<format> | メッセージに表示するコンテンツの範囲を指定することによって、ログ メッセージのフォーマットを指定します。使用可能なメッセージ コンテンツのリストについては、次の表を参照してください。 |
<date-format> | 表示するコンテンツの範囲の一部に日付を選択した場合は、日付フォーマットを指定します。 |
メッセージ コンテンツのオプション
コンテンツ | 説明 | シンボル |
Type | メッセージのログ レベルを含みます。 | {0} |
Formatted date | Nexaweb がメッセージを生成した日付。 | {1} |
Threadname | メッセージを生成したスレッドの名前を指定します。 | {2} |
Message | 発生したイベントに関する情報。 | {3} |
LogName | このイベントがキャプチャされるログ。 | {4} |
次に示すように、各アイテムをスペースで区切り、全体を角かっこで囲んだリストを使用して、ログ メッセージに表示するコンテンツの範囲を指定します。
<format> [{1} {2} {3} {4}] </format>
この例には、フォーマット設定された日付 (Formatted date)、スレッド名 (Threadname)、メッセージ (Message)、およびログ名 (Logname) が含まれています。
また、次に示すように、メッセージに含まれるコンテンツの各部分の間に表示される句点を使用して、メッセージのフォーマットを設定することもできます。
<format> [{1}:{2} {3} {4}] </format>
この例では、メッセージは次のように表示されます。
<date-format>
Nexaweb Server がログ メッセージを送信するコンシューマの構成
<consumers>セクションでは、Nexaweb Server のログメッセージの送信先であるコンシューマを指定します。このセクションに含める各コンシューマは、ログメッセージに固有のメソッド\受信者を指定します。
コンシューマ | タグ | 説明 |
Web アプリケーションログ | <consumer class="com.nexaweb.server.log.WebApplicationLogConsumer" /> | このタグをLogging Configurationに含めると、ログメッセージが Web アプリケーションサーバーの ServletContext ログに出力されます。1 つのアプリケーションにつき、1 つの ServletContext ログにのみメッセージを送信するよう構成できます。 |
コンソールログ | <consumer class="com.nexaweb.server.log.ConsoleLogConsumer" /> | このタグをLogging Configurationに含めると、アプリケーションの実行中にログメッセージを Nexaweb Studio コンソールで表示するために、ログメッセージが Nexaweb コンソールログに出力されます。 |
メール | <consumer class="com.nexaweb.server.log.EmailLogConsumer" /> | このタグを含めると、電子メールを介してログメッセージを出力することができます。電子メールを介してログメッセージを送信するだけでなく、Nexawebがこれらのメッセージを送信する宛先の電子メールアドレスとその形式を設定できます。 |
タグ | 説明 |
<default-log-level> | すべてのアプリケーションメッセージのデフォルトログレベルを設定します。 |
<log name log-level> | 指定のアプリケーションメッセージのログレベルを設定します |
例:
<log-configuration default-log-level="info"> <log name="XUpdate" log-level="debug"/> <log name="SessionManager" log-level="debug"/> </log-configuration>
この例では、すべてのログに対するデフォルトのログレベルを info に設定します。また、ログレベルを debug に設定すると、XUpdate および SessionManager ログに設定されているデフォルトのログレベルがオーバーライドされます。
Nexaweb Client がログメッセージを送信するコンシューマの構成
<consumers> セクションでは、Nexaweb Client のログメッセージの送信先であるコンシューマを指定します。このセクションに含める各コンシューマは、ログメッセージに固有のメソッド\受信者を指定します。
次のサーバーのログ メッセージのコンシューマを構成できます。
コンシューマ | タグ | 説明 |
コンソールログ | <consumer class="com.nexaweb.server.log.ConsoleLogConsumer" /> | このタグをLogging Configurationに含めると、アプリケーションの実行中にログメッセージを Nexaweb Studio コンソールで表示するために、ログメッセージが Nexaweb コンソールログに出力されます。 |
ダイアログログ | <consumer class="com.nexaweb.client.log. DialogLogConsumer" /> | この tag を nexaweb-client.xmlfile の Logging Configuration に含めることにより Nexaweb がモーダルダイアログがクライアントエラー/例外メッセージを出力する原因になります。 |