6

我遇到了一个不错的 Java 小型 Web 请求框架:Spark。API 看起来不错,很有前途,但库包本身很奇怪。别管它建议使用快照工件作为依赖项的事实。不用管它使用 log4j 进行日志记录的事实(现在库倾向于使用 jcl 或 slf4j),有时还有 System.out.println。但它在 spark-xxx.jar 中捆绑了自己的 log4j.properties。我花了一个小时来调查为什么当我的类路径中肯定存在 log4j.properties 时我的项目会抱怨 log4j 配置。-Dlog4j.debug=true 给出了答案,log4j 承认它已经从 spark jar 加载了 log4j.properties。

我想知道这(作为一个库并使用 log4j 和捆绑 log4j.properties)是否有一些动机,或者它是否只是蹩脚。

4

1 回答 1

5

将 log4j.properties 与库捆绑在一起是不好的风格。

使用 spark,您可以争辩说它更接近应用服务器(如 tomcat),在这种情况下,它可以配置日志记录。

我会说测试是控制 start(.sh|.bat) 脚本的人应该配置日志记录,并且 log4j 配置文件几乎永远不应该在 jar 中。

于 2011-08-06T06:13:10.333 回答