客户端jar中的log4j.xml

Mik*_*one 5 java client log4j

我有一些jar文件将分发给使用log4j进行日志记录的客户端.我的问题是我应该在jar文件中包含log4j.xml配置还是让客户端提供一个如果他们想要记录?

我的感觉是离开的log4j.xml配置文件进行客户端罐子,因为Apache的jar文件都带有log4j的日志记录,但SANS的log4j.xml.

mfx*_*mfx 9

是的,不要理会.当您的log4j配置文件被忽略时,这是非常麻烦的,因为您的应用程序的60个第三方库中的一个包含它自己的库.


alt*_*tab 5

在你的情况下log4j的好处是你的jar真的不应该担心它.log4j的基本用例是:

  1. 获取当前类的记录器对象
  2. 在该记录器上调用其中一个方法,例如 debug("some message");

如果您要运送的罐子要由更大的应用程序使用,那么理想情况下您的代码将只执行上面列出的两个步骤.这样,您的代码将只从客户端应用程序中已配置的log4j实例中获取记录器对象.然后,您的生产代码将与必须知道如何配置log4j分离.

您需要在开发jar时看到的任何日志记录都可以通过在单元测试setUp()方法中配置log4j实例或类似的东西来实现,这些实例不会与转到客户端的生产代码捆绑在一起.