または、結果をデータベース内のテーブルに記録することもできます。2 つのアプローチ (コンソールとデータベース) は補完的であり、どちらもさまざまなシナリオで役立ちます。
これを達成するための手順:
- ログ レコードを受け取るログ テーブルを作成します。
- ログ出力を書き込む手順を作成します。
- 必要なパラメータを指定してロギング プロシージャを呼び出します。
- ログ テーブルから選択して結果を表示します。
1. ログ出力を受け取るテーブルを作成します。
CREATE TABLE tlog (
seq NUMBER(8),
ltime DATE,
llevel VARCHAR2(5),
module VARCHAR2(64),
message VARCHAR2(512)
);
CREATE SEQUENCE slog;
2. ログ出力の書き込み手順:
CREATE OR REPLACE PROCEDURE plog_debug(module IN VARCHAR2, message IN VARCHAR2) IS
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
INSERT INTO tlog
(seq, ltime, llevel, module, message)
VALUES
(slog.NEXTVAL, SYSDATE, 'DEBUG', module, message);
COMMIT;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
END plog_debug;
3. 必要なパラメータを指定してロギング プロシージャを呼び出します。
plog_debug('SCOTT.sp_testing', 'Voucher no is:' || vno);
4. ログ テーブルから選択して結果を表示します。
SELECT * FROM TLOG;
| SEQ | LTIME | LLEVEL | MODULE | MESSAGE |
| 1 | 21/06/2012 09:49:00 | DEBUG | SCOTT.sp_testing | Voucher no is:999 |