[デバッグとロギング] セクション

デバッグ設定の概要

[デバッグ出力の設定] ページおよび [デバッグする IP アドレス] ページでは、ブラウザによってリクエストされたすべてのアプリケーションページにデバッグ情報を提供するように ColdFusion を設定できます。次のページを使用してデバッグの基本設定を指定します。

  • [デバッグ出力の設定] ページで、デバッグ出力オプションを選択します。 デバッグが有効な場合、デバッグ出力は、通常のページ出力に続いてブロック形式で表示されます。

  • [デバッグする IP アドレス] ページで、デバッグ出力へのアクセスを制限します。 デバッグオプションが有効な場合はデフォルトで、すべてのユーザーがデバッグ出力を見ることができます。

  • [ロギングの設定] ページで、有益なデバッグ情報を含むエラーログファイルのディレクトリを指定します。

注意: デバッグを有効にするとパフォーマンスが低下します。本番サーバーではデバッグを有効にしないことをお勧めします。

[デバッグ出力の設定] ページ

[デバッグ出力の設定] ページには、次のデバッグオプションがあります。

オプション

説明

Robust 例外情報の有効化

例外ページに詳細情報を表示します。詳細情報には、テンプレートの物理パスと URI、行番号と行スニペット、使用される SQL ステートメント (ある場合のみ)、データソース名 (ある場合のみ)、Java スタックトレースなどが含まれます。

[リクエストのデバッグ出力の有効化]

ColdFusion デバッグサービスを有効にします。

デバッグ出力形式の選択

デバッグ形式を制御します。次のいずれかの形式を選択します。

  • classic.cfm ColdFusion 5 以前のバージョンで使用可能です。この形式では基本的な表示が出力され、ブラウザの制限はほとんどありません。

  • dockable.cfm ドッキング可能なツリーベースのデバッグパネルです。このパネルとブラウザ制限の詳細については、オンラインヘルプを参照してください。

実行時間のレポート

指定した時間制限を超えた実行時間をレポートします。

一般的なデバッグ情報

ColdFusion MX のバージョン、テンプレート、タイムスタンプ、ユーザーロケール、ユーザーエージェント、ユーザー IP、およびホスト名に関する一般情報を表示します。

データベースアクティビティ

デバッグ出力に SQL クエリーイベントとストアドプロシージャイベント用のデータベースアクティビティを表示します。

[例外情報]

リクエストで発生したすべての ColdFusion 例外をデバッグ出力に表示します。

[トレース情報]

トレースイベント情報をデバッグ出力に表示します。cftrace タグを使用してトレースすることにより、プログラムフローおよび効率を追跡することができます。

[タイマー情報]

cftimer タグからの出力を表示します。

[Flash フォームコンパイルエラーとメッセージ]

(開発用のみ) Flash フォームのコンパイル時にブラウザに ActionScript エラーが表示されます。このため、ページの表示時間に影響が出ます。

変数

パラメータ、URL パラメータ、Cookie、セッション変数、および CGI 変数などについての情報をデバッグ出力に表示します。

パフォーマンス監視の有効化

(サーバー設定の場合のみ)

標準の NT パフォーマンスモニタアプリケーションを使用して、実行中のサーバーについての情報を表示できるようにします。

ヒント : この設定を変更した場合は、ColdFusion を再起動してください。

CFSTAT の有効化

(サーバー設定の場合のみ)

NT パフォーマンスモニタがサポートされないプラットフォームに関するパフォーマンス情報を表示します。詳細については、cfstat ユーティリティの使用を参照してください。

ヒント : この設定を変更した場合は、ColdFusion を再起動してください。

cfstat ユーティリティの使用

cfstat コマンドラインユーティリティを使用すると、ColdFusion のリアルタイムパフォーマンス測定データを収集できます。cfstat ユーティリティは、ソケット接続を使用して測定データを取得します。cfstat ユーティリティを使用すれば、System Monitor アプリケーションを使用せずに、ColdFusion から System Monitor に出力される情報を表示できます。次の表に cfstat ユーティリティが返す測定データを示します。

略称

測定データ名

説明

Pg/Sec

1 秒あたりのページヒット数

1 秒間に処理される ColdFusion ページの数。HTML ページにスタティックコンテンツを移動することによってこの値を下げることができます。

DB/Sec

1 秒あたりのデータベースアクセス数

ColdFusion が 1 秒あたりにデータベースにアクセスする回数。呼び出し間での複雑さおよびリソースロードの違いはすべて無視されます。

Req Q'ed

実行待ちのリクエスト数

現在 ColdFusion による処理を待っているリクエストの数。この値は、CFML を効率化することで小さくできます。値が小さいほど望ましい状態です。

Req Run'g

実行中のリクエスト数

ColdFusion が現在アクティブに処理しているリクエストの数。

Req TO'ed

タイムアウトとなったリクエスト数

タイムアウトになった ColdFusion リクエストの総数。不要なダイナミックオペレーションおよびサードパーティイベントを削除する積極的なキャッシングにより、この値がより小さくなるようにします。

AvgQ Time

平均キュー時間

ColdFusion によるリクエストの処理待ちに要する平均時間 (単位はミリ秒)。この値は、CFML を効率化し、キャッシュを拡張することで小さくできます。値が小さいほど望ましい状態です。最後に完了した 2 つのリクエストの平均が表示されます。

AvgReq Time

平均リクエスト時間

ColdFusion がリクエストの処理に要する平均時間 (単位はミリ秒で、待ち時間を含む)。この値は、CFML を効率化することで小さくできます。値が小さいほど望ましい状態です。最後に完了した 2 つのリクエストの平均が表示されます。

AvgDB Time

平均データベーストランザクション時間

ColdFusion が、データベース関連の ColdFusion のリクエストの処理に要する平均時間。最後に完了した 2 つのリクエストの平均が表示されます。

Bytes In/Sec

1 秒あたりの着信バイト

直前の 1 秒間に ColdFusion が読み込んだバイト数 (平均ではありません)。

Bytes Out/Sec

1 秒あたりの送信バイト

直前の 1 秒間に ColdFusion が書き込んだバイト数 (平均ではありません)。

cfstat ユーティリティを使用する前に、ColdFusion Administrator の [パフォーマンス監視の有効化] オプションがオンになっていることを確認してください ([デバッグとロギング]-[デバッグ出力の設定] ページを選択)。このオプションをオンにした後は、変更を有効にするために ColdFusion を再起動してください。

cfstat のオプション

cfstat ユーティリティは "<ColdFusion のルートディレクトリ>/bin" ディレクトリにあります。このディレクトリで、「cfstat」と入力して次のスイッチを使用します。

スイッチ

説明

コメント

-n

列ヘッダを表示しません。

ファイルへの出力を減らすのに役立ちます。

-s

出力を 1 行ずつ表示します。

出力を 1 行ずつ表示し、cfstat ユーティリティが1秒あたりのカウンタで有意な値を表示できるように最初の行の表示を遅らせます。

#

# は整数です。出力を # 秒おきに表示します。

整数値を指定しないと、cfstat ユーティリティは 1 行だけ返します。このスイッチは –s スイッチの有無にかかわらず指定できます。

-x

様々なリクエストスレッドが区切られた拡張出力で表示されます。

ColdFusion エンタープライズ版で使用できます。 ColdFusion スタンダード版では無視されます。

-port

ColdFusion が cfstat 通信をリスンするポートを指定できます。

2 つの異なる ColdFusion サーバーインスタンスから cfstat を使用するときは、サーバーインスタンスのポート番号を明示的に指定する必用があります。

この例では、cfstat ユーティリティを実行して 20 秒ごとに新しい行を表示します。

cfstat 20

[デバッグする IP アドレス] ページ

[デバッグする IP アドレス] ページでは、デバッグを出力する IP アドレスを制限できます。IP アドレスを追加および削除できます。

デバッグする IP アドレスを指定するには:

  1. デバッグ出力を受信する IP アドレスを、デバッグする IP アドレスページに入力します。 デフォルト IP アドレスは 127.0.0.1 です。

  2. 「追加」をクリックします。

  3. (オプション)使用しているコンピューターの IP アドレスを追加するには、「現在のものを追加」をクリックします。 追加した IP アドレスが「IP アドレス」フィールドの下のリストに表示されます。

デバッグする IP アドレスを削除するには:
  1. リストから IP アドレスを選択します。

  2. 「選択の削除」をクリックします。 アドレスがリストに表示されなくなります。

注意: デバッグオプションが有効な状態で IP アドレスを指定しない場合、ColdFusion はデバッグ出力をすべてのユーザーに対して表示します。

[デバッガの設定] ページ

Eclipse で動作する ColdFusion デバッガを使用するには、[ラインデバッグの許可] オプションをオンにします。

ポートと同時デバッグセッションの最大数を指定します。デバッガのポートはアプリケーションサーバーの JVM の設定で指定します。次に例を示します。

-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=#portNum#

現在実行中のデバッグセッションを停止するには、[デバッガサーバーの停止] をクリックします。

このページで指定した変更を有効にするには、ColdFusion サーバーを再起動します。

[ロギングの設定] ページ

ColdFusion のロギングオプションを変更するには、Administrator の [ロギングの設定] ページを使用します。次の表は、設定項目を示します。

オプション

説明

[ログディレクトリ]

エラーログファイルを書き込むディレクトリを指定します。

ヒント : この設定を変更した場合は、ColdFusion を再起動してください。

[最大ファイルサイズ (kb)]

ログファイルの最大ファイルサイズを設定します。この制限に達したファイルは自動的にアーカイブされます。

[アーカイブの最大数]

作成するログのアーカイブの最大数を設定します。この最大数に達すると、ファイルは古い順に削除されます。

[処理時間の遅いページのロギング]

処理に一定以上の時間を要するページの名前をログに記録します。処理が遅いページをログに記録することによって、ColdFusion アプリケーションに関する潜在的な問題やボトルネックを診断できます。エントリは "server.log" ファイルに書き込まれます。

[すべての CORBA 呼び出しをロギング]

すべての CORBA 呼び出しをロギングします。

[スケジュールされたタスクのロギングを有効化]

ColdFusion Executive タスクのスケジューリングをロギングします。

[ログファイル] ページ

[ログファイル] ページでは、ログファイルの表示、ダウンロード、検索、アーカイブ、削除などの操作を実行できます。

[使用可能なログファイル] テーブルの [アクション] 列の [ログファイル] アイコンをクリックすると、ログファイルの検索、表示、ダウンロード、アーカイブ、または削除が可能です。

次の表に説明するように、ロギングの設定ページを使用して管理ロギングオプションを有効または無効にします。

オプション

説明

ログディレクトリ

ColdFusion のログファイルが書き込まれる場所を変更するには、このオプションを選択します。

このフィールドに指定する場所には、十分なディスク容量および ColdFusion システムサービスに対するセキュリティ権限が必要です。

最大ファイルサイズ(KB)

ログファイルの最大ファイルサイズを設定します。 ファイルがこのサイズに到達すると、自動的にアーカイブされます。

アーカイブの最大数

作成するログアーカイブの最大数を設定します。 この制限に到達すると、最も古いファイルから順に削除されます。

(UNIX のみ)オペレーティングシステムのロギング機能の使用

UNIX の Syslog ロギング機能を使用してメッセージをロギングするには、このオプションを選択します。 標準の ColdFusion ログファイルにもログメッセージが書き込まれます。

処理時間の遅いページのロギング [n] 秒

指定した処理間隔よりも長くかかっているページの名前のロギングを開始する前に ColdFusion が待機する秒数を指定します。 処理が遅いページをログに記録することによって、ColdFusion アプリケーションに関する潜在的な問題を診断できます。 エントリは server.log に書き込まれます。

すべての CORBA 呼び出しをロギング

すべての CORBA 呼び出しをロギングするには、このオプションを選択します。

スケジュールされたタスクのロギングを有効化

ColdFusion Executive タスクのスケジューリングをロギングするには、このオプションを選択します。

次の表は、ColdFusion ログファイルの説明です。

ログファイル

説明

rdservice.log

ColdFusion リモート開発サービス (RDS) において発生するエラーが記録されます。RDS は、ファイルとデータベースに HTTP ベースでリモートアクセスする手段を提供します。

application.log

ユーザーに報告された ColdFusion のエラーがすべて記録されます。このログファイルには、ColdFusion シンタックスエラー、ODBC エラー、および SQL エラーを含むすべてのアプリケーションページエラーが書き込まれます。

exception.log

ColdFusion で発生した例外に対するスタックトレースが記録されます。

scheduler.log

スケジュールされたイベントで、実行のために既に送信されたものが記録されます。タスクの送信が開始されたか、またそれが成功したかどうかが示されます。スケジュールされたページの URL、実行された日時、およびタスク ID が表示されます。

eventgateway.log

イベントゲートウェイに関連するイベントとエラーが記録されます。

migration.log

以前のバージョンの ColdFusion からのアップグレードに関連するエラーが記録されます。

migrationException.log

以前のバージョンの ColdFusion からアップグレードした後の、ColdFusion アプリケーションの実行に関連するエラーが記録されます。

server.log

ColdFusion のエラーが記録されます。

customtag.log

カスタムタグの処理中に発生したエラーが記録されます。

car.log

サイトのアーカイブおよび復元に関するエラーが記録されます。

mail.log

SMTP メールサーバーによって発生したエラーが記録されます。

mailsent.log

ColdFusion によって送信されたメッセージが記録されます。

flash.log

Flash® Remoting のエントリが記録されます。

ロギングの有効化と無効化

ログファイルページの処理列の開始 / 停止のアイコンを使用して、特定のログタイプのロギングを開始 / 停止します。

ログ内容のフィルタリング

  1. ログフィルターを開くには、ログビューアページの「フィルタの開始」をクリックします。

  2. Log Filter ダイアログボックスで、次のオプションを 1 つ以上指定します。

    オプション

    説明

    厳格度の表示

    フィルターを適用する厳格度レベルを 1 つ以上選択します。

    キーワード

    「キーワード」テキストボックスに単語を 1 つ以上入力します。 「検索」ドロップダウンリストボックスをクリックして、「語句に完全に一致」、「いずれかの語句に一致」または「すべての語句に一致」のいずれかのオプションを選択します。

    アプリケーション

    必要に応じて、フィルターを適用するアプリケーション名を入力します。 必要に応じて、ログファイルの 5 番目の(エントリ)列として、アプリケーション名が表示されます。

    スレッド ID

    スレッド ID 番号は、Adobe テクニカルサポートの担当者が、問題を追跡してトラブルシューティングするために使用します。 スレッド ID 文字列は、ログファイルの 4 番目のエントリ(列)に表示されます。

    最近のログ

    含まれるファイルの相対年齢を指定します。

    日にちの範囲

    特定の日にちの範囲のログ内容を表示するには、開始日と終了日を入力します。 年月日(YYYY-MM-DD)の書式で日付を入力します。 例えば、2002 年 4 月 21 日を指定するには、2002-04-21 と入力します。

    時間の範囲

    特定の時間の範囲のログ内容を表示するには、開始時刻と終了時刻を入力します。 時分秒の書式(HH:MM:SS)で時間の範囲を入力します。 例えば、午後 2 時を指定するには、14:00:00 と入力します。

  3. フィルター処理を開始するには、次のいずれかのオプションをクリックします。

    • 「一致を表示」では、タブに指定されているフィルター基準に一致する結果が表示されます。

    • 「一致を隠す」では、タブに指定されているフィルター基準に一致する情報を除外した結果が表示されます。

ColdFusion 9.0.1 に導入されたログファイル

ColdFusion 9.0.1 の次のサービスに対してログファイルを生成できます。

  • http

  • ftp

  • Web サービス

  • ポートレット

  • Derby

  • フィード

システムプローブ

注意: システムプローブは、ColdFusion エンタープライズ版でのみ使用できます。

システムプローブは、ご使用の ColdFusion アプリケーションのステータスの評価を支援します。スケジュールされたタスク同様、指定された間隔で URL にアクセスし、URL 内にある文字列の存在と欠落もチェックできます。URL コンテンツが予想外の場合、また、URL にアクセス中にエラーが発生した場合は、プローブにより、[システムプローブ] ページで指定されたアドレスに警告の電子メールを送信できます。プローブは、サーバーの再起動などの修復アクションのためのスクリプトを実行することもできます。すべてのプローブアクションは "logs/probes.log" ファイルに記録されます。また、[システムプローブ] ページにも各プローブのステータスが表示されます。

[システムプローブ] テーブルにある [アクション] 列内のボタンを使用して、次のアクションを実行します。

アクション

説明

編集

プローブを編集できます。

実行

プローブを (以前に無効化されたものであっても) 即座に実行します。

有効 / 無効

指定された間隔でのプローブの自動実行を開始または停止します。

削除

プローブを削除します。

プローブはスケジュールされた ColdFusion タスクとして実行されるため、プローブをホスティングしているサーバーがクラッシュした場合、ホスト Web サーバーがクラッシュした場合、または何らかの原因で応答しない場合は、プローブは実行されません。

[システムプローブ] ページ

システムプローブページを使用して、Web サイトのリソースの可用性を監視するために作成された ColdFusion システムプローブを管理します。

アイテム

説明

新規のプローブの定義

プローブ設定を作成するには、このボタンをクリックします。

アクション

既存のプローブ設定を実行、編集、削除また無効化するには、これらのボタンをクリックします。

プローブ名

作成された ColdFusion プローブの名前が表示されます。

ステータス

1 つ以上の設定済みプローブの現在の動作状態が URL ごとに次のように表示されます。

  • OK(プローブがアクティブな場合)

  • 失敗(指定した URL にプローブがアクセスできない場合)

  • 無効(プローブが無効な場合)

  • 不明

(プローブが非アクティブで、最後のサーバー再起動から実行されていない場合)

間隔

プローブとプローブの間の期間が表示されます。

URL

各プローブが監視している URL パスが表示されます。

通知

指定した URL にプローブがアクセスできない場合の電子メールの受信者アドレスを「通知電子メールの受信者」に指定します。

電子メール

送信者の電子メールアドレスを指定します。 デフォルトでは、メールサーバーページに指定したアドレスがこのアドレスになります。

probe.cfm URL

CFIDE ディレクトリにある probe.cfm ページを指定します。 ColdFusion では、このページでプローブ設定が正常に実行される必要があります。

probe.cfm ユーザー名

CFIDE ディレクトリがセキュリティ保護されている場合は、そのディレクトリのユーザー名が必要です。

probe.cfm パスワード

CFIDE ディレクトリがセキュリティ保護されている場合は、そのディレクトリのパスワードが必要です。

プローブ操作の一時停止

「システムプローブ」テーブルで、一時停止するプローブの名前を選択して、プローブの無効化アイコンをクリックします。

システムプローブの追加 / 編集ページ

  1. ColdFusion Administrator のナビゲーションペインで、「システムプローブ」をクリックします。 システムプローブページが表示されます。

  2. システムプローブページで、次のいずれかを行います。

    • 新規プローブを定義します。 「新規のプローブの定義」をクリックします。 システムプローブの追加 / 編集ページが表示されます。

    • 既存のプローブ設定を編集します。 プローブ名を探してクリックします。 システムプローブの追加 / 編集ページが表示されます。

  3. システムプローブの追加 / 編集ページで、次の設定を指定するか編集します。

    オプション

    説明

    プローブ名

    プローブ設定の名前を指定します。

    頻度

    このプローブを実行するスケジュールを選択します。
    • URL リソースの可用性をプローブが確認する頻度(時間、分、秒)

    • URL リソースを確認するためにプローブが実行される期間(開始時刻と終了時刻)

    URL

    各プローブが監視している URL パスが表示されます。

    ユーザー名

    URL がセキュリティ保護されたパスの場合は、ユーザー名を指定します。

    パスワード

    URL がセキュリティ保護されたパスの場合は、パスワードを指定します。

    タイムアウト(秒)

    失敗を登録する前にプローブが待機する時間を秒単位で指定します。

    プロキシサーバー

    このリクエストをプロキシサーバー経由でルーティングする必要がある場合は、そのプロキシサーバーの URL およびポート番号を入力します。

    ポート

    プロキシサーバーのポート番号です。

    プローブの失敗

    URL リソースをテストするために使用する引数を指定する場合は、このオプションを選択します。

    失敗時のアクション

    失敗が検出されたときに実行される次のアクションのどちらかまたは両方を指定します。

    • 「電子メールによる通知の送信」。失敗が検出されたときに電子メールメッセージを送信するように ColdFusion に指示する場合に選択します。 ColdFusion は、システムプローブページに指定された電子メールアドレスを使用します。

    • 「プログラムの実行」。プローブが失敗したときにプログラムを実行するには、プログラムのパスと名前を指定します。

    パブリッシュ

    出力結果をファイルに書き込む場合に選択します。

    ファイル

    「パブリッシュ」オプションを選択した場合は、出力ファイル名を指定します。

    URL の変換

    内部 URL へのリンクを変更しないようにする場合に選択します。

  4. システムプローブページにリストされているプローブ設定を保存および更新するには、「送信」をクリックします。

[コードアナライザ] ページ

[コードアナライザ] ページは、ColdFusion ページを評価して、ColdFusion 10 と以前のバージョンの ColdFusion の間で互換性の問題が発生する可能性があるかどうか判断します。これにより、指定した CFML ページが確認され、互換性の問題が発生する可能性がある箇所がすべて報告されます。それに加え、サポートされていない CFML 機能や非推奨の CFML 機能もコード互換性アナライザで検出され、スムーズに移行するために必要な実装変更の概要が表示されます。

アナライザは次のように使用します。
  1. 左ナビゲーションペインで、デバッグとロギング/コードアナライザを選択します。

  2. 分析する ColdFusion があるディレクトリを入力するか参照します。

  3. (オプション)「拡張オプション」をクリックして、次の項目を指定します。

    • サブディレクトリを分析するかどうか。

    • 分析するファイルタイプ(複数のファイルはセミコロンで区切ります)。

    • 厳格度別にフィルターを適用するかどうか。 「すべて」では、エラーと情報のデータがレポートされます。「エラー」では、正しく実行されないコードがレポートされます。「情報」では、非推奨のタグなど、正しく実行されるが、編集を考慮する必要があるものがレポートされます。

    • CFML を検証するかどうか。 例えば、ColdFusion の開きコメントタグに HTML の閉じタグがあるコメントなど、CFML の無効なシンタックスがレポートされます。

    • 分析する製品機能。

  4. 結果のレポートを表示するには、「アナライザの実行」をクリックします。

注意: 基本オプションを使用してコードアナライザを実行すると、サブディレクトリの分析、*.cfm ファイルタイプの分析、厳格度によるフィルタ:エラー、CFML の検証がデフォルト設定になります。

[ライセンススキャナー] ページ

[ライセンススキャナー] ページでは、ローカルサブネットを検索し、現在動作している別の ColdFusion インスタンスを探し出します。この情報を使用して、サブネット内の ColdFusion インスタンスが正しくライセンスされているかを判定できます。

ColdFusion Administrator では、UDP (Universal Datagram Protocol) マルチキャストを使用して、そのサブネット内で動作中の ColdFusion インスタンスすべてについてのライセンスとバージョンの情報を収集します。