18.12 LOG_LONG_MESSAGEプロシージャ

このプロシージャでは、Oracle APEXのPL/SQLコンポーネントまたはPL/SQLプロシージャおよびファンクションからデバッグ・メッセージを発行します。

このプロシージャは、LOG_MESSAGEと同様ですが、より長いメッセージのロギングが可能な点のみ異なります。このメッセージ・ログは、デバッグ出力で4,000の文字のチャンクに分割されます。1つのデバッグ・メッセージは4,000文字までに制限されているためです。

ノート:

ベスト・プラクティスとして、可能な場合は短いメッセージAPI (ERROR、WARNなど)を使用し、長いメッセージを必要とするシナリオではLOG_LONG_MESSAGEを予約することをお薦めします。

構文

APEX_DEBUG.LOG_LONG_MESSAGE (
    p_message   IN VARCHAR2     DEFAULT NULL,
    p_enabled   IN BOOLEAN      DEFAULT FALSE,
    p_level     IN t_log_level  DEFAULT c_log_level_app_trace )

パラメータ

表18-6 APEX_DEBUG.LOG_LONG_MESSAGEプロシージャのパラメータ

パラメータ 説明
p_message 長いログ・メッセージ(最大サイズは32767バイト)。
p_enabled デバッグが有効かどうかに関係なく、メッセージを常にログに記録するにはTRUEを設定します。デバッグが有効な場合にのみメッセージをログに記録するにはFALSEを設定します
p_level 長いログ・メッセージのレベルを識別します。「定数」を参照してください。

次の例に、レベル1および2のメッセージに関してデバッグ・メッセージ・ロギングを有効にし、32767文字まで含むことができるレベル1のメッセージを表示する方法を示します。デバッグは明示的に有効になっており、このパラメータのデフォルト設定のFALSEよりも、この有効化の設定の方が優先されるため、p_enabledパラメータを指定する必要はありません。

DECLARE
    l_msg VARCHAR2(32767) := 'Debug outputs anything up to varchar2 limit';
BEGIN
    APEX_DEBUG.ENABLE (p_level => 2);

    APEX_DEBUG.LOG_LONG_MESSAGE(
        p_message => l_msg,
        p_level => 1 );     
END;