WebKiv: OpenCmsLogovaniTraceLevel

from Wiki KIVu

Jak přinutit OpenCms aby logoval úroveň TRACE

Na této stránce se nachází rozvaha nad tím, jakým způsobem by bylo možné přinutit OpenCms, popřípadě Log4j, aby logoval úroveň TRACE - to znamená vstupy do metod, hodnotu parametru a eventuelní výstupy z metod, a výjimky.

Na výběr jsou následující možnosti:

  1. Log4J - úroveň TRACE je v Log4J od verze 1.2.12. OpenCms 7.0.5 využívá verzi 1.2.14, OpenCms 6.2.3 verzi 1.2.9. Je tedy možné využít v prostředí OpenCms 7.0.5. Problém zde představuje to, že logování musí být napevno zadrátováno ve zdrojovém kódu – tento způsob se tedy dá použít jen u námi vytvářených tříd a ne u tříd OpenCms.
  2. Některá rozšíření Log4J - napříkal implementace od JBoss?. Opět by ale muselo být logování napevno zadrátování ve zdrojovém kódu.
  3. Spring AOP - možnost použít interceptrory Springu k zapisování LOGovacích informací. Zde je ale problém, jak namapovat Interceptory na třídy OpenCms, které nejsou se Springem v žádném vztahu - nejsou definovány v ApplicationContextu. Spring ale umí vytvořit advices pouze pro beany, které se v nacházejí v ApplicationContextu, proto se toto řešení také jeví jako nepoužitelné.
  4. Java EE – Interceptory. Lze Použít. Interceptory se definují buď pomocí anotace přímo ve zdrojovém kódu, nebo pomocí externího souboru – v tomto případě by tedy se tedy dalo použít to, že by se interceptory definovaly v souboru ejb-jar.xml a ne v anotacích. Problémem tohoto řešení je závislost na Java EE Kontejneru – možné řešení do budoucna je Java EE 6, které má být umožnit rozdělení na „lehký“ a „standardní“ kontejner - první varianta má obsahovat EJB, JPA a Interceptory - potom by bylo možné vzít toto řešení. Příchod Java EE 6 je plánován na konec roku 2009.

Zpět na FrameworkyProWebKiv

Retrieved from http://wiki.kiv.zcu.cz/WebKiv/OpenCmsLogovaniTraceLevel
Content last modified on 30 June 2009, 09:19