2024 年 Clojure 状态调查! 中分享您的看法。

欢迎!请访问 关于 页面以获取更多信息。

+4 投票
Clojure

我经常在 (ns) 的 (require) 或 (use) 子句中添加 :verbose 以便调试问题(特别是宏或错误的命名空间声明)。如果能定义一个 JVM 系统属性(比如 -Dclojure.load-verbosely=true),以便在终端会话或构建过程中默认将 loading-verbosely 设置为 true,那将会非常有用。

有时我只想看到在启动应用程序或运行一组测试时命名空间加载的情况,以作为进度的一种度量。

我真的希望能够实现或修补这个功能。
如果我要挑剔的话,我真的希望它能像 `set!` 一样响应。我不确定 `*warn-on-reflection*` 在这方面为什么这么特别,但感觉上它们是相似的。

3 个答案

0 投票

评论者:tsdh

本补丁实现了建议的功能。

新的系统属性称为 {{clojure.core.loading-verbosely}},类似于现有的 {{clojure.compile.warn-on-reflection}}。

0 投票
参考: https://clojure.atlassian.net/browse/CLJ-1112(hlewisship 报告)
0 投票

这确实非常有帮助,特别是在问题仅在生产构建(如uberjar)中表现出时。

...