Meld deg på nyhetsbrev eller til min RSS-feeder til å motta oppdateringer automatisk blogg!

En MBean å endre til nivået av varme logger Log4j



Endringen varme (eller omstart uten 'Application Server) er ett av kravene som regel mest hyppige i utviklingen av bedriftens applikasjoner i Java.
Over tid jeg kunne se og prøve ut forskjellige løsninger (mer eller mindre elegant), men oftest var ganske strevsom og utformet, og det faktum alltid i consistevamo systemer valglokale på konfigurasjonsfiler eller fra tjeneren manuelt påkalle for lesse fil log4j.properties eller log4j.xml endret.
I dag med hjelp av Spring og spesielt klassen "org.springframework.jmx.export.MBeanExporter", blir det veldig enkelt å opprette en MBean stand til å avsløre alle metodene som trengs for å manipulere hot "Ført inn i loggbok".

Vi har nå detaljhandel gjennomføring; hva vi trenger for å komme i gang er en enkel klasse som kan vise metoder for å manipulere loggers:

  net.nothing2hide.jmx pakken; import java.util.Enumeration; import java.util.List; import java.util.Vector; importere org.apache.log4j.Level; importere org.apache.log4j.LogManager; importere org.apache . Log4j.Logger; offentlige klasse Log4jConfigurator (/ ** * Sett logge nivå for INFO for målet ført inn i loggbok * @ param target Navnet på logger for å endre * / public void enableInfo (String target) (LogManager.getLogger (target) . SetLevel (Level.INFO);) / ** * Sett logge nivå til å advare for målet ført inn i loggbok * @ param target Navnet på logger for å endre * / public void enableWarn (String target) (LogManager.getLogger (target) . SetLevel (Level.WARN);) / ** * Sett logge nivå til feil for målet ført inn i loggbok * @ param target Navnet på logger for å endre * / public void enableError (String target) (LogManager.getLogger (target) . SetLevel (Level.ERROR);) / ** * Sett logge nivå feilsøke for målet ført inn i loggbok * @ param target Navnet på logger for å endre * / public void enableDebug (String target) (LogManager.getLogger (target) . SetLevel (Level.DEBUG);) / ** * Sett logge nivå for INFO for ROT ført inn i loggbok * / public void enableInfoGlobally () (LogManager.getRootLogger (). SetLevel (Level.INFO);) / ** * Sett loggen nivå til å advare for ROT ført inn i loggbok * / public void enableWarnGlobally () (LogManager.getRootLogger (). setLevel (Level.WARN);) / ** * Sett logge nivå til feil for roten ført inn i loggbok * / public void enableErrorGlobally () (LogManager.getRootLogger (). SetLevel (Level.ERROR);) / ** * Sett logge nivå feilsøke for ROT ført inn i loggbok * / public void enableDebugGlobally () (LogManager.getRootLogger (). SetLevel (Level.DEBUG );) / ** * @ Returnere liste over alle tilgjengelige loggers * / public String listAvailableLoggers () (Enumeration no = LogManager.getLoggerRepository (). GetCurrentLoggers (); StringBuffer res = new StringBuffer (); mens (en.hasMoreElements ()) (Ført inn i loggbok logger = (Ført inn i loggbok) en.nextElement (); res.append (logger.getName ()). Append ( "n");) return res.toString ();)) 

Det neste trinnet i eksport av klassen "Log4jConfigurator" som MBean via Spring:

  <bean id="myMBeansExporter" class="org.springframework.jmx.export.MBeanExporter" lazy-init="false"> <property name="beans"> <map> <oppføring nøkkel = "n2h: name = log4jConfigurator" verdi-ref = "log4jConfigurator" /> </ map> </ property> <property name="registrationBehaviorName" value="REGISTRATION_REPLACE_EXISTING" /> </ bean> <bønne id = "log4jConfigurator" class = "net.nothing2hide.jmx . Log4jConfigurator "/> 

På dette punktet, når deployata vår søknad, vil vi ha tilgjengelig MBean "n2h: log4jConfigurator" gjennom alle JMX konsoll vil vi gjøre tilgjengelig alle metoder for klassen "Log4jConfigurator."

Abonner mine RSS feeds Visste du liker denne artikkelen? Abonner nå RSS-feeds!


Fortsatt ingen kommentar '

RSS feed for kommentarer til dette innlegget. TrackBack URI

Legg igjen en kommentar

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


Gyldig XHTML og CSS. ^ Top


Lukke
Send e-post