2013-08-07 63 views
0

当前我们有运行在WebSphere上的J2EE应用程序,log4j 1.x是我们公司的Java日志记录标准。我们希望调查在运行时更改log4j配置xml文件的能力,以便我们可以更改为DEBUG级别(例如,在发现问题时),并且一旦这些问题被清除并且DEBUG为否,就返回到ERROR级别更长的需要。我们希望做到这一切,而不必回收应用程序以重新读取配置文件。log4j 2 - 在运行时为J2EE应用程序更改配置

我看到DOMConfigurator.configureandWatch()是一种可用的方法,它允许配置文件在运行时重新读取。但是,因为它产生了一个单独的线程,在应用程序关闭时不会关闭,所以在J2EE环境中运行是不安全的。

http://logging.apache.org/log4j/1.2/faq.html#a3.6

有谁知道这是固定在LOG4 2?我还没有从文档中找到任何明确的定义,并且很好奇,如果在J2EE中运行时更改配置文件是安全的。

回答

0

重新读取配置文件不是您想要在生产中执行的操作。这意味着你正在改变很多应用服务器不希望改变的资源。开发环境可以摆脱它,理由是炸毁应用程序服务器并不是什么大问题。这也意味着如果必须重新启动,您的应用可能会有不同的表现。

您将要以编程方式更改日志级别。您可以使用来完成您关心的软件包。一旦你拥有了记录器,将其级别更改为调试,并在完成后将其更改。

+0

谢谢马克。我希望它可以像修改配置文件一样简单,但这绝对看起来像更安全的解决方案,因为我们显然不希望对应用程序服务器产生负面影响。 – Aaron

相关问题