我在项目中使用SLF4J和Logback,通常使用tools.logging进行所有日志记录。每次我必须使用使用音色的库时,我永远无法将正确的代码添加到项目中以查看记录的任何内容。
在我的项目中,为了确保音色日志处于活动状态并使音色将所有日志重定向到tools.logging(以便音色日志将出现在我的日志中),我需要什么最低配置?
我尝试将以下内容添加到我的主要名称空间:
(timbre/merge-config!
{:level :info
:appenders {:tools-logging (com.palletops.log-config.timbre.tools-logging/make-tools-logging-appender {})}})
这会尝试使用timbre->tools.logging bridge项目中的https://github.com/palletops/log-config。
但是我从来没有看到任何日志记录。
如果我除去上面的:appenders
部分,则什么都没有记录到控制台(默认情况下,是否应该音色记录到控制台?)。
如果使用以下内容,我仍然看不到任何内容:
(timbre/merge-config!
{:level :info
:appenders {:standard-out {:enabled? true}}})
即使我知道我正在使用的库是多次调用taoensso.timbre/error
那我在做什么错了?
答案 0 :(得分:1)
它不是Timbre的最新版本,但是I have a demo here:
~/expr/demo-timbre >
~/expr/demo-timbre > lein run
Hello, World!
~/expr/demo-timbre > cat log.txt
2018-Sep-28 13:02:12 -0700 brandy DEBUG [log-timbre.core] - Hello, Timbre! debug
2018-Sep-28 13:02:12 -0700 brandy INFO [log-timbre.core] - Hello, Timbre! info
2018-Sep-28 13:02:12 -0700 brandy WARN [log-timbre.core] - Hello, Timbre! warn
2018-Sep-28 13:02:12 -0700 brandy ERROR [log-timbre.core] - Hello, Timbre! error
2018-Sep-28 13:02:12 -0700 brandy FATAL [log-timbre.core] - Hello, Timbre! fatal
2018-Sep-28 13:02:12 -0700 brandy INFO [log-timbre.core] - Arg-1
2018-Sep-28 13:02:12 -0700 brandy INFO [log-timbre.core] - Arg-1 :Arg-2
2018-Sep-28 13:02:12 -0700 brandy INFO [log-timbre.core] - Arg-1 :Arg-2 [Arg-3]
2018-Sep-28 13:02:12 -0700 brandy INFO [log-timbre.core] - Arg-1 :Arg-2 [Arg-3] {:Arg 4}
2018-Sep-28 13:02:12 -0700 brandy INFO [log-timbre.core] - Spy returns the last value {:a 1}
2018-Sep-28 13:02:12 -0700 brandy DEBUG [log-timbre.core] - (* 6 7) 42
2018-Sep-28 13:02:12 -0700 brandy WARN [log-timbre.core] - (* 6 7) 42
2018-Sep-28 13:02:12 -0700 brandy ERROR [log-timbre.core] - optional message {:a 1}
2018-Sep-28 13:02:12 -0700 brandy ERROR [log-timbre.core] - Any extra :items {:go here}
java.lang.Exception: Doh!
log-timbre.core/-main core.clj: 58
clojure.lang.Var.invoke Var.java: 375
user/eval5 form-init4075346110151967627.clj: 1
clojure.lang.Compiler.eval Compiler.java: 6768
clojure.lang.Compiler.eval Compiler.java: 6758
clojure.lang.Compiler.load Compiler.java: 7195
clojure.lang.Compiler.loadFile Compiler.java: 7151
clojure.main/load-script main.clj: 274
clojure.main/init-opt main.clj: 279
clojure.main/initialize main.clj: 307
clojure.main/null-opt main.clj: 342
clojure.main/main main.clj: 420
clojure.lang.RestFn.invoke RestFn.java: 421
clojure.lang.Var.invoke Var.java: 383
clojure.lang.AFn.applyToHelper AFn.java: 156
clojure.lang.Var.applyTo Var.java: 700
clojure.main.main main.java: 37
2018-Sep-28 13:02:12 -0700 brandy INFO [log-timbre.core] - (my-fn) => 42
2018-Sep-28 13:02:12 -0700 brandy INFO [log-timbre.core] - Profiling: :log-timbre.core/Arithmetic
Id nCalls Min Max MAD Mean Time% Time
:log-timbre.core/slow-sleep 100 2.0ms 2.0ms 13.0μs 2.0ms 60 208.0ms
:log-timbre.core/fast-sleep 100 1.0ms 1.0ms 8.0μs 1.0ms 31 108.0ms
:log-timbre.core/div 100 36.0μs 214.0μs 16.0μs 51.0μs 1 5.0ms
:log-timbre.core/mult 100 22.0μs 197.0μs 13.0μs 34.0μs 1 3.0ms
:log-timbre.core/add 100 16.0μs 345.0μs 16.0μs 32.0μs 1 3.0ms
:log-timbre.core/sub 100 16.0μs 198.0μs 13.0μs 28.0μs 1 3.0ms
Clock Time 100 345.0ms
Accounted Time 96 331.0ms