1

Elastic Beanstalk では現時点でカスタム ログ ローテーションがサポートされていないため、Clojure アプリは Java.Util.Logging (JUL) を介してログを記録する必要があります。clojure.tools.logging を使用してログ ファイルを書き込んでいますが、ライブラリはログ エンジンとして log4j を自動選択し続けます。

clojure.tools.logging に JUL を強制的に使用させるにはどうすればよいですか?

選択したファクトリをlogger-factoryに永続的にバインドするために、alter-var-root を使用するソリューションをオンラインで見つけたスレッドを見つけました。

(alter-var-root (var log/*logger-factory*) (constantly (impl/jul-factory)))

...しかし、それは古いスレッドであり、より良い方法があるかどうかわかりませんでした。

4

1 に答える 1

2

私は毎日これを使用します:

(alter-var-root                   
 #'clojure.tools.logging/*logger-factory*   
 (constantly (clojure.tools.logging.slf4j/load-factory))

impl/jul-factory 用に slf4j を切り替えることは、信頼性が高く、少なくともほとんど正常である必要があります。

于 2013-04-22T18:02:52.727 に答える