デバッグログ

Nexaweb デバッグ ログ

Nexaweb Server と Nexaweb Client では、さまざまなアプリケーション メッセージが生成されます。このようなメッセージは、アプリケーションをデバッグするときに参考にすることができます。また、このようなメッセージのコン テンツを表示するログレベルを指定することもできます。

Nexaweb は、各種のアプリケーション メッセージを Nexaweb コンソールに表示して、Web アプリケーション サーバー上のServletContextログに格納します。
アプリケーションで生成されるメッセージの最初にメッセージのタイプが追加されるので、アプリケーションのどの部分でメッセージが生成されたかを判別することができます。

アプリケーション メッセージ

Nexaweb Server と Nexaweb Client は、アプリケーション メッセージのタイプをそれぞれ異なる方法で生成します。Nexaweb Server は、アプリケーションで使用される Nexaweb の機能に基づいて、メッセージ タイプのデフォルトのセットとその他のタイプを生成します。一方、Nexaweb Client は、メッセージ タイプのデフォルトのセットのみを生成します。

Nexaweb Server と Nexaweb Client は、次に示すアプリケーション メッセージのタイプをデフォルトで生成します。
 
メッセージ タイプ
説明
サーバーまたはクライアント
Macrohandler
マクロの定義に関するメッセージ。
両方
Messaging
アプリケーションの MessageListener クラスによって処理されないメッセージ。
両方
FormatUtils
Nexaweb の自動タイプ変換に関するメッセージ。
両方
XUpdate
XUpdate 文の結果を詳述するメッセージ。
両方
XModifyXModify文の結果を詳述するメッセージ。両方
Macro
マクロの実行に関するメッセージ。
クライアント
WebServicesBroker
Web サービスに関するメッセージ。
クライアント
PrintService
PDF 印刷に関するメッセージ。
サーバー、デスクトップクライアント

Nexaweb Server が生成するアプリケーション メッセージのタイプの完全なリストを参照するには、Nexaweb Server 管理コンソールに次のようにアクセスします。
  1. ブラウザの [Address] または [Location]フィールドに「<application-context>/Nexaweb/Services」と入力するか、実行中の Nexaweb クライアントアプリケーションでF3キーを押します。
    Nexaweb Server 管理コンソールのページが表示されます。
  2. ページの右側にある [Reports] の下の [Log Names]をクリックします。
    Nexaweb Server 管理コンソールのページに、現在使用中のログ名がすべて一覧表示されます。

メッセージのログ レベル

Nexaweb では、ログ ファイルでキャプチャされるメッセージに多くの種類のログ レベルが用意されています。ログ レベルの主な違いは冗長性にあります。つまり、あるログレベルには、より少ない、またはより多くの他のログ レベルからのメッセージが含まれています。

Nexaweb Platform 4.5+ では、Nexaweb Server または Nexaweb Client によって生成されるログに、キャプチャするメッセージのログレベルを選択できます。
メモ: 以前のバージョンの Nexaweb Platform では、Nexaweb Server によって生成されるログのみに、キャプチャするメッセージのログレベルを選択できます。Nexaweb Client によって生成されるログの場合は、debug ログ レベルのメッセージにのみログ レベルを変更できます。

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>セクションで構成します。
  • アプリケーションメッセージのすべてのタイプに構成するデフォルトのログレベル
  • アプリケーションメッセージの個々のタイプに構成するログレベル
<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>

 

 
この例では、すべてのログに対するデフォルトのログレベルを info に設定します。また、ログレベルを debug に設定すると、XUpdate および SessionManager ログに設定されているデフォルトのログレベルがオーバーライドされます。

メッセージ フォーマットの構成


<output-format> セクションでは、ログ メッセージを受信するために設定するコンシューマで表示されるメッセージのフォーマットを構成できます。メッセージに表示されるコンテンツおよび日付のフォーマットを指定することができます。
<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>
次に示すように、有効な java.text.SimpleDateFormat 構造を使用して、メッセージに表示する日付のフォーマットを指定できます。
<date-format>EEE-d-MMM-yyyy-HH:mm:ss</date-format>
この例では、フォーマット設定された日付が Wed-4-Jul-2006-12:08:56 のように表示されます。
java.text.SimpleDateFormat の詳細については、http://java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html を参照してください。

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がこれらのメッセージを送信する宛先の電子メールアドレスとその形式を設定できます。
<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>

この例では、すべてのログに対するデフォルトのログレベルを 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 がモーダルダイアログがクライアントエラー/例外メッセージを出力する原因になります。