Dnes jsem narazil na jeden plugin do Firefoxe, který umožňuje sledovat Log4J logy přímo v browseru, resp. ve FireBugu. Jmenuje se LogDigger. Přijde mi to jako skvělá věc, hlavně pro testování, kdy není aplikační server na localhostu. Nakonfiguroval jsem tedy LogDigger pro jeden náš aktuální projekt.

Na serveru je konfigurace jednoduchá – přidá se jeden servlet filter:

<!-- Define LogDigger filter -->
<filter>
    <filter-name>LogDigger Servlet Filter</filter-name>
    <filter-class>org.logdigger.servlet.filter.LogDiggerServletFilter</filter-class>
</filter>

<!-- Define mapping for the LogDigger filter -->
<filter-mapping>
    <filter-name>LogDigger Servlet Filter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

V našem případě jsem do AspectWorks Frameworku přidal wrapper filter tak, aby šel filter konfigurovat ve Springu, ale to je pouze detail. Wrapper si můžete prohlédnout v příloze.

Do  browseru se potom nainstaluje plugin integrující s FireBugem. Můžete pak sledovat přímo serverové logy vztažené k HTTP požadavku. Lze nastavit i úroveň, takže třeba sledujete jenom ERROR zprávy. Uvidíme, jak se to osvědčí při testech. Předpokládám, že testeři budou moci snadněji poznat, jestli došlo opravdu k chybě, a bude pro ně snazší přikládat logy do bugreportů.

capture_11232008_alert_context_w460

LogDigger umožňuje konfigurovat také appender pro Log4J, takže můžete sledovat jen vybrané části aplikace a vynechat například hlášky z použitých knihoven. Atribut allowLogLevelChange povoluje měnit log level i přímo z prohlížeče.

# appender to customize output to LogDigger Firefox plugin
log4j.appender.logdigger=com.logdigger.connector.log4j.LogDiggerAppender
#log4j.appender.logdigger.allowLogLevelChange=false

Do budoucna plánuje LogDigger integrovat i s aplikací JIRA pro snadné vkládání logů do hlášení chyb. Tak uvidíme.

capture_11202008_fb