Makes sense. Thanks!
Joe Wang
On Jan 17, 2012, at 11:40 AM, ceki wrote:
Hi Joe,
Lines 188 and 189 of SMTPAppenderBase should answer the question.
Please see http://goo.gl/czvS4
HTH,
--
Ceki
http://twitter.com/#!/ceki
On 17.01.2012 17:17, Joe Wang wrote:
Hi,
I see in the docs (http://logback.qos.ch/manual/appenders.html) it
says
"SMTP email transmission (sending) is performed asynchronously". I'm
looking on grepcode.com at version 1.2.25. I can't see how it is
sending
asynchronously.
SMTPAppender.java
void [More ...] <http://grepcode.com/file/repository.springsource.com/org.slf4j/com.springsource.slf4j.nlog4j/1.2.25/org/apache/log4j/net/SMTPAppender.java#
>append <http://grepcode.com/file/repository.springsource.com/org.slf4j/com.springsource.slf4j.nlog4j/1.2.25/org/apache/log4j/AppenderSkeleton.java#AppenderSkeleton.append%28org.apache.log4j.spi.LoggingEvent%29
>(LoggingEvent <http://grepcode.com/file/repository.springsource.com/org.slf4j/com.springsource.slf4j.nlog4j/1.2.25/org/apache/log4j/spi/LoggingEvent.java#LoggingEvent
> event) {
...
<http://grepcode.com/file/repository.springsource.com/org.slf4j/com.springsource.slf4j.nlog4j/1.2.25/org/apache/log4j/net/SMTPAppender.java#
>
sendBuffer <http://grepcode.com/file/repository.springsource.com/org.slf4j/com.springsource.slf4j.nlog4j/1.2.25/org/apache/log4j/net/SMTPAppender.java#SMTPAppender.sendBuffer%28%29
>();
...
}
void [More ...] <http://grepcode.com/file/repository.springsource.com/org.slf4j/com.springsource.slf4j.nlog4j/1.2.25/org/apache/log4j/net/SMTPAppender.java#
>sendBuffer() {
...
<http://grepcode.com/file/repository.springsource.com/org.slf4j/com.springsource.slf4j.nlog4j/1.2.25/org/apache/log4j/net/SMTPAppender.java#
>
Transport.send <http://grepcode.com/file/repository.springsource.com/javax.mail/com.springsource.javax.mail/1.4.1/javax/mail/Transport.java#Transport.send%28javax.mail.Message%29
>(msg <http://grepcode.com/file/repository.springsource.com/org.slf4j/com.springsource.slf4j.nlog4j/1.2.25/org/apache/log4j/net/SMTPAppender.java#SMTPAppender.0msg
>
);
...
}
Transport.java
public static void [More ...] <http://grepcode.com/file/repository.springsource.com/javax.mail/com.springsource.javax.mail/1.4.1/javax/mail/Transport.java#
>send(Message <http://grepcode.com/file/repository.springsource.com/javax.mail/com.springsource.javax.mail/1.4.1/javax/mail/Message.java#Message
> msg, Address <http://grepcode.com/file/repository.springsource.com/javax.mail/com.springsource.javax.mail/1.4.1/javax/mail/Address.java#Address%5B%5D
>[] addresses)
throws MessagingException
<http://grepcode.com/file/repository.springsource.com/javax.mail/com.springsource.javax.mail/1.4.1/javax/mail/MessagingException.java#MessagingException
>
{
<http://grepcode.com/file/repository.springsource.com/javax.mail/com.springsource.javax.mail/1.4.1/javax/mail/Transport.java#
>
msg.saveChanges <http://grepcode.com/file/repository.springsource.com/javax.mail/com.springsource.javax.mail/1.4.1/javax/mail/Message.java#Message.saveChanges%28%29
>();
<http://grepcode.com/file/repository.springsource.com/javax.mail/com.springsource.javax.mail/1.4.1/javax/mail/Transport.java#
>
send0 <http://grepcode.com/file/repository.springsource.com/javax.mail/com.springsource.javax.mail/1.4.1/javax/mail/Transport.java#Transport.send0%28javax.mail.Message%2Cjavax.mail.Address%5B%5D%29
>(msg, addresses);
<http://grepcode.com/file/repository.springsource.com/javax.mail/com.springsource.javax.mail/1.4.1/javax/mail/Transport.java#
>
}
<http://grepcode.com/file/repository.springsource.com/javax.mail/com.springsource.javax.mail/1.4.1/javax/mail/Transport.java#
>
private static void [More ...] <http://grepcode.com/file/repository.springsource.com/javax.mail/com.springsource.javax.mail/1.4.1/javax/mail/Transport.java#
>send0(Message <http://grepcode.com/file/repository.springsource.com/javax.mail/com.springsource.javax.mail/1.4.1/javax/mail/Message.java#Message
> msg, Address <http://grepcode.com/file/repository.springsource.com/javax.mail/com.springsource.javax.mail/1.4.1/javax/mail/Address.java#Address%5B%5D
>[] addresses)
throws MessagingException
<http://grepcode.com/file/repository.springsource.com/javax.mail/com.springsource.javax.mail/1.4.1/javax/mail/MessagingException.java#MessagingException
>{
...<http://grepcode.com/file/repository.springsource.com/javax.mail/com.springsource.javax.mail/1.4.1/javax/mail/Transport.java#
>
<http://grepcode.com/file/repository.springsource.com/javax.mail/com.springsource.javax.mail/1.4.1/javax/mail/Transport.java#
>
/*
<http://grepcode.com/file/repository.springsource.com/javax.mail/com.springsource.javax.mail/1.4.1/javax/mail/Transport.java#
>
* Optimize the case of a single protocol.
<http://grepcode.com/file/repository.springsource.com/javax.mail/com.springsource.javax.mail/1.4.1/javax/mail/Transport.java#
>
*/
<http://grepcode.com/file/repository.springsource.com/javax.mail/com.springsource.javax.mail/1.4.1/javax/mail/Transport.java#
>
if (dsize == 1) {
<http://grepcode.com/file/repository.springsource.com/javax.mail/com.springsource.javax.mail/1.4.1/javax/mail/Transport.java#
>
transport = s.getTransport <http://grepcode.com/file/repository.springsource.com/javax.mail/com.springsource.javax.mail/1.4.1/javax/mail/Session.java#Session.getTransport%28javax.mail.Address%29
>(addresses[0]);
<http://grepcode.com/file/repository.springsource.com/javax.mail/com.springsource.javax.mail/1.4.1/javax/mail/Transport.java#
>
try {
<http://grepcode.com/file/repository.springsource.com/javax.mail/com.springsource.javax.mail/1.4.1/javax/mail/Transport.java#
>
transport.connect <http://grepcode.com/file/repository.springsource.com/javax.mail/com.springsource.javax.mail/1.4.1/javax/mail/Service.java#Service.connect%28%29
>();
<http://grepcode.com/file/repository.springsource.com/javax.mail/com.springsource.javax.mail/1.4.1/javax/mail/Transport.java#
>
transport.sendMessage <http://grepcode.com/file/repository.springsource.com/javax.mail/com.springsource.javax.mail/1.4.1/javax/mail/Transport.java#Transport.sendMessage%28javax.mail.Message%2Cjavax.mail.Address%5B%5D%29
>(msg, addresses);
<http://grepcode.com/file/repository.springsource.com/javax.mail/com.springsource.javax.mail/1.4.1/javax/mail/Transport.java#
>
} finally {
<http://grepcode.com/file/repository.springsource.com/javax.mail/com.springsource.javax.mail/1.4.1/javax/mail/Transport.java#
>
transport.close <http://grepcode.com/file/repository.springsource.com/javax.mail/com.springsource.javax.mail/1.4.1/javax/mail/Service.java#Service.close%28%29
>();
<http://grepcode.com/file/repository.springsource.com/javax.mail/com.springsource.javax.mail/1.4.1/javax/mail/Transport.java#
>
}
<http://grepcode.com/file/repository.springsource.com/javax.mail/com.springsource.javax.mail/1.4.1/javax/mail/Transport.java#
>
return;
<http://grepcode.com/file/repository.springsource.com/javax.mail/com.springsource.javax.mail/1.4.1/javax/mail/Transport.java#
>
}
...
}
_______________________________________________
slf4j-user mailing list
[email protected]
http://mailman.qos.ch/mailman/listinfo/slf4j-user
_______________________________________________
slf4j-user mailing list
[email protected]
http://mailman.qos.ch/mailman/listinfo/slf4j-user