5

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)

これは、sente の以前のバージョンでは機能しますが、バージョン [com.taoensso/timbre "4.3.1"] では機能しません。(無関係な理由で、最新のものを使用する必要があります)。上記のコードの問題は、set-config!1 つの引数 (ハッシュ マップ) を取るようになったことです。また、上記の「2 つのパラメーター」コードを新しい「1 つのパラメーター」コードに変換するのに役立つドキュメントが見つかりません。

非常によく似た質問があることは知ってます。この質問には実際のコードが含まれているため、より具体的です。私も問題提起しました。上記のコードは、基本的にhereから直接来ています。

4

2 に答える 2

0

メンテナーからすぐに返事がありました:

「スピット (ファイル) アペンダーの使用法は、https://github.com/ptaoussanis/timbre#file-appenderの README に記載されています」

そして、ここに質問に答えるコードがあります:

;; (:require [taoensso.timbre.appenders.core :as appenders]) ; Add to ns
(timbre/merge-config!  
    {:appenders {:println nil ; Remove println appender
                 :spit (appenders/spit-appender {:fname log-file-name})}})

残念ながら、:println nilmapentry を使用しても、同じ出力が 2 つの場所に出力されます。したがって、この答えは正しくありません。

于 2016-04-13T05:13:52.433 に答える