2024 年 Clojure 调查问卷! 中分享您的看法。

欢迎!请访问 关于 页面,以了解更多关于此功能的信息。

+6
tools.logging
已关闭

是否有兴趣在 clojure tools.logging 中添加 slf4j 2 工厂?

slf4j 2 更改了它发现实现的方式 - 现在它使用 java ServiceLoader(标准)设施。

客户端版本 1.x 的 API 与版本 2.x 的 API 兼容。
但是实现已经更改 - 实现的加载方式。

https://www.slf4j.org/faq.html#changesInVersion200

我认为旧的方法无法加载以找到使用服务加载器的新的 slf4j 2.0 实现。
https://github.com/clojure/tools.logging#selecting-a-logging-implementation (编辑) 。

如果这感兴趣,我可以提供一个 PR。

关闭备注: 没有需要更改的,已更新测试依赖项到 2.0.6

1 答案

+1

我已在 https://clojure.atlassian.net/browse/TLOG-28 创建了一个 jira 来跟踪此问题。如果您有兴趣提供补丁,请遵循成为贡献者的流程(见 https://clojure.org/dev/dev#_becoming_a_contributor )。

(在clojurians slack上也提出了问题)

我检查了这个 https://clojure.atlassian.net/browse/TLOG-28,看起来只需将新的slf4j 2.0 API添加到类路径上即可。
clojure tools-logging 使用的 factory# (org.slf4j.LoggerFactory/getILoggerFactory) 已经迁移到使用 ServiceLoader: https://github.com/qos-ch/slf4j/blob/a5540ad51066b4b15132fdf27ead630519541d35/slf4j-api/src/main/java/org/slf4j/LoggerFactory.java#L107
(我没有权限在jira问题上进行评论,也不知道特定的 tools-logging 频道)。

我认为对于tools-logging与slf4j 2.0一起使用,不应该做任何事情。
客户只需在类路径上添加slf4j 2.0依赖关系。
我建议在开发配置文件中使用2.0,因为1.7x将不再得到维护。
谢谢,已经更新了测试依赖项,并关闭
...