6

tools.logging の最新バージョン (0.2.4)では、(error some-exception) でログを記録すると、例外メッセージのみがログに記録されます。例外がログに記録されたときにスタック トレースを出力することに依存しています。例外を stderr または stdout に出力することはオプションではありません。

sourceを見る限り、 (error ...) は最初の引数として例外を受け取ります。

 (log/error throwable error-message)

ログ記録時にスタック トレースを含めるにはどうすればよいですか?

4

1 に答える 1

3

エラーの署名は次のとおりです。

(defmacro error
  "Error level logging using print-style args."
  {:arglists '([message & more] [throwable message & more])}
  [& args]
  `(logp :error ~@args))

つまり、パラメータが 1 つだけ (のように(error some-exception)) の場合、パラメータはメッセージです (あなたの場合はtoString例外です)。

スタック トレースをログに記録する場合は、次のような 2 番目のパラメーター メッセージが必要です。

(def ex (RuntimeException. "ex"))
(error ex "Something broke!")

また

(error ex ex)
于 2012-09-28T12:23:50.467 に答える