Logger - logování a diagnostika v PL/SQL

Při ladění PL/SQL často potřebuji vypisovat si informace z programu - kterými kroky prošel, s jakými hodnotami proměnných a tak. Většinou si řeknu že to je drobnost a řeším to nejdřív podle situace pomocí DBMS_OUTPUT nebo HTP. Pak samozřejmě zjistim, že a)tyhle výpisy jsou to poslední, co by se mělo ukazovat koncovému uživateli ve finální aplikaci, a b)i v provozním prostředí je čas od času třeba zapnout logování, aby člověk zjistil, co se v aplikaci děje. A tak narychlo sepíšu nějakou jednoduchou logovací package a nahradím volání DBMS_OUTPUT/HTP voláním mé package.

Proč ale vymýšlet v každé aplikaci funkcionalitu logování znovu a znovu. Navíc, máte-li logovací funkcionalitu k dispozici od počátku, dá se alespoň základní logování udělat již při vývoji pro celou aplikaci. Nebo snad patříte mezi ty, které ještě Tom Kyte nepřesvědčil o důležitosti instrumentace kódu?

Kam jsem se chtěl tímhle úvodem dostat? No, uznávám, dalo se to říci i stručněji, ale chtěl jsem vás upozornit na projekt Logger uveřejněný v rámci http://samplecode.oracle.com. Logger lze použít velmi jednoduše - prostým voláním

logger.log('Moje zpráva')
, nebo lze využít jeho pokročilé možnosti - logovat kontext spojení, nastavit různé úrovně logování, logovat v ApExu hodnoty formulářových prvků nebo měřit a ukládat doby zpracování nějaké vaší operace.
A to nejlepší na konec - existuje i tzv. NO-OP varianta - pokud opravdu nechcete na produkci nic logovat a přijde vám, že i změna úrovně logování tak, aby se logovaly jen závažné chyby, může mít pro vaši aplikaci nežádoucí režii, nahrajete na server variantu loggeru, který ma sice stejný interface, ale v těle jsou jen prázdné procedury - žádný procedurální kód, žádné logovací tabulky.

SampleCode je relativně nedávno zprovozněný web, který má sloužit uživatelům OTN k volnému sdílení ukázek kódu a různých jednoduchých nástrojů. Zatím jich zde najdete jen pár, ale jak ukazuje právě Logger, může to do budoucnosti být docela zajímavý web.

Comments:

Post a Comment:
  • HTML Syntax: NOT allowed
About

Česky o všem co se točí kolem Oracle Database.

Autoři:

Patrik Plachý
Technology Sales Consultant

David Krch
Principal Consultant
Oracle Expert Services

Oracle Czech

Search

Archives
« červenec 2014
PoÚtStČtSoNe
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
   
       
Today