如何控制jboss开始记录应用程序启动后的日志

时间:2011-06-27 07:50:31

标签: hibernate logging jboss log4j jboss6.x

我们希望跟踪org.hibernate.type类别应用程序启动后的所有活动,因为我们希望在应用程序启动期间避免所有跟踪日志(因为它需要很长时间)。

注意:目前jboss6/server/default/deploy/jboss-logging.xml包含TRACE类别的org.hibernate.type

是否可以以编程方式启用此帖子启动?

1 个答案:

答案 0 :(得分:0)

编写POJO以检查JBoss服务器的状态 - 是否已启动。您可以使用MBean: jboss.system:type = Server 并检查布尔属性已启动。如果它已经启动,请使用以下内容动态更改Hibernate的登录级别:

Logger hibernate = (Logger)LoggerFactory.getLogger(<logger name>);
hibernate.setLevel(Level.TRACE);

现在,您可以将此POJO与您的应用程序存档捆绑在一起,并将其安排为石英作业,以便在一分钟左右后触发。当POJO完成它的工作时,取消其后续的调度。

如果您不想将其安排为石英作业,可以在 deploy.last 文件夹下部署一个单独的工件,并让它立即更改日志记录级别而不检查JBoss服务器状态。