欢迎!有关如何使用此功能的更多信息,请参阅关于 页面。
评论者:llsouder
用 0.4.0 版本重新测试
user=> (log/info ["test" "1" "" "3"]) Jul 23, 2017 8:22:56 AM user 调用 INFO: [test 1 3] user=> (log/info ":one" :one 1 "1") Jul 23, 2017 8:35:30 AM user 调用 INFO: :one :one 1 1
输出应该是
INFO: ["test" "1" "" "3"]
和
INFO: [":one" :one 1 "1"]
用 prn-str 替换 print-str,以便用户可以看到将被求值的内容。这在调试程序时很有用,但我也理解这可能会搞乱野外可读的信息输出。
评论者:tangrammer
大家好,我可以在我的应用程序代码中添加针对 String 类型的 print-method 重写,以避免这个问题……这是一个方便的方法吗?
`(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