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 投票

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

by
还在 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 将不再得到支持。
by
谢谢,更新了测试依赖项并关闭。
...