1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.log4j.net;
18
19 import junit.framework.TestCase;
20 import org.apache.log4j.AppenderSkeleton;
21 import org.apache.log4j.Logger;
22 import org.apache.log4j.spi.LoggingEvent;
23 import org.apache.log4j.xml.DOMConfigurator;
24
25 public class SocketAppenderTest extends TestCase {
26
27
28
29
30 public SocketAppenderTest(final String testName) {
31 super(testName);
32 }
33
34
35
36 protected void setUp() {
37 DOMConfigurator.configure("input/xml/SocketAppenderTestConfig.xml");
38
39 logger = Logger.getLogger(SocketAppenderTest.class);
40 secondary = (LastOnlyAppender) Logger.getLogger(
41 "org.apache.log4j.net.SocketAppenderTestDummy").getAppender("lastOnly");
42 }
43
44 protected void tearDown() {
45 }
46
47
48
49 public void testFallbackErrorHandlerWhenStarting() {
50 String msg = "testFallbackErrorHandlerWhenStarting";
51 logger.debug(msg);
52
53
54 assertEquals("SocketAppender with FallbackErrorHandler", msg, secondary.getLastMessage());
55 }
56
57
58
59 private static Logger logger;
60 private static LastOnlyAppender secondary;
61
62
63
64
65
66
67 static public class LastOnlyAppender extends AppenderSkeleton {
68 protected void append(LoggingEvent event) {
69 this.lastEvent = event;
70 }
71
72 public boolean requiresLayout() {
73 return false;
74 }
75
76 public void close() {
77 this.closed = true;
78 }
79
80
81
82
83 public String getLastMessage() {
84 if (this.lastEvent != null)
85 return this.lastEvent.getMessage().toString();
86 else
87 return "";
88 }
89
90 private LoggingEvent lastEvent;
91 };
92
93 }