每个jar的logback配置文件

时间:2012-05-08 20:04:46

标签: java logging jar classpath logback

我想提供具有自己的logback日志记录配置的jar文件。 配置回溯的常用方法是使用默认文件logback.xml,即logback库从类路径的根目录读取(适用于应用程序服务器或不适用)。

您可以include来自主logback配置文件的其他文件(没有尝试过),但我不知道哪些jar将在类路径中,哪些需要日志配置。

另外,jar可以在命令行应用程序或应用程序服务器(共享库中)中使用。

我想也许我可以将文件路径发送到jar并检查那里是否有配置文件,并尝试以编程方式读取配置并使用JoranConfigurator加载它。

// This is the way I find to get the path to the jar
String path = ClassThatWantsALogger.class.getProtectionDomain().getCodeSource()
            .getLocation().getPath();
String decodedPath = URLDecoder.decode(path, "UTF-8");// the path to the jar

但是这种方法可能会失败,因为它取决于安全限制,可能在Linux或应用程序服务器中失败。对于可能有更好解决方案的问题,这是一种很难的方法。

您是否想过一种管理jar的方法可以拥有适用于任何环境的自己的logback配置文件?

1 个答案:

答案 0 :(得分:2)

我将cite myself回答您的问题:记录配置是客户端应用程序的关注点(关注点分离)。这是他决定在哪里,如何以及将要记录的内容。你不得向我们的图书馆强加任何东西。