Logger
Logger copied to clipboard
Logger is used by Oracle developers to instrument their PL/SQL code
It's nice to have an identifier for each separate execution (job execution, web service call etc). When a lot of things happens at the same time it can get a...
same as time_stop (function) except that it returns the time as an INTERVAL DAY TO SECOND
If logging at the debug level is disabled, or the package is compiled with the "noop" option, logger.time_stop (function) will raise the "function returned without value" exception. Also - it...
When more tan 100 timers are a value error is raised code: l_pad varchar2(100); l_pad := replace(lpad('a',logger.g_running_timers,'>')||' ', 'a', null);
We have had an increase in the logged activity for the process we have written which has caused concerns with our DBA's concerning the amount of space being consumed in...
Change: ``` procedure null_global_contexts is pragma autonomous_transaction; l_pref_value logger_prefs.pref_value%type; begin $if $$no_op or $$rac_lt_11_2 or not $$logger_context $then null; $else -- TODO THIS IS THE FIX select lp.pref_value into l_pref_value...
Look at `lower(utl_call_stack.concatenate_subprogram(utl_call_stack.subprogram(1)))` instead of getting developers to manually type in the `package.proc_name` concept. See #251 to also change the name in example code.
Most examples we have are `l_scope logger_logs.scope%type := ...` instead use `c_scope constant ...` in the example code.
Have an API call so that we can log rowcount in an easier method. Should look like: `logger.log_rowcount(p_str, p_scope ...)` Internally it would: ```sql begin logger.log(p_string || ': ' ||...
Use `substr` behind the scenes so that only the first "n" chars get logged (500)?