【问题标题】:Log4j Logger in Java standalone application. properties path in jar fileJava 独立应用程序中的 Log4j 记录器。 jar 文件中的属性路径
【发布时间】:2012-10-20 16:55:35
【问题描述】:

我想在我的 java 独立应用程序中使用 Log4j。我应该把我的 log4j.properties 文件放在哪里,以便我可以将它与我的应用程序一起分发?它应该位于 log4j jar 中还是我的应用程序的 jar 中?哪条路是正确的?

【问题讨论】:

标签: java properties path log4j


【解决方案1】:

放入应用程序的 jar 中。

根据经验,您应该避免重新打包现有的 jar,尤其是第三方 jar。为什么?

  • 如果它们以某种方式进行了数字签名,那么您可能会破坏签名。
  • 对于其他人来说,您已将文件添加到第三方 jar 中不会很明显。如果他们尝试将其升级到更高版本,并且不知道需要向其中添加文件,那么他们会非常困惑。
  • 在构建过程中重新打包 jar 很慢。但是由于无论如何您都必须构建应用程序 jar,因此添加 log4j.properties 之类的文件很便宜。

【讨论】:

  • 我应该把它放在哪个路径?与 log4j.jar 一样吗?还是在任何地方? Log4j 在哪里搜索 log4j.properties 文件?
  • 它需要在你的类路径中。我希望你最好把它放在你的应用程序 jar 中。但是如果不了解更多关于如何运行应用程序以及类路径实际上是什么的信息,就很难确定。
【解决方案2】:

始终建议将此类配置放入您自己的包装大战或 jar 中。这样您就没有更改或配置被覆盖的风险。

相反,Martin 解释了使用其他 3rd 方罐子包装的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-09
    • 2018-12-27
    • 1970-01-01
    • 2016-01-19
    • 2012-05-18
    相关资源
    最近更新 更多