logging - 激活音色并将所有音色记录重定向到 slf4j 的最小配置是什么?
问题描述
我在我的项目中使用 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 {})}})
这会尝试使用https://github.com/palletops/log-config项目中的timbre->tools.logging 桥接器。
但我从来没有看到任何日志记录。
如果我取出
:appenders
上面的部分,我不会将任何内容记录到控制台(默认情况下不应该将音色记录到控制台吗?)。如果我使用以下内容,我仍然什么也看不到:
(timbre/merge-config! {:level :info :appenders {:standard-out {:enabled? true}}})
即使我知道我正在使用的库是多次调用
taoensso.timbre/error
那么我在这里做错了什么?
解决方案
这不是 Timbre 的最新版本,但我在这里有一个演示:
~/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
推荐阅读
- typescript - Mongoose Schema 钩子和打字稿:属性不存在
- java - 给定结构的困难 Gradle 多项目构建
- c# - 为 Func 切换 new Task(()=>{ })
- javascript - 如何从 0 迭代到 10,我需要更改单选按钮颜色,第一个 0-6 是红色,7-8 是黄色,9-100 是绿色?
- google-apps-script - 如何使用 WebStorm 在桌面上创建 Google 脚本?
- node.js - 如何从 FaunaDB 的集合中获取所有文档?
- r - R:如何过滤具有多个条件的数据框
- python - 在python中定义的字符获取名称错误
- android - 如何在 Android Studio 中删除未知虚拟设备
- python - 使用 POST 请求标头 Python 发送 x-api-key