我正在尝试使用https://github.com/ptaoussanis/timbre登录到文件而不是控制台。这是我找到的一些有关如何执行此操作的文档:
; The default setup is simple console logging. We with to turn off console logging and
; turn on file logging to our chosen filename.
(timbre/set-config! [:appenders :standard-out :enabled?] false)
(timbre/set-config! [:appenders :spit :enabled?] true)
(timbre/set-config! [:shared-appender-config :spit-filename] log-file-name)
(timbre/set-config! [:shared-appender-config :spit-filename] log-file-name)
Run Code Online (Sandbox Code Playgroud)
这适用于先前版本的 sente,但不适用于版本 [com.taoensso/timbre "4.3.1"]。(由于无关的原因,我需要使用最新的)。上面代码的问题是set-config!现在需要一个参数 - 一个哈希映射。而且我找不到任何文档可以帮助我将上述“两个参数”代码转换为新的“一个参数”代码。
我知道有一个非常类似的问题了那里。这个问题有实际的代码,所以更具体。我也提出了一个问题。上面的代码基本上直接来自here。
要在 timbre v4.0.0(2015 年 6 月 10 日)中登录到文件而不是控制台,您可以执行以下操作:
(ns app.core
(:require [taoensso.timbre :as timbre]
[taoensso.timbre.appenders.core :as appenders]))
;; Disable logging to the console in timbre v4.0.0:
(timbre/merge-config! {:appenders {:println {:enabled? false}}})
;; Create a "spit to file" appender in timbre v4.0.0:
(timbre/merge-config! {:appenders {:spit (appenders/spit-appender {:fname "log.txt"})}})
Run Code Online (Sandbox Code Playgroud)
请注意,在 timbre v4.3.1 中,以下内容不会删除或禁用 println(控制台)附加程序:
(timbre/merge-config! {:appenders {:println nil}})
Run Code Online (Sandbox Code Playgroud)
相关问题可以在这里找到https://github.com/ptaoussanis/timbre/issues/163
添加:timbre/*config*由于 Timbre 允许仅使用标准 clojure API 来
修改其配置映射,因此您也可以使用
(timbre/swap-config! assoc-in [:appenders :spit :enabled?] false)
(timbre/swap-config! assoc-in [:appenders :spit] (appenders/spit-appender {:fname "log.txt"}))
Run Code Online (Sandbox Code Playgroud)
在此基础上,您还可以定义一个简单的助手:
(def set-log-config-param! (partial timbre/swap-config! assoc-in))
Run Code Online (Sandbox Code Playgroud)
然后与 v3.4.0 set-config 的音色保持一致!您在问题中引用的语法:
(set-log-config-param! [:appenders :println :enabled?] false)
(set-log-config-param! [:appenders :spit] (appenders/spit-appender {:fname "log.txt"}))
Run Code Online (Sandbox Code Playgroud)
恕我直言,这简化了音色 v3 和 v4 之间的配置转换,并使参数路径比等效路径更具可读性
(timbre/merge-config! {:appenders {:println {:enabled? false}}})
(timbre/merge-config! {:appenders {:spit (appenders/spit-appender {:fname "log.txt"})}})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
530 次 |
| 最近记录: |