技术开发 频道

精通 Grails: 在企业中使用 Grails

  通过 Grails 使用 log4j

  打开 grails-app/conf/Config.groovy 查看 log4j 设置(如清单 6 所示):

  清单 6. Config.groovy 中的 log4j 设置

log4j {
    appender.stdout
= "org.apache.log4j.ConsoleAppender"
    appender.
'stdout.layout'="org.apache.log4j.PatternLayout"
    appender.'stdout.layout.ConversionPattern'='[%r] %c{2} %m%n'
    // and so on...
}

  启动 Grails 应用程序时,命令提示符上出现的大多数消息是 log4j 消息。这要归功于 org.apache.log4j.ConsoleAppender(更多关于 log4j 的基础知识,请参阅 参考资料)。

  注册 log4j MBean

  如果需要在没有 JMX 的情况下调整 Grails 的登录设置,只需简单地编辑这个文件并重新启动服务器,但如果更愿意调整这些设置而不重新启动服务器,或者想远程调整它们,那应该怎样做呢?这看起来似乎是 JMX 可选的完美方法。幸运的是,log4j 附带一个方便执行这些任务 MBean。您所需做的只是注册 log4j MBean。

  将 entry 的 XML(如清单 7 所示)添加到 resources.xml。这将把 log4j MBean 注入到 MBean 服务器。

  清单 7. 将 MBean 注入到 MBean 服务器

 

<bean id="exporter" class="org.springframework.jmx.export.MBeanExporter">    
  
<property name="server" ref="mbeanServer"/>
  
<property name="beans">
    
<map>
      
<entry key="log4j:hierarchy=default">
        
<bean class="org.apache.log4j.jmx.HierarchyDynamicMBean"/>
      
</entry>        
    
</map>
  
</property>
</bean>

  重新启动 Grails,然后重新启动 JConsole。如果连接到端口 9004 上的 localhost,新的 log4j MBean 应该显示在 MBeans 选项卡中。展开 log4j 树元素,单击默认值,然后单击 Info 选项卡。从刚添加到 resources.xml(参见图 5)的条目中,可以看到配置片段:

  图 6. 查看默认 MBean 信息  

  现在可以通过 JMX 看到 log4j 了,下一步是调整一些登录设置。

0
相关文章