Skip to content

packages tree.log_apex_globals

Jan Kvetina edited this page Oct 9, 2020 · 2 revisions

tree.log_apex_globals

Repository spec: tree.log_apex_globals, body: tree.log_apex_globals

Store APEX global items for current application in logs.message with tree.flag_info flag.


Signature

PROCEDURE log_apex_globals (
    in_filter           logs.arguments%TYPE     := '%'
);
Show code (29 lines)

PROCEDURE log_apex_globals (
    in_filter           logs.arguments%TYPE     := '%'
) AS
    out_log_id          logs.log_id%TYPE;
    payload             VARCHAR2(32767);
BEGIN
    $IF $$APEX_INSTALLED $THEN
        FOR c IN (
            SELECT
                i.item_name                                 AS name,
                APEX_UTIL.GET_SESSION_STATE(i.item_name)    AS value
            FROM apex_application_items i
            WHERE i.application_id  = sess.get_app_id()
                AND i.item_name     LIKE in_filter
            ORDER BY i.item_name
        ) LOOP
            payload := payload || c.name || tree.splitter_values || c.value || tree.splitter_rows;
        END LOOP;
        --
        out_log_id := tree.log__ (
            in_action_name  => 'LOG_APEX_GLOBALS',
            in_flag         => tree.flag_info,
            in_arguments    => tree.get_arguments(in_filter),
            in_message      => payload
        );
    $ELSE
        NULL;
    $END
END;

Minimal example

PROCEDURE your_procedure AS
BEGIN
    tree.log_module();

    -- your code
    NULL;

    -- store values in log
    tree.log_apex_globals (
        in_filter => '%'
    );
END;

Clone this wiki locally