30+ " active connections)\r\n\r\n");
31pw.flush();
32}
33} else {
34pw.print("Too many connections.\r\n");
35pw.flush();
36newClient.close();
37}
38
39}
40
41 }
SMTPAppender类
SMTPAppender将日志消息以邮件的形式发送出来,默认实现,它会先缓存日志信息,只有当遇到日志级别是ERROR或ERROR以上的日志消息时才通过邮件的形式发送出来,如果在遇到触发发送的日志发生之前缓存中的日志信息已满,则最早的日志信息会被覆盖。用户可以通过setEvaluatorClass()方法改变触发发送日志的条件。
1 public void append(LoggingEvent event) {
2if (!checkEntryConditions()) {
3return;
4}
5event.getThreadName();
6event.getNDC();
7event.getMDCCopy();
8if (locationInfo) {
9event.getLocationInformation();
10}
11event.getRenderedMessage();
12event.getThrowableStrRep();
13cb.add(event);
14if (evaluator.isTriggeringEvent(event)) {
15sendBuffer();
16}
17 }
18 protected void sendBuffer() {
19try {
20String s = formatBody();
21boolean allAscii = true;
22for (int i = 0; i < s.length() && allAscii; i++) {
23allAscii = s.charAt(i) <= 0x7F;
24}
25MimeBodyPart part;
26if (allAscii) {
27part = new MimeBodyPart();
28part.setContent(s, layout.getContentType());
29} else {
30try {
31ByteArrayOutputStream os = new ByteArrayOutputStream();
32Writer writer = new OutputStreamWriter(MimeUtility.encode(
33os, "quoted-printable"), "UTF-8");
34writer.write(s);
35writer.close();
36InternetHeaders headers = new InternetHeaders();
37headers.setHeader("Content-Type", layout.getContentType()
38+ "; charset=UTF-8");
39headers.setHeader("Content-Transfer-Encoding",
40"quoted-printable");
41part = new MimeBodyPart(headers, os.toByteArray());
42} catch (Exception ex) {
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-29497-15.html
捍卫自己的主权
再于是
省事