2

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

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

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

我想也许我可以获取 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 配置文件?

4

1 回答 1

2

我会引用自己来回答您的问题:日志配置是客户端应用程序的关注点(关注点分离)。记录的地点、方式和内容由他决定。我们的图书馆不得对它强加任何东西。

于 2012-05-14T14:18:27.643 回答