Posts

Posts mit dem Label "Logging" werden angezeigt.

APEX-User im Logging mitschreiben

Um aus der Session des aktuellen APEX-User abzugreifen gibt es folgende sys_context abfragen: -- Apex-User abfragen select sys_context('APEX$SESSION', 'APP_USER') from dual; -- DB-Umgebung abfragen select substr(SYS_CONTEXT ('USERENV', 'DB_NAME'),-1) UMGEBUNG from dual; Weitere Möglichkeiten (mindestens ab APEX 19.1): sys_context('APEX$SESSION', 'APP_USER') sys_context('APEX$SESSION', 'APP_ID') sys_context('APEX$SESSION', 'WORKSPACE_ID')   sys_context('APEX$SESSION', 'APP_SESSION')   Ergänzend noch die bekannten Klassiker: SYS_CONTEXT ('USERENV', 'SESSION_USER') SYS_CONTEXT ('USERENV', 'OS_USER') SYS_CONTEXT ('USERENV', 'DB_NAME')

Basispaket mit Logging und Errorhandling für PL-/APEX-Anwendungen

Zum Logging von PL-Funktionen nutze ich eine Tabelle je Schema sowie eine einheitliche LOG-Funktion zum Mitschreiben relevanter Einträge: Tabelle: DROP TABLE AX_LOG CASCADE CONSTRAINTS; CREATE TABLE AX_LOG ( DATUM TIMESTAMP(6), PCK VARCHAR2(255 CHAR), MODUL VARCHAR2(255 CHAR), TEXT VARCHAR2(1000 CHAR), OS_USR VARCHAR2(255 CHAR), AX_USR VARCHAR2(255 CHAR) ) LOGGING NOCOMPRESS NOCACHE NOPARALLEL MONITORING; COMMENT ON TABLE AX_LOG IS 'Log-Tabelle zur APEX-Anwendung; FS - 04.08.2010'; COMMENT ON COLUMN AX_LOG.DATUM IS 'Zeitstempel des Eintrags'; COMMENT ON COLUMN AX_LOG.PCK IS 'PL-Paket'; COMMENT ON COLUMN AX_LOG.MODUL IS 'Anwendungsmodul'; COMMENT ON COLUMN AX_LOG.TEXT IS 'Logtext'; COMMENT ON COLUMN AX_LOG.OS_USR IS 'Betriebsystem-Benutzer'; COMMENT ON COLUMN AX_LOG.AX_USR IS 'APEX-Benutzer'; PL-Paket: create or replace package Test is -- Author : SCHMIFA -- Created : 24.11.2010 09:19:54 procedure bla --