Video-opas: opetella käyttämään Wordpress yhdessä ainoassa päivässä!


MBean on muuttaa taso kuumavalssattujen lokit Log4j


Advertisement


Muutoksen kuumana (eli ilman uudelleen käynnistämistä "Application Server) on yksi vaatimukset yleensä useammin kehittämisen yritys-sovelluksia Java.
Ajan mittaan voisin nähdä ja kokeilla erilaisia ratkaisuja (enemmän tai vähemmän tyylikkäästi), mutta useimmat ajat olivat varsin vaivalloinen ja nivel, ja tämä seikka on aina äänestyspaikkojen kokoonpanon tiedostoja tai vetoamalla servlettikutsun manuaalisesti reload-tiedosto log4j.properties tai log4j.xml muuttunut.
Tänään avulla kevään ja erityisesti sen luokan org.springframework.jmx.export.MBeanExporter ", se on todella helppoa luoda MBean voi paljastaa kaikkia menetelmiä tarvitaan manipuloida on kuuma" metsuri ".

Nyt vähittäiskauppa täytäntöönpanoa, mitä me tarvitsemme, jotta pääset alkuun on yksinkertainen luokka, joka voi altistaa menetelmät manipuloida puunkorjuuta:

 package net.nothing2hide.jmx; import java.util.Enumeration; import java.util.List; import java.util.Vector; import org.apache.log4j.Level; import org.apache.log4j.LogManager; import org.apache.log4j.Logger; public class Log4jConfigurator { /** * Set the log level to INFO for the target logger * @param target The name of the logger to change */ public void enableInfo(String target) { LogManager.getLogger(target).setLevel(Level.INFO); } /** * Set the log level to WARN for the target logger * @param target The name of the logger to change */ public void enableWarn(String target) { LogManager.getLogger(target).setLevel(Level.WARN); } /** * Set the log level to ERROR for the target logger * @param target The name of the logger to change */ public void enableError(String target) { LogManager.getLogger(target).setLevel(Level.ERROR); } /** * Set the log level to DEBUG for the target logger * @param target The name of the logger to change */ public void enableDebug(String target) { LogManager.getLogger(target).setLevel(Level.DEBUG); } /** * Set the log level to INFO for the ROOT logger */ public void enableInfoGlobally() { LogManager.getRootLogger().setLevel(Level.INFO); } /** * Set the log level to WARN for the ROOT logger */ public void enableWarnGlobally() { LogManager.getRootLogger().setLevel(Level.WARN); } /** * Set the log level to ERROR for the ROOT logger */ public void enableErrorGlobally() { LogManager.getRootLogger().setLevel(Level.ERROR); } /** * Set the log level to DEBUG for the ROOT logger */ public void enableDebugGlobally() { LogManager.getRootLogger().setLevel(Level.DEBUG); } /** * @return The list of all the available loggers */ public String listAvailableLoggers(){ Enumeration en = LogManager.getLoggerRepository() .getCurrentLoggers(); StringBuffer res = new StringBuffer(); while(en.hasMoreElements()){ Logger logger = (Logger)en.nextElement(); res.append(logger.getName()).append("n"); } return res.toString(); } } 

Seuraava askel vienti luokan "Log4jConfigurator" kuin MBean kautta Spring:

 <bean id="myMBeansExporter" class="org.springframework.jmx.export.MBeanExporter" lazy-init="false"> <property name="beans"> <map> <entry key="n2h:name=log4jConfigurator" value-ref="log4jConfigurator"/> </map> </property> <property name="registrationBehaviorName" value="REGISTRATION_REPLACE_EXISTING" /> </bean> <bean id="log4jConfigurator" class="net.nothing2hide.jmx.Log4jConfigurator" /> 

Tässä vaiheessa, kun käyttöön soveltaminen, meillä on MBean "n2h: log4jConfigurator", joka tarkoittaa mitä tahansa JMX konsoli on saatavilla kaikki menetelmät luokan "Log4jConfigurator".



Piditkö tämä artikkeli? Rekisteröidy nyt saamaan päivityksiä tai uutisia:
Tilaa RSS-syötteet kirjoittaa RSS-syöte


Vielä ole kommentti -

Kommentit RSS-syöte tähän virkaan. Trackback URI

Jätä kommentti

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

VIIME KÄVIJÄÄ


Nothing2Hide © 2006 Kaikki oikeudet pidätetään.

Lisenssi | Disclaimer
Sulje
Lähetä sähköposti