我想提供带有自己的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 配置文件?