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".
Vielä ole kommentti -
Kommentit RSS-syöte tähän virkaan. Trackback URI
Jätä kommentti
- Sosiaalinen web
- Lähetä sähköposti







































