我想将日志记录添加到许多内部Java webstart应用程序中,最好使用logback日志框架和logback.groovy
配置文件。我希望在webstart应用程序.jnlp
文件中指定此内容,但不清楚如何执行此操作。
我尝试在主jar的资源中添加logback.groovy
文件(即包含我的main方法的文件),但是没有通过logback获取。
我还尝试过将logback.groovy
文件添加到<resources>
文件的.jnlp
部分的各种尝试:
<jnlp ...>
<resources>
<j2se version="$j2seVersion" />
$dependencies // from maven-webstart-plugin
// some reference to my logback configuration - e.g.
<dir href="log/" />
</resources>
</jnlp>
值得注意的是,logback期望配置文件在类路径中被引用为它所在的文件夹,而不是文件本身 - 请参阅FAQs。
但是,我真的不确定这将如何适用于Java Webstart。
这可能吗?如果是这样,我该怎么做?
答案 0 :(得分:0)
所以...我最终使用的方法是(与Askel的评论一致)将logback.groovy配置文件放入/src/main/resources
。
但是,我们以多种不同的方式使用我们的Java库,并且我不希望默认情况下在jar中包含logback配置文件。在某种程度上,这是因为我们有几个库,并且logback不能很好地与多个配置文件一起使用。另外,根据版本的不同,我想使用不同的logback配置。
对于我们的webstart版本,我们使用webstart-maven-plugin
来构建库,组装依赖项等。但在进行此构建之前,我们将logback.groovy
配置文件复制到/src/main/resources
- 这包括该库的构建中的文件。然后,在构建/发布之后,您可以从/src/main/resources
中删除配置文件。
但是,此插件还将运行mvn install
,这会将库和的logback配置文件放在本地maven存储库中。因此,在删除构建/发布/临时配置之后,我们会执行另一个mvn clean install
,这将覆盖该库。