Механизм регистрации / отладки ошибок для кода PL / SQL - PullRequest
0 голосов
/ 14 марта 2019

Я хочу создать механизм регистрации ошибок и отладки для моего кода PLSQL.Будет таблица log_Error, в которую я буду вставлять ошибки / отладки.

Я планирую периодически вставлять отладки в мой код, чтобы мне было легко определить, до какого момента мой код исполняется

В разделе исключений я буду вставлять сообщения об ошибках в эту таблицу журнала.

Кроме того, мне нужен механизм, в котором я мог бы включить этот механизм ведения журнала для определенного сеанса вместо всехсеансы по умолчанию.Если это ведение журнала происходит по умолчанию, это создаст ненужное влияние на производительность и создаст нежелательные журналы

Не могли бы вы предложить и подход, в котором я могу включить / отключить механизм ведения журнала для сеанса вручную?

1 Ответ

1 голос
/ 14 марта 2019

Вы можете создать небольшой пакет регистрации, в котором вы устанавливаете флаг для каждой сессии, как это

create package debug_log_pk as
  bLogflag boolean := false;
end debug_log_pk;

затем создайте процедуру, которая вставит данные в вашу таблицу:

create or replace procedure log_error( ..... )
as
   pragma autonomous_transaction;
begin
   if debug_log_pk.bLogflag then
     insert into logging_table (...) values (...);
     commit;
   end if;
end;

Где-то в вашей программе. комплект:

debug_log_pk.bLogflag := true; 

Это можно сделать в любом месте кода вашего приложения, прежде чем вы захотите войти в систему, и будет применяться для сброса сеанса. И вы можете отключить выход из системы :)

Также прагма aut автономная_транзакция; помещает запись в отдельную транзакцию, чтобы выдержать откат в БД.

Также взгляните на это: https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1171766400346817259

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...