Skip to content

Instantly share code, notes, and snippets.

@benahm
Last active August 29, 2015 13:57
Show Gist options
  • Save benahm/9616940 to your computer and use it in GitHub Desktop.
Save benahm/9616940 to your computer and use it in GitHub Desktop.
Log_pkg in PL/SQL (Need SEQ_LOG_ID sequence, LOGS table and function to get Log Level)
CREATE OR REPLACE PACKAGE body log_pkg
IS
PROCEDURE insert_log(
log_type VARCHAR2,
log_code VARCHAR2,
log_message VARCHAR2)
IS
pragma autonomous_transaction;
LOG_ID INTEGER;
BEGIN
SELECT SEQ_LOG_ID.nextval INTO LOG_ID FROM dual;
INSERT
INTO LOGS
(
LOG_ID,
LOG_TIMESTAMP,
LOG_TYPE,
LOG_CODE,
LOG_MESSAGE
)
VALUES
(
LOG_ID,
CURRENT_TIMESTAMP,
log_type,
insert_log.log_code,
insert_log.log_message
);
COMMIT;
END insert_log;
PROCEDURE log_fatal
(
log_code VARCHAR2,
log_message VARCHAR2
)
IS
BEGIN
IF Util_pkg.getConfigLogLevel() >= 1 THEN
insert_log('fatal',log_code,log_message);
END IF;
END log_fatal;
PROCEDURE log_error
(
log_code VARCHAR2,
log_message VARCHAR2
)
IS
BEGIN
IF Util_pkg.getConfigLogLevel() >= 2 THEN
insert_log('error',log_code,log_message);
END IF;
END log_error;
PROCEDURE log_warn
(
log_code VARCHAR2,
log_message VARCHAR2
)
IS
BEGIN
IF Util_pkg.getConfigLogLevel() >= 3 THEN
insert_log('warn',log_code,log_message);
END IF;
END log_warn;
PROCEDURE log_info
(
log_code VARCHAR2,
log_message VARCHAR2
)
IS
BEGIN
IF Util_pkg.getConfigLogLevel() >= 4 THEN
insert_log('info',log_code,log_message);
END IF;
END log_info;
PROCEDURE log_debug
(
log_code VARCHAR2,
log_message VARCHAR2
)
IS
BEGIN
IF Util_pkg.getConfigLogLevel() >= 5 THEN
insert_log('debug',log_code,log_message);
END IF;
END log_debug;
END log_pkg;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment