欢迎!请查看 关于 页面以了解更多关于此的工作方式。
评论者:llsouder
在 0.4.0 版本中重新测试
user=> (log/info ["test" "1" "" "3"]) 2017年7月23日 8:22:56 AM user invoke INFO: [test 1 3] user=> (log/info ":one" :one 1 "1") 2017年7月23日 8:35:30 AM user invoke INFO: :one :one 1 1
输出应为
INFO: ["test" "1" "" "3"]
以及
INFO: [":one" :one 1 "1"]
将 print-str 替换为 prn-str 以使用户可以看到将要被评估的内容。这对于调试程序很有用,但我也看到这可能会破坏野外观测中的人类可读信息输出。
评论者:tangrammer
大家好,我可以在我的应用程序代码中通过为字符串类型添加覆盖打印方法来避免这个令人讨厌的问题……这是否是一个方便的方法?
`(defmethod clojure.core/print-method String
`
[s ^java.io.Writer writer]
(.write writer (str "\"" s "\""))) `
评论者:ilmoraunio
附带的修复方案是针对已提出的 TLOG20.patch 的替代方案,其中我们使用 pr-str。这个更改集允许当复制粘贴到 REPL(例如)时,记录的 Clojure 代码可以满足编译器兼容性。该更改集影响了 logp 及其派生功能的用法。
此修复对于简化生产问题的调试是必要的,尤其是在 Clojure 数据实体太大而无法手动插入引号时。
评论者:clojure32647908
https://github.com/clojure/tools.logging/pull/11#issuecomment-388584804
https://github.com/xingzhefeng/tools.logging