注册为通讯,或到我的RSS源接收自动更新博客!

1 mbean改变为水平的热点日志log4j



改变热(或重新开机,没有'应用服务器)是其中的要求,通常是最常见的在发展企业级应用在Java 。
随着时间的推移我可以看到和尝试不同的解决方案(更多或更少优雅) ,但最常见的是相当辛苦和阐述,这一事实一直在consistevamo系统投票站对配置文件或从Servlet的手动引用为重新载入档案log4j.properties或log4j.xml改变。
今天的帮助和春季,尤其是一流的“ org.springframework.jmx.export.mbeanexporter ” ,就变成真的很容易创建一个mbean能够揭露所有的方法,所需的操纵热“记录仪” 。

我们现在的零售执行;什么,我们需要立即开始是一个简单的类可以揭露方法操纵伐木工人:

  net.nothing2hide.jmx方案;进口java.util.enumeration ;进口java.util.list ;进口java.util.vector ;进口org.apache.log4j.level ;进口org.apache.log4j.logmanager ;进口org.apache 。 log4j.logger ;公共类log4jconfigurator ( / ** *设置日志级别,以信息为目标存储器* @参数目标的名称,该记录仪改变处理* / public void enableinfo (字符串的目标) ( logmanager.getlogger (目标) 。 setlevel ( level.info ) ; ) / ** *设置日志级别,以警告为目标存储器* @参数目标的名称,该记录仪改变处理* / public void enablewarn (字符串的目标) ( logmanager.getlogger (目标) 。 setlevel ( level.warn ) ; ) / ** *设置日志的水平误差为目标存储器* @参数目标的名称,该记录仪改变处理* / public void enableerror (字符串的目标) ( logmanager.getlogger (目标) 。 setlevel ( level.error ) ; ) / ** *设置日志级别调试为目标存储器* @参数目标的名称,该记录仪改变处理* / public void enabledebug (字符串的目标) ( logmanager.getlogger (目标) 。 setlevel ( level.debug ) ; ) / ** *设置日志级别,以信息为根记录处理* / public void enableinfoglobally ( ) ( logmanager.getrootlogger ( ) 。 setlevel ( level.info ) ; ) / ** *一套记录的水平,以警告为根记录处理* / public void enablewarnglobally ( ) ( logmanager.getrootlogger ( ) 。 setlevel ( level.warn ) ; ) / ** * 设置日志的水平误差的根源,记录处理* / public void enableerrorglobally ( ) ( logmanager.getrootlogger ( ) 。 setlevel ( level.error ) ; ) / ** *设置日志级别调试为根记录处理* / public void enabledebugglobally ( ) ( logmanager.getrootlogger ( ) 。 setlevel ( level.debug ) ; ) / ** * @返回的名单中所有可用的伐木工人* /公共字符串listavailableloggers ( ) (枚举英文= logmanager.getloggerrepository ( ) 。 getcurrentloggers ( ) ; stringbuffer第=新stringbuffer ( ) ;而( en.hasmoreelements ( ) ) (记录仪记录仪= (记录) en.nextelement ( ) ; res.append ( logger.getname ( ) ) 。附加( “ N ”代表) ; )返回res.tostring ();)) 

下一步,在出口的阶级“ log4jconfigurator ” mbean通过春季:

  <bean id="mymbeansexporter" class="org.springframework.jmx.export.mbeanexporter" lazy-init="false"> <property name="beans"> <map> <进入关键= “ n2h :姓名= log4jconfigurator ”价值的档号= “ log4jconfigurator ” / > < /地图> < /物业> <property name="registrationbehaviorname" value="registration_replace_existing" /> < /豆> <豆腐编号 = “ log4jconfigurator ”级= “ net.nothing2hide.jmx 。 log4jconfigurator “ / > 

在这一点上,一旦deployata我们的申请,我们将有提供mbean “ n2h : log4jconfigurator : ”透过任何JMX的控制台,我们会提供所有的方法“级log4jconfigurator ” 。

订阅我的RSS源 没有您喜欢这个文章呢? 立即订阅RSS源!


还没有评论

RSS馈送的评论这个职位。 跟踪的URI

留下意见

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


有效的XHTMLCSS 。 ^ 顶部


关闭
发送电子邮件