欢迎!请参阅关于页面了解有关如何使用此功能的更多信息。
评论者: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
大家好,我可以在我的应用程序代码中添加一个覆盖打印方法的String类型来避免这个令人讨厌的问题…这是一个方便的方法吗?
`(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