使用外部程序包进行Logback

时间:2012-11-26 14:23:24

标签: java logback

我使用Logback从集成框架登录。所有集成都在同一个Java VM中运行,并使用一个logback.xml进行配置。它们都在不同的包中,我已经设置好所以它们都使用滚动文件appender(只使用简单的class =“x.y.z”等)登录到自己的文件。这很好。

但是,所有集成都引用了另一个jar文件,它是一个共享库。我可以为这个共享库中的类设置一个appender,但让日志转到另一个文件会使跟踪变得非常困难。例如,第一个日志将出现在integration_one.txt中,下一个出现在shared_lib.txt中,下一个日志出现在integration_one.txt中。

我需要配置logback,以便共享库日志最终与调用它的集成在同一个文件中。

我能想到的唯一方法是将所有日志从包x中开始的线程记录到文件y,但我不知道可以实现这一点的配置。

有人有什么想法吗?

1 个答案:

答案 0 :(得分:0)

不幸的是,Logback不能正常工作。

jar文件中的类无疑会初始化自己的appender,并且通常使用其完全限定的类名来执行此操作。

控制附加日志的文件的配置部分使用该完全限定的类名来将日志条目定向到相应的文件。

简而言之,类可以将其日志定向到一个或多个appender,但我不知道使用第三方代码,根据某些外部因素将相同的类登录到不同的appender。

如果您已经在jar文件中编写了类,那么您可能会根据上下文向它们传递一个记录器,但我猜你没有源代码或者不想修改它