Oto fragment zawierający moje Logback SMTPAppender
:Dlaczego firma Logback SMTPAppender wysyła tylko 1 wiadomość e-mail?
<appender name="logManager-smtpAppender" class="ch.qos.logback.classic.net.SMTPAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>WARN</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>NEUTRAL</onMismatch>
</filter>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<asynchronousSending>false</asynchronousSending>
<smtpHost>my.smtp.host</smtpHost>
<to>[email protected]</to>
<from>[email protected]</from>
<username>my_smtp_user</username>
<password>my_smtp_password</password>
<subject>%logger{20} - %m</subject>
<layout class="ch.qos.logback.classic.html.HTMLLayout"/>
<cyclicBufferTracker class="ch.qos.logback.core.spi.CyclicBufferTracker">
<bufferSize>1</bufferSize>
</cyclicBufferTracker>
</appender>
Kiedy wykonuje następujące Java:
logger.warn("This is a warning.");
logger.error("This is an error.");
mam tylko 1-mail. Ustawiając bufferSize
na 1, oczekiwałbym, że otrzymam 2 różne e-maile z 1 pojedynczym logiem w każdym z nich. Co się dzieje?
Dzięki @Waheed (i +1 dla próbek kodu). Jedną z rzeczy, których wciąż nie dostaję jest: co się stanie, jeśli zwiększę moją wielkość bufora do 10, a następnie zarejestruję, powiedzmy, 12 komunikatów ERROR? Czy otrzymam 1 e-mail z 10 wiadomościami w dzienniku? Jeśli tak, co stanie się z ostatnimi 2 wiadomościami (10 + 2 = 12)? Dzięki jeszcze raz! –
Tak, jeśli ustawisz wartość bufferSize na 10, otrzymasz tylko 10 ostatnich wiadomości. Przeważnie używamy SMTPAppender do powiadamiania administratora/OP, że coś poszło nie tak w twojej aplikacji. Tak więc, gdy tylko napotkany zostanie komunikat ERROR, wyśle ci wiadomość z numerami ustawionych logów. Za każdy błąd ERROR otrzymasz jedną wiadomość. – Waheed
Jeszcze raz dziękuję (i +1!) Przykro mi, ale nie próbuję być tutaj szkodnikiem, ale nadal nie rozumiem, co stanie się z ostatnimi 2 wiadomościami z dziennika. Powiedzmy, że mam kod, który uruchamia 12 komunikatów 'logger.error (" ... ")' z rzędu, a 'bufferSize' jest ustawiony na 10. Tak jak powiedziałeś, dostanę 1 wiadomość e-mail z 10 komunikatami ERROR. ** Ale co się dzieje z ostatnimi dziennikami błędów? ** Jeszcze raz dziękuję za wszelką pomoc! –