2

logback と clojure tools.logging を使用して、clojure アプリケーションでカスタム アペンダーを使用しようとしています。

私の設定は次のようになります:

<appender name="Sentry" class="net.kencochrane.raven.logback.SentryAppender">
    <dsn>some-dsn</dsn>
</appender>

これにより、次の実行時エラーが発生します。

 The following loggers will not work because they were created during the default configuration phase of the underlying logging system.....

Google で簡単に検索すると、プログラムで JoranConfigurator を使用して複数ステップの構成を実行するドキュメントが見つかりますが、実際には、tools.logging で複数ステップの構成を実行するためのメソッドが公開されていません。tools.logging の変更以外に何かアドバイスはありますか? 明らかな何かが欠けていますか?御時間ありがとうございます。

4

3 に答える 3

0

sentry-java-logbackこれは、 depsを使用した簡単なセットアップです。

[org.clojure/tools.logging  "0.4.1"]    
[ch.qos.logback/logback-classic  "1.2.3"]    
[io.sentry/sentry-logback "3.2.0"]

および logback.xml:

<!-- Sentry -->
<appender name="SENTRY" class="io.sentry.logback.SentryAppender">
    <encoder>
        <pattern>${defaultPattern}</pattern>
    </encoder>
    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
        <level>ERROR</level>
    </filter>
    <options>
        <dsn>https://........</dsn>
        <release>1.0.0</release>
        <serverName>ABCDE</serverName>
        <environment>production</environment>
    </options>
    <minimumBreadcrumbLevel>DEBUG</minimumBreadcrumbLevel>
</appender>

<!-- ....THIS MIGHT CHANGE.... -->
<root level="DEBUG">
    <appender-ref ref="STDOUT"/>
    <appender-ref ref="SENTRY"/>
</root>

詳細については、Sentry のドキュメントを参照してください。

于 2020-12-01T08:59:02.817 に答える
0

簡単な方法は、構成logback.xmlファイルと clojure/tools.logging で Logback の依存関係を使用することです。Sentry docsに基づくと、次の依存関係が必要なようです。

[org.clojure/tools.logging "0.3.1" :exclusions [org.clojure/clojure]]
[org.slf4j/slf4j-api       "1.7.25"]
[org.codehaus.janino/janino     "3.0.7"]  ; for conditional config processing
[ch.qos.logback/logback-classic "1.2.3"]
[ch.qos.logback/logback-core    "1.2.3"]
[com.getsentry.raven/raven-logback "8.0.2"]

Sentryのドキュメントページには、使用できる Logback XML 構成のスニペットもあります。MDC 属性については、Cambiumを参照してください。

于 2017-05-03T19:43:04.177 に答える