MBean par izmaiņām līmeni karsti apaļkokiem Log4j
Reklāma
Izmaiņas karsti (piemēram, bez atkārtoti "lūguma Server) ir viena no prasībām, parasti biežāk Uzņēmumu attīstības pieteikumu Java.
Laika gaitā es varētu redzēt un izmēģināt dažādus risinājumus (vairāk vai mazāk eleganti), bet visvairāk reizes bija diezgan nogurdinoša un noteiktu, un šis fakts vienmēr ir vēlēšanu par konfigurācijas faili, vai atsaucoties servlet manuàli, lai pārlādēt failu log4j.properties vai log4j.xml mainījusies.
Šodien ar palīdzību pavasarī un jo īpaši klases org.springframework.jmx.export.MBeanExporter ", tas ir patiešām viegli izveidot MBean var pakļaut visas metodes, kas nepieciešama, lai manipulēt ar karstu" reģistrācijas ".
Mēs tagad mazumtirdzniecības īstenošanu; to, ko mums vajag, lai sāktu ir vienkārša klase, kas var pakļaut metodes, lai manipulēt ar glabātāji:
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(); } } Nākamais solis "eksporta klases" Log4jConfigurator ", kā MBean ar pavasara:
<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" /> Šobrīd, kad izvietot mūsu pieteikumu, mums ir MBean "n2h: log4jConfigurator", kas ir jebkura JMX konsoles sniegs visas metodes klases "Log4jConfigurator."
Joprojām nav komentāru "
Komentāri RSS plūsmu šajā amatā. Trackback URI
Atstājiet komentāru
Nothing2Hide © 2006 Visas tiesības aizsargātas.
License | Disclaimer
- Sociālās Web
- Sūtīt e-pastu







































