Zaregistrujte se pro informační bulletiny, nebo na mé RSS kanály dostávat aktualizace automaticky blog!

An MBean změnit na úroveň teplé špalky Log4j



Změna horké (nebo restart systému bez 'Application Server) je jedním z požadavků obvykle nejčastější ve vývoji podnikových aplikací v Javě.
Během doby, kdy jsem mohla vidět a vyzkoušet různá řešení (více či méně elegantní), ale nejčastěji byli docela namáhavé a kloubový, a tuto skutečnost vždy v consistevamo volebních systémů v konfiguračních souborech nebo z servlet ručně odvolávat na reload souboru log4j.properties nebo log4j.xml změnit.
Dnes s pomocí jaro a zejména na třídu "org.springframework.jmx.export.MBeanExporter", to se stává opravdu snadno vytvořit MBean schopen vystavit všechny metody potřebné k manipulaci s teplou a "Hlupák".

Nyní maloobchodní provádění, co je potřeba začít, je jednoduchá třída, která může odhalit metody pro manipulaci s loggers:

  net.nothing2hide.jmx obalu; dovozní java.util.Enumeration; import java.util.List; import java.util.Vector; dovozní org.apache.log4j.Level; dovozní org.apache.log4j.LogManager; dovozní org.apache . Log4j.Logger; veřejné třída Log4jConfigurator (/ ** * Nastavení přihlásit úrovni, aby informace pro cílového logger * @ param cílové jméno loggeru změnit * / veřejné neplatné enableInfo (Smyčcový cíl) (LogManager.getLogger (target) . SetLevel (Level.INFO);) / ** * Nastavení přihlásit úrovni upozornit na cílové logger * @ param cílové jméno loggeru změnit * / veřejné neplatné enableWarn (Smyčcový cíl) (LogManager.getLogger (target) . SetLevel (Level.WARN);) / ** * Nastavení přihlásit na úrovni ERROR pro cílové logger * @ param cílové jméno loggeru změnit * / veřejné neplatné enableError (Smyčcový cíl) (LogManager.getLogger (target) . SetLevel (Level.ERROR);) / ** * Nastavení přihlásit úrovni, aby DEBUG pro cílové logger * @ param cílové jméno loggeru změnit * / veřejné neplatné enableDebug (Smyčcový cíl) (LogManager.getLogger (target) . SetLevel (Level.DEBUG);) / ** * Nastavení přihlásit úrovni, INFO pro kořenový logger * / veřejné neplatné enableInfoGlobally () (LogManager.getRootLogger (). SetLevel (Level.INFO);) / ** * Nastavit log úrovni, aby WARN pro kořenový logger * / veřejné neplatné enableWarnGlobally () (LogManager.getRootLogger (). setLevel (Level.WARN);) / ** * Nastavení přihlásit na úrovni ERROR pro kořenový logger * / veřejné neplatné enableErrorGlobally () (LogManager.getRootLogger (). SetLevel (Level.ERROR);) / ** * Nastavení přihlásit úrovni, aby DEBUG pro kořenový logger * / veřejné neplatné enableDebugGlobally () (LogManager.getRootLogger (). SetLevel (Level.DEBUG );) / ** * @ Vrátí seznam všech dostupných loggers * / veřejné Smyčcový listAvailableLoggers () (Výčet en = LogManager.getLoggerRepository (). GetCurrentLoggers (); StringBuffer bytost = new StringBuffer (); while (en.hasMoreElements ()) (Logger logger = (Hlupák) en.nextElement (); res.append (logger.getName ()). Append ( "n");) vrátit res.toString ();)) 

Dalším krokem v 'vývoz třídy "Log4jConfigurator" jako MBean prostřednictvím jaro:

  <bean id="myMBeansExporter" class="org.springframework.jmx.export.MBeanExporter" lazy-init="false"> <property name="beans"> <map> <vstupu klíčových = "n2h: name = log4jConfigurator" Hodnota-ref = "log4jConfigurator" /> </ map> </ nemovitost> <property name="registrationBehaviorName" value="REGISTRATION_REPLACE_EXISTING" /> </ bean> <bean id = "log4jConfigurator" class = "net.nothing2hide.jmx . Log4jConfigurator "/> 

V tomto bodě, jakmile deployata naší žádosti budeme mít k dispozici MBean "n2h: log4jConfigurator" prostřednictvím jakékoli JMX konzoli budeme zpřístupní všechny metody třídy "Log4jConfigurator."

Přihlásit se k odběru RSS kanálů mým Líbilo se vám tento článek? Objednat nyní RSS kanály!


Stále bez komentáře '

RSS kanál pro komentáře na tento post. TrackBack URI

Zanechat komentář

XHTML: <a href="#" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


Validní XHTML a CSS. ^ Nahoru


Zavřít
Poslat e-mailem