私は、java Webアプリケーションのログインにslf4jとlogbackを使用しています。特定のクラス(以下の例ではMyClass)からの情報ログが電子メールで送信される必要があります。私はログバックで電子メールアペンダーを設定しました。残りの部分は、ルートロガーが設定されている場所であればどこでもかまいません。しかし、電子メールは私の現在の設定で外に出ることはありません。メールを送信しないログバック
設定...以下を参照してください:
をここでは、このためのjarファイルのバージョンや他のセットアップに関連する情報です:クラスパスに
瓶:
activation-1.1.jar
jcl-over-slf4j-1.7.25.jar
logback-classic-1.2.3.jar
logback-core-1.2.3.jar
logback-ext-spring-0.1.4.jar
logstash-logback-encoder-4.11.jar
mail-1.4.jar
slf4j-api-1.7.25.jar
は、クラスパスからのlogback.xml:
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d [%thread] %-5level %logger{5}:%L - %msg%n</pattern>
</encoder>
</appender>
<appender name="email" class="ch.qos.logback.classic.net.SMTPAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>info</level>
</filter>
<smtpHost>smtp.server</smtpHost>
<to>[email protected]</to>
<from>[email protected]</from>
<subject>code4kix - ${HOSTNAME}: %logger{20} - %m</subject>
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>%d [%thread] %-5level %logger{5}:%L - %msg%n</pattern>
</layout>
<!-- <STARTTLS>true</STARTTLS> -->
<!-- <cyclicBufferTracker class="ch.qos.logback.core.spi.CyclicBufferTracker"> -->
<!-- <bufferSize>1</bufferSize> -->
<!-- </cyclicBufferTracker> -->
<!-- <asynchronousSending>false</asynchronousSending> -->
</appender>
<root level="error">
<appender-ref ref="console" />
</root>
<logger name="mypackage.MyClass" level="info" additivity="true">
<appender-ref ref="email"/>
</logger>
問題:
は、電子メールは、私がMyClass.javaでlogger.error文を持っている場合は罰金外出するようだが、彼らはただlogger.info持っている場合は、電子メールが出て行くことはありません。 ..閾値をinfo
に設定しているにもかかわらず!
これはコンソールログに表示されますが、メールは送信されません。何が間違っている可能性がありますか?
SystemOut O 13:18:00,012 |-INFO in ch.qos.logback.classic.net.SMTPAppender[email] - SMTPAppender [email] is tracking [1] buffers