欢迎!有关如何运作的更多信息,请参阅关于页面。
由 llsouder 发表评论
使用 0.4.0 重新测试
user=> (log/info ["test" "1" "" "3"]) Jul 23, 2017 8:22:56 AM user invoke INFO: [test 1 3] user=> (log/info ":one" :one 1 "1") Jul 23, 2017 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。这个更改集允许当将 Clojure 代码复制粘贴到 REPL(例如)时,使其符合编译器的要求。该更改集影响了 logp 及其衍生函数的使用。
这个修复对于更容易调试生产问题非常有必要,尤其是当 Clojure 数据实体太大而无法手动插入引号时。
评论由:clojure32647908 提出
https://github.com/clojure/tools.logging/pull/11#issuecomment-388584804
https://github.com/xingzhefeng/tools.logging