LEHS - Log- and Exception-Handling System for ORACLE®
Version 2.5.1
- Bugfix: Log context has not been initialized due to incorrect SELECT INTO
Version 2.5
- added new Method resync_on_modification.
Version 2.4
- LEHS-1 (Bug): the Log-Application will now be uppercased before it calls the Appender-Log Procedure(s)
- LEHS-2 (Feature): The View LEHS_APPLICATIONS_VIEW will now use the Data-Dictionary View
USER_ROLE_PRIVS
instead of DBA_ROLE_PRIVS
.
Therefor the GRANT OPTION
is no longer neccessary
- LEHS-3 (Bug): There was a Reference to the old Log-Destination within
create_synonyms.sql
and other Documents. These References have been removed
- LEHS-4 (Feature): The Procedure
LOG_EXCEPTION
plus Derivats (LOG_EXCEPTION_FATAL
, LOG_EXCEPTION_ERROR
, etc.) have
been added to the Package PKG_WRAPPED_LEHS
.
- LEHS-5 (Feature): a new Procedure
CHANGE_MAX_LOG_LEVEL
has been added to the Package PKG_LEHS_SYSTEM
. So you can now change the
maximum Log-Level of any Log-Appender after its Registration.
- LEHS-6 (Bug): The Procedures
PKG_LEHS_LOG_INTERNAL.add_topic
and PKG_LEHS_LOG_INTERNAL.move_topic
hadn't the Pragma
AUTONOMOUS_TRANSACTION
. This Pragma has now been added.
- LEHS-8 (Bug): Own Exceptions raised by the Procedures
PKG_WRAPPED_LEHS.handle_exception_and_log_*
have not been raised.
Version 2.3.3
- The Patch-Scripts of Version 2.2 and 2.3 had some Errors (didn't enabled the
SET DEFINE ^
). Special Thanks to Mr. Petrik
Forgot the Patch-Script for Version 2.3.2
Version 2.3.2
- Now every User assigned to either the Role
DBA
and/or LEHS_ADMIN
are allowed to log to every Log-Application
Version 2.3.1
- Table Appender (Package:
PKG_LEHS_TABLE_APPENDER
) now logs the Start- and the End-Time of the Transaction with SYSTIMESTAMP
instead of SYSDATE
- Now there exists a patching Mechanism. So you can upgrade your LEHS Version to the next higher Version (i.E. use File
patch_2.3.sql
if you want to upgrade LEHS Version 2.2 to 2.3)
lehs_createall.sql
haven't compiled the new Package PKG_WRAPPED_LEHS
.
Version 2.3
- Bugfix while creating the Table LEHS_APPLICATIONS (a missing Semikolon has lead to a failed Installation)
- New Function
PKG_LEHS_SYSTEM.get_version
and PKG_LEHS.get_version
which returns the installed Version of LEHS
Version 2.2
- The Name of the Application can now be shown in the Prefix of a raised Exception (by calling
PKG_LEHS.handle_exception
, PKG_LEHS.handle_exception_and_log
or PKG_WRAPPED_LEHS.handle_exception_and_log
)
- This Behaviour can be controlled by a Switch on the Application Level (
PKG_LEHS_SYSTEM.add_application
or PKG_LEHS_SYSTEM.change_application
)
- The Methods
PKG_LEHS.is_named_exception
and PKG_LEHS.get_last_exception_name
take care of this new Switch
Version 2.1.1
-
Bugfix on PKG_LEHS_SYSTEM.get_metadata: Several programmable Log-Levels on the same Log-Level had lead to wrong Metadata.
Version 2.1
-
New Package
PKG_WRAPPED_LEHS
for the Usage within Wrapper Packages/Procedures.
-
New View
LEHS_LEVELS
to get the Log-Levels of all allowed Applications.
Version 2.0.2
-
Bugfix: Couldn't create a Log-Level without a Predecessor.
-
Bugfix: Couldn't create a Log-Topic without a Predecessor.
-
Added some new Wrapper-Methods at
PKG_LEHS_FORMAT
ADD_TEXT_ARGUMENT
... Wrapper for the VARCHAR2
-Variant of ADD_ARGUMENT
ADD_CLOB_ARGUMENT
... Wrapper for the CLOB
-Variant of ADD_ARGUMENT
ADD_NUMERIC_ARGUMENT
... Wrapper for the NUMBER
-Variant of ADD_ARGUMENT
ADD_DATE_ARGUMENT
... Wrapper for the DATE
-Variant of ADD_ARGUMENT
ADD_TIMESTAMP_ARGUMENT
... Wrapper for the TIMESTAMP
-Variant of ADD_ARGUMENT
ADD_DSINTERVAL_ARGUMENT
... Wrapper for the INTERVAL DAY TO SECOND
-Variant of ADD_ARGUMENT
ADD_YMINTERVAL_ARGUMENT
... Wrapper for the INTERVAL YEAR TO MONTH
-Variant of ADD_ARGUMENT
ADD_BOOLEAN_ARGUMENT
... Wrapper for the BOOLEAN
-Variant of ADD_ARGUMENT
Version 2.0.1
-
Bugfix: Wrong Installation Routine (&username has not been replaced
by the Installation User because of
SET DEFINE OFF
in Script
plsql/lehs_createall.sql
. This has lead to an endless Loop
in Package PKG_LEHS_LOG_INTERNAL
.
- Bugfix: Wrong Initialization when no Exception Log-Level has been set
Version 2.0
- Security follows now the Priciple of the Least Privilege (as recommended
by Oracle®). That means, a newly created Log-Application is not
visible to any Database User.
Also added the Ability to grant to the Pseudo-User PUBLIC
.
- Added Assertions (
PKG_LEHS.assert
, PKG_LEHS.assert_*
)
- Exceptions can now be logged with a definable Log-Level or with a programmable Log-Level
(added for
PKG_LEHS.handle_exception_and_log
and for
PKG_LEHS.log_exception
)
- Replaced the Concept of Log Destinations by the Concept of Log Appender
with the new Open Appender Architecture
(look at LEHS Appender Packages). By this
Concept it is possible to write own Appender Package and add it to an
existing Log-Application as an Appender.
- Redesign of the internal Memory Structure to read only the Log-Applications
with all its required Information which really will be used by any Application
- Added new Datatypes for Transaction Keys
CLOB
INTERVAL DAY TO SECOND
INTERVAL YEAR TO MONTH
Transaction Keys have the same Datatypes available as the Appender Parameters.
- New View
LEHS_APPLICATIONS_VIEW
(available by public
Synonym LEHS_AVAILABLE_APPLICATIONS
) which shows all
Log-Applications available for the actual DB-User.
All other public Views will now use this View as a Security Base:
LEHS_LOGS_VIEW
(by public Synonym LEHS_LOGS
)
LEHS_TOPICS_VIEW
(by public Synonym LEHS_TOPICS
)
LEHS_TRANSACTION_VIEW
(by public Synonym LEHS_TRANSACTIONS
)
Version 1.3
- Bugfix: The Relation of Users and Roles was not correctly splitted within the Views
- Documentation Update: Worked not correctly with Internet Explorer
Version 1.2
- Complete Redesign of the Table Names
- Redesign of the Synonym Structure
- new programmable Log-Level
TRACE
- new Log-Destination
APPLICATION_INFO
This shows the Log-Message on the dynamic View V$SESSION
PKG_LEHS.log_exception
can Log also user defined named Exceptions
PKG_LEHS.is_named_exception
now checks, if the Message of SQLERRM(SQLCODE)
is the same as defined by the given named Exception
- Added the Procedure
PKG_LEHS.assert
to raise an Exception due to a failed Assertion
- new *-enabled Functions
PKG_LEHS.is_trace_enabled
PKG_LEHS.is_debug_enabled
(was already at Version 1.1)
PKG_LEHS.is_info_enabled
PKG_LEHS.is_warn_enabled
PKG_LEHS.is_error_enabled
PKG_LEHS.is_fatal_enabled
PKG_LEHS.is_log_level_enabled
(this one is for all other non-programmable Log-Levels)
Version 1.1
- Initial Version of LEHS