ヘッダーをスキップ
Oracle® Application Express APIリファレンス
リリース4.2 for Oracle Database 12c
B71340-03
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

7 APEX_DEBUG

APEX_DEBUGパッケージには、デバッグ・メッセージ・ログを管理するためのユーティリティ・ファンクションが用意されています。具体的には、このパッケージには、Application Expressアプリケーションに含まれるPL/SQLコードおよびデータベース・ストアド・プロシージャとファンクション内のPL/SQLコードのインストルメントおよびデバッグに必要なAPIが提供されています。PL/SQLコードをインストルメントすると、より迅速にバグを追跡し、予期しない動作を特定することが容易になります。

パッケージには、様々なデバッグ・レベルでのデバッグを有効または無効にする手段、およびメッセージ・ログをクリーンアップするユーティリティ・プロシージャもあります。

『Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド』のデバッグ・モードへのアクセスに関する説明を参照するか、またはAPEX_DEBUG_MESSAGESビューを問い合せることによって、メッセージ・ログを表示できます。

詳細は、個々のAPIの説明を参照してください。


注意:

Oracle Application Express 4.2では、APEX_DEBUG_MESSAGEパッケージは、APEX_DEBUGにリネームされました。APEX_DEBUG_MESSAGEパッケージ名は、下位互換性のために引き続きサポートされます。ただし、Oracle Application Expressの旧バージョンでAPEX_DEBUGパッケージを実行する場合を除き、新規アプリケーションでは新しいAPEX_DEBUGパッケージを使用することをお薦めします。

トピック:

定数

このパッケージでは、次の定数が使用されます。

subtype t_log_level is pls_integer; 
c_log_level_error constant t_log_level := 1; -- critical error 
c_log_level_warn constant t_log_level := 2; -- less critical error 
c_log_level_info constant t_log_level := 4; -- default level if debugging is enabled (for example, used by apex_application.debug) 
c_log_level_app_enter constant t_log_level := 5; -- application: messages when procedures/functions are entered 
c_log_level_app_trace constant t_log_level := 6; -- application: other messages within procedures/functions 
c_log_level_engine_enter constant t_log_level := 8; -- Application Express engine: messages when procedures/functions are entered 
c_log_level_engine_trace constant t_log_level := 9; -- Application Express engine: other messages within procedures/functions 

DISABLEプロシージャ

このプロシージャは、デバッグ・メッセージを無効にします。

構文

APEX_DEBUG.DISABLE;

パラメータ

なし。

次の例に、デバッグ・メッセージを無効にする方法を示します。

BEGIN
    APEX_DEBUG.DISABLE();
END;

ENABLEプロシージャ

このプロシージャは、デバッグ・メッセージを有効にします。重要性のレベルごとに、監視されるデバッグ・メッセージのタイプを指定できます。


注意:

ENABLEプロシージャは、ページ・ビューまたはページ受入れごとに1回のみコールする必要があります。

構文

APEX_DEBUG.ENABLE (
    p_level    IN  T_LOG_LEVEL DEFAULT C_LOG_LEVEL_INFO );

パラメータ

表7-1に、APEX_DEBUG.ENABLEプロシージャで使用可能なパラメータを示します。

表7-1 APEX_DEBUG.ENABLEプロシージャのパラメータ

パラメータ 説明

p_level

ログに記録するメッセージの1つ以上のレベル。1から9までの整数である必要があり、レベル1は重要度が最も高いメッセージで、レベル9(デフォルト)は重要度が最も低いメッセージです。特定のレベルを設定すると、そのレベルおよびそのレベルより下のメッセージが記録されます。たとえば、p_levelに2を設定すると、レベル1および2のメッセージが記録されます。


次の例に、レベル1、2および4のメッセージのロギングを有効にする方法を示します。これより高いレベルのメッセージは記録されません。

BEGIN
    APEX_DEBUG.ENABLE(
        apex_debug.c_log_level_info);
END;

ENTERプロシージャ

このプロシージャは、c_log_level_app_enterレベルのメッセージを記録します。APEX_DEBUG.ENTER()を使用して、プロシージャまたはファンクションの先頭にあるルーチン名とその引数を記録します。

構文

APEX_DEBUG.ENTER ( 
p_routine_name IN VARCHAR2, 
p_name01 IN VARCHAR2 DEFAULT NULL, 
p_value01 IN VARCHAR2 DEFAULT NULL, 
p_name02 IN VARCHAR2 DEFAULT NULL, 
p_value02 IN VARCHAR2 DEFAULT NULL, 
p_name03 IN VARCHAR2 DEFAULT NULL, 
p_value03 IN VARCHAR2 DEFAULT NULL, 
p_name04 IN VARCHAR2 DEFAULT NULL, 
p_value04 IN VARCHAR2 DEFAULT NULL, 
p_name05 IN VARCHAR2 DEFAULT NULL, 
p_value05 IN VARCHAR2 DEFAULT NULL, 
p_name06 IN VARCHAR2 DEFAULT NULL, 
p_value06 IN VARCHAR2 DEFAULT NULL, 
p_name07 IN VARCHAR2 DEFAULT NULL, 
p_value07 IN VARCHAR2 DEFAULT NULL, 
p_name08 IN VARCHAR2 DEFAULT NULL, 
p_value08 IN VARCHAR2 DEFAULT NULL, 
p_name09 IN VARCHAR2 DEFAULT NULL, 
p_value09 IN VARCHAR2 DEFAULT NULL, 
p_name10 IN VARCHAR2 DEFAULT NULL, 
p_value10 IN VARCHAR2 DEFAULT NULL, 
p_value_max_length IN PLS_INTEGER DEFAULT 1000 ); 

パラメータ

表7-2に、APEX_DEBUG.ENTERプロシージャで使用可能なパラメータを示します。

表7-2 APEX_DEBUG.ENTERプロシージャのパラメータ

パラメータ 説明

p_routine_name

プロシージャまたはファンクションの名前。

p_namexx/p_valuexx

プロシージャまたはファンクションのパラメータの名前および値。

p_value_max_length

p_valuexxは、この長さに切り捨てられます。


次の例に、APEX_ENTERを使用して、プロシージャの先頭にデバッグ・メッセージを追加する方法を示します。

procedure foo ( 
    p_widget_id in number, 
    p_additional_data in varchar2, 
    p_emp_rec in emp%rowtype ) 
is 
begin 
    apex_debug.enter('foo', 
        'p_widget_id' , p_widget_id, 
        'p_additional_data', p_additional_data, 
        'p_emp_rec.id' , p_emp_rec.id ); 
....do something.... 
end foo; 

ERRORプロシージャ

このプロシージャは、c_log_level_errorレベルのメッセージを記録します。記録は、デバッグ・モードがオフになっている場合も含め、常に行われます。

構文

APEX_DEBUG.ERROR ( 
    p_message IN VARCHAR2, 
    p0 IN VARCHAR2 DEFAULT NULL, 
    p1 IN VARCHAR2 DEFAULT NULL, 
    p2 IN VARCHAR2 DEFAULT NULL, 
    p3 IN VARCHAR2 DEFAULT NULL, 
    p4 IN VARCHAR2 DEFAULT NULL, 
    p5 IN VARCHAR2 DEFAULT NULL, 
    p6 IN VARCHAR2 DEFAULT NULL, 
    p7 IN VARCHAR2 DEFAULT NULL, 
    p8 IN VARCHAR2 DEFAULT NULL, 
    p9 IN VARCHAR2 DEFAULT NULL, 
    p_max_length IN PLS_INTEGER DEFAULT 1000 ); 

パラメータ

表7-3に、ERRORプロシージャで使用可能なパラメータを示します。

表7-3 APEX_DEBUG.ERRORプロシージャのパラメータ

パラメータ 説明

p_message

デバッグ・メッセージ。'%s'の文字列は、utl_lms.format_messageおよびC言語のsprintfと同様に、p0からp19によって置換されます。'%%'の文字列は、特殊文字'%'を表します。'%<n>'の文字列は、p<n>によって置換されます。

p0からp9

'%s'プレースホルダに対する置換文字列。

p_max_length

p<n>は、この長さに切り捨てられます。


次の例に、APEX_ERRORを使用して、デバッグ・ログに重大なエラーを記録する方法を示します。

apex_debug.error('Critical error %s', sqlerrm);

INFOプロシージャ

このプロシージャは、c_log_level_infoレベルのメッセージを記録します。記録は、デバッグ・モードがオフになっている場合も含め、常に行われます。

構文

APEX_DEBUG.INFO ( 
    p_message IN VARCHAR2, 
    p0 IN VARCHAR2 DEFAULT NULL, 
    p1 IN VARCHAR2 DEFAULT NULL, 
    p2 IN VARCHAR2 DEFAULT NULL, 
    p3 IN VARCHAR2 DEFAULT NULL, 
    p4 IN VARCHAR2 DEFAULT NULL, 
    p5 IN VARCHAR2 DEFAULT NULL, 
    p6 IN VARCHAR2 DEFAULT NULL, 
    p7 IN VARCHAR2 DEFAULT NULL, 
    p8 IN VARCHAR2 DEFAULT NULL, 
    p9 IN VARCHAR2 DEFAULT NULL, 
    p_max_length IN PLS_INTEGER DEFAULT 1000 ); 

パラメータ

表7-4に、APEX_DEBUG.INFOプロシージャで使用可能なパラメータを示します。

表7-4 APEX_DEBUG.INFOプロシージャのパラメータ

パラメータ 説明

p_message

デバッグ・メッセージ。'%s'の文字列は、utl_lms.format_messageおよびC言語のsprintfと同様に、p0からp19によって置換されます。'%%'の文字列は、特殊文字'%'を表します。'%<n>'の文字列は、p<n>によって置換されます。

p0からp9

'%s'プレースホルダに対する置換文字列。

p_max_length

p<n>は、この長さに切り捨てられます。


次の例に、APEX_DEBUG.INFOを使用して、デバッグ・ログにログ情報を記録する方法を示します。

apex_debug.info('Important: %s', 'fnord');

LOG_DBMS_OUTPUTプロシージャ

このプロシージャは、デバッグ・ログにdbms_output.get_linesのコンテンツを記述します。dbms_outputを使用するレガシー・アプリケーションのメッセージは、デバッグ・ログにコピーされます。デバッグ・ログに書き込むには、dbms_output.enableを実行する必要があります。

構文

APEX_DEBUG.LOG_DBMS_OUTPUT;

パラメータ

なし。

次の例に、デバッグ・ログにDBMS_OUTPUTバッファのコンテンツを記録する方法を示します。

sys.dbms_output.enable;
sys.dbms_output.put_line('some data'); 
sys.dbms_output.put_line('other data'); 
apex_debug.log_dbms_output; 

LOG_LONG_MESSAGEプロシージャ

このプロシージャを使用して、Application ExpressのPLSQLコンポーネント、またはPLSQLプロシージャとファンクションからデバッグ・メッセージを生成します。このプロシージャは、LOG_MESSAGEと同様ですが、より長いメッセージのロギングが可能な点のみ異なります。このメッセージ・ログは、デバッグ出力で4,000の文字のチャンクに分割されます。1つのデバッグ・メッセージは4,000文字までに制限されているためです。

構文

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);

パラメータ

表7-5に、APEX_DEBUG.LOG_LONG_MESSAGEプロシージャで使用可能なパラメータを示します。

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

パラメータ 説明

p_message

長いログ・メッセージ(最大サイズは32767バイト)。

p_enabled

デバッグが有効かどうかに関係なく、メッセージを常にログに記録するにはTRUEを設定します。デバッグが有効な場合にのみメッセージをログに記録するにはFALSEを設定します

p_level

長いログ・メッセージのレベルを識別します。「定数」を参照してください。


次の例に、レベル1および2のメッセージに関してデバッグ・メッセージ・ロギングを有効にし、32767文字まで含むことができるレベル1のメッセージを表示する方法を示します。デバッグは明示的に有効になっており、このパラメータのデフォルト設定の無効よりも、この有効の設定のほうが優先されるため、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;

LOG_MESSAGEプロシージャ[非推奨]

このプロシージャは、デバッグ・メッセージを記録します。

構文

APEX_DEBUG.LOG_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 );

パラメータ

表7-6に、APEX_DEBUG.LOG_MESSAGEプロシージャで使用可能なパラメータを示します。

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

パラメータ 説明

p_message

最大長が1000バイトのデバッグ・メッセージ。

p_enabled

ロギングが有効になっている(値がTRUEに設定されている)場合に、メッセージが記録されます。

p_level

ログ・メッセージのレベルを識別します(1は重要度が最も高く、9は重要度が最も低いログ・メッセージです)。これは整数値です。


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

DECLARE
    l_value varchar2(100) := 'test value';
BEGIN
    APEX_DEBUG.ENABLE (p_level => 2);
 
APEX_DEBUG.LOG_MESSAGE(
    p_message => 'l_value = ' || l_value,
    p_level => 1 );
 
END;

LOG_PAGE_SESSION_STATEプロシージャ

このプロシージャは、セッションのアイテム値を記録します。

構文

APEX_DEBUG.LOG_PAGE_SESSION_STATE ( 
    p_page_id IN NUMBER DEFAULT NULL, 
    p_enabled IN BOOLEAN DEFAULT FALSE, 
    p_level IN T_LOG_LEVEL DEFAULT C_LOG_LEVEL_APP_TRACE ); 

パラメータ

表7-7に、APEX_DEBUG.LOG_SESSION_STATEプロシージャで使用可能なパラメータを示します。

表7-7 APEX_DEBUG.LOG_SESSION_STATEプロシージャのパラメータ

パラメータ 説明

p_page_id

現在のアプリケーションとワークスペース・コンテキスト内のページを識別します。

p_enabled

ロギングが有効になっている(値がTRUEに設定されている)場合に、メッセージが記録されます。

p_level

ログ・メッセージのレベルを識別します(1は重要度が最も高く、9は重要度が最も低いログ・メッセージです)。整数値である必要があります。


次の例に、レベル1および2のメッセージに関してデバッグ・メッセージ・ロギングを有効にし、レベル1のメッセージをアプリケーションの現在のページのすべてのセッション・ステートを含めて表示する方法を示します。デバッグは明示的に有効になっており、このパラメータのデフォルト設定の無効よりも、この有効の設定のほうが優先されるため、p_enabledパラメータを指定する必要はありません。また、この例ではアプリケーションの現在のページのセッション・ステート情報を示すだけであるため、p_page_idを指定していません。

BEGIN
    APEX_DEBUG.ENABLE (p_level => 2);
    
    APEX_DEBUG.LOG_PAGE_SESSION_STATE (p_level => 1);
    
END;

MESSAGEプロシージャ

このプロシージャは、書式設定されたデバッグ・メッセージの一般バージョンを記録します。

構文

APEX_DEBUG.MESSAGE ( 
    p_message IN VARCHAR2, 
    p0 IN VARCHAR2 DEFAULT NULL, 
    p1 IN VARCHAR2 DEFAULT NULL, 
    p2 IN VARCHAR2 DEFAULT NULL, 
    p3 IN VARCHAR2 DEFAULT NULL, 
    p4 IN VARCHAR2 DEFAULT NULL, 
    p5 IN VARCHAR2 DEFAULT NULL, 
    p6 IN VARCHAR2 DEFAULT NULL, 
    p7 IN VARCHAR2 DEFAULT NULL, 
    p8 IN VARCHAR2 DEFAULT NULL, 
    p9 IN VARCHAR2 DEFAULT NULL, 
    p10 IN VARCHAR2 DEFAULT NULL, 
    p11 IN VARCHAR2 DEFAULT NULL, 
    p12 IN VARCHAR2 DEFAULT NULL, 
    p13 IN VARCHAR2 DEFAULT NULL, 
    p14 IN VARCHAR2 DEFAULT NULL, 
    p15 IN VARCHAR2 DEFAULT NULL, 
    p16 IN VARCHAR2 DEFAULT NULL, 
    p17 IN VARCHAR2 DEFAULT NULL, 
    p18 IN VARCHAR2 DEFAULT NULL, 
    p19 IN VARCHAR2 DEFAULT NULL, 
    p_max_length IN PLS_INTEGER DEFAULT 1000, 
    p_level IN T_LOG_LEVEL DEFAULT C_LOG_LEVEL_INFO, 
    p_force IN BOOLEAN DEFAULT FALSE ); 

パラメータ

表7-8に、APEX_DEBUG.MESSAGEプロシージャで使用可能なパラメータを示します。

表7-8 APEX_DEBUG.MESSAGEプロシージャのパラメータ

パラメータ 説明

p_message

デバッグ・メッセージ。'%s'の文字列は、utl_lms.format_messageおよびC言語のsprintfと同様に、p0からp19によって置換されます。'%%'の文字列は、特殊文字'%'を表します。'%<n>'の文字列は、p<n>によって置換されます。

p0からp19

'%s'プレースホルダに対する置換文字列。

p_max_length

p<n>は、この長さに切り捨てられます。

p_level

メッセージのデフォルトのログ・レベルは、c_log_level_infoです。「定数」を参照してください。

p_force

TRUEの場合は、ページがデバッグ・モードでレンダリングされない場合や(URLまたは有効なプロシージャを使用して)構成されたデバッグ・メッセージよりp_levelが大きい場合も、デバッグ・メッセージが生成されます。


次の例に、APEX_DEBUG.MESSAGEプロシージャを使用して、デバッグ・ログにテキストを追加する方法を示します。

apex_debug.message('the value of %s + %s equals %s', 3, 5, 'eight');

REMOVE_DEBUG_BY_AGEプロシージャ

このプロシージャを使用して、デバッグ・メッセージ・ログから、指定した日数よりも古いすべてのデータを削除します。

構文

APEX_DEBUG.REMOVE_DEBUG_BY_AGE (
    p_application_id IN NUMBER,
    p_older_than_days IN NUMBER);  

パラメータ

表7-9に、APEX_DEBUG.REMOVE_DEBUG_BY_AGEプロシージャで使用可能なパラメータを示します。

表7-9 APEX_DEBUG.REMOVE_DEBUG_BY_AGEプロシージャのパラメータ

パラメータ 説明

p_application_id

アプリケーションのアプリケーションID

p_older_than_days

データが削除される前に、デバッグ・メッセージ・ログに保持される日数。


次の例に、現在のアプリケーションに関するデバッグ・メッセージで、保持日数が3日以上になるものを削除する方法を示します。

BEGIN
    APEX_DEBUG.REMOVE_DEBUG_BY_AGE (
        p_application_id  => TO_NUMBER(:APP_ID),
        p_older_than_days => 3 );
END;

REMOVE_DEBUG_BY_APPプロシージャ

このプロシージャを使用して、デバッグ・メッセージ・ログから、指定したアプリケーションに属するすべてのデータを削除します。

構文

APEX_DEBUG.REMOVE_DEBUG_BY_APP ( 
    p_application_id IN NUMBER); 

パラメータ

表7-10に、APEX_DEBUG.REMOVE_DEBUG_BY_APPプロシージャで使用可能なパラメータを示します。

表7-10 APEX_DEBUG.REMOVE_DEBUG_BY_APPプロシージャのパラメータ

パラメータ 説明

p_application_id

アプリケーションのアプリケーションID


次の例に、現在のアプリケーションに関してログに記録されたすべてのデバッグ・メッセージを削除する方法を示します。

BEGIN
    APEX_DEBUG.REMOVE_DEBUG_BY_APP(
        p_application_id => TO_NUMBER(:APP_ID) );
END;

REMOVE_DEBUG_BY_VIEWプロシージャ

このプロシージャを使用して、メッセージ・ログから、指定したビューのすべてのデータを削除します。

構文

APEX_DEBUG.REMOVE_DEBUG_BY_VIEW ( 
    p_application_id IN NUMBER, 
    p_view_id IN NUMBER); 

パラメータ

表7-11に、APEX_DEBUG.REMOVE_DEBUG_BY_VIEWプロシージャで使用可能なパラメータを示します。

表7-11 APEX_DEBUG.REMOVE_DEBUG_BY_VIEWプロシージャのパラメータ

パラメータ 説明

p_application_id

アプリケーションのアプリケーションID

p_view_id

ビューのビューID。


次の例に、現在のアプリケーションに属している、ビュー識別子が12345のデバッグ・メッセージを削除する方法を示します。

BEGIN
    APEX_DEBUG.REMOVE_DEBUG_BY_VIEW (
        p_application_id => TO_NUMBER(:APP_ID),
        p_view_id        => 12345 );
END;

REMOVE_SESSION_MESSAGESプロシージャ

このプロシージャでは、ワークスペース内の指定されたセッションがデフォルトで現在のセッションとなるため、デバッグ・メッセージ・ログからすべてのデータが削除されます。

構文

APEX_DEBUG.REMOVE_SESSION_MESSAGES (
    p_session    IN NUMBER  DEFAULT NULL);

パラメータ

表7-12に、APEX_DEBUG.REMOVE_SESSION_MESSAGESプロシージャで使用可能なパラメータを示します。

表7-12 APEX_DEBUG.REMOVE_SESSION_MESSAGESプロシージャのパラメータ

パラメータ 説明

p_session

セッションID。デフォルトの設定は現在のセッションです。


次の例に、現在のセッションでログに記録されたすべてのデバッグ・メッセージを削除する方法を示します。注意: p_sessionパラメータの値が渡されないため、プロシージャではデフォルトで現在のセッションが使用されます。

BEGIN
    APEX_DEBUG.REMOVE_SESSION_MESSAGES();
END;

TOCHARファンクション

このプロシージャは、BOOLEANをVARCHAR2に変換します。

構文

APEX_DEBUG.TOCHAR ( 
    p_value IN BOOLEAN ) 
    return VARCHAR2; 

パラメータ

表7-13に、APEX_DEBUG.TOCHARファンクションで使用可能なパラメータを示します。

表7-13 APEX_DEBUG.TOCHARプロシージャのパラメータ

パラメータ 説明

p_value

BOOLEAN 0または1(それぞれFALSEまたはTRUEに変換されます)。


次の例に、APEX_DEBUG.TOCHARファンクションを使用して、boolean値を他のデバッグ・プロシージャに渡せるようvarchar2に変換する方法を示します。

declare
    l_state boolean;
begin
    ....
    apex_debug.info('Value of l_state is %s', apex_debug.tochar(l_state));
    ....
end;

TRACEプロシージャ

このプロシージャは、c_log_level_app_traceレベルのメッセージを記録します。記録は、デバッグ・モードがオフになっている場合も含め、常に行われます。

構文

APEX_DEBUG.TRACE ( 
    p_message IN VARCHAR2, 
    p0 IN VARCHAR2 DEFAULT NULL, 
    p1 IN VARCHAR2 DEFAULT NULL, 
    p2 IN VARCHAR2 DEFAULT NULL, 
    p3 IN VARCHAR2 DEFAULT NULL, 
    p4 IN VARCHAR2 DEFAULT NULL, 
    p5 IN VARCHAR2 DEFAULT NULL, 
    p6 IN VARCHAR2 DEFAULT NULL, 
    p7 IN VARCHAR2 DEFAULT NULL, 
    p8 IN VARCHAR2 DEFAULT NULL, 
    p9 IN VARCHAR2 DEFAULT NULL, 
    p_max_length IN PLS_INTEGER DEFAULT 1000 ); 

パラメータ

表7-14に、APEX_DEBUG.TRACEプロシージャで使用可能なパラメータを示します。

表7-14 APEX_DEBUG.TRACEプロシージャのパラメータ

パラメータ 説明

p_message

デバッグ・メッセージ。'%s'の文字列は、utl_lms.format_messageおよびC言語のsprintfと同様に、p0からp19によって置換されます。'%%'の文字列は、特殊文字'%'を表します。'%<n>'の文字列は、p<n>によって置換されます。

p0からp9

'%s'プレースホルダに対する置換文字列。

p_max_length

p<n>は、この長さに切り捨てられます。


次の例に、APEX_DEBUG.TRACEを使用して、デバッグ・ログに低レベルのデバッグ情報を記録する方法を示します。

apex_debug.trace('Low-level information: %s+%s=%s', 1, 2, 3);

WARNプロシージャ

このプロシージャは、c_log_level_warnレベルのメッセージを記録します。記録は、デバッグ・モードがオフになっている場合も含め、常に行われます。

構文

APEX_DEBUG.WARN ( 
    p_message IN VARCHAR2, 
    p0 IN VARCHAR2 DEFAULT NULL, 
    p1 IN VARCHAR2 DEFAULT NULL, 
    p2 IN VARCHAR2 DEFAULT NULL, 
    p3 IN VARCHAR2 DEFAULT NULL, 
    p4 IN VARCHAR2 DEFAULT NULL, 
    p5 IN VARCHAR2 DEFAULT NULL, 
    p6 IN VARCHAR2 DEFAULT NULL, 
    p7 IN VARCHAR2 DEFAULT NULL, 
    p8 IN VARCHAR2 DEFAULT NULL, 
    p9 IN VARCHAR2 DEFAULT NULL, 
    p_max_length IN PLS_INTEGER DEFAULT 1000 ); 

パラメータ

表7-15に、APEX_DEBUG.WARNプロシージャで使用可能なパラメータを示します。

表7-15 APEX_DEBUG.WARNプロシージャのパラメータ

パラメータ 説明

p_message

デバッグ・メッセージ。'%s'の文字列は、utl_lms.format_messageおよびC言語のsprintfと同様に、p0からp19によって置換されます。'%%'の文字列は、特殊文字'%'を表します。'%<n>'の文字列は、p<n>によって置換されます。

p0からp9

'%s'プレースホルダに対する置換文字列。

p_max_length

p<n>は、この長さに切り捨てられます。


次の例に、APEX_DEBUG.WARNを使用して、デバッグ・ログに非常に重要なデータを記録する方法を示します。

apex_debug.warn('Soft constraint %s violated: %s', 4711, sqlerrm);