Skip to content

Commit 0e81d65

Browse files
authored
remove TestHandler after usage in SLF4JLogTest
1 parent 36a07fe commit 0e81d65

File tree

1 file changed

+30
-6
lines changed

1 file changed

+30
-6
lines changed

quickfixj-core/src/test/java/quickfix/SLF4JLogTest.java

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,18 +61,22 @@ public void testLog() throws Exception {
6161
setUpLoggerForTest(SLF4JLog.DEFAULT_EVENT_CATEGORY);
6262
log.onEvent(loggedText);
6363
assertMessageLogged(SLF4JLog.DEFAULT_EVENT_CATEGORY, sessionID, loggedText);
64+
removeLogHandlers(SLF4JLog.DEFAULT_EVENT_CATEGORY);
6465

6566
setUpLoggerForTest(SLF4JLog.DEFAULT_ERROR_EVENT_CATEGORY);
6667
log.onErrorEvent(loggedText);
6768
assertMessageLogged(SLF4JLog.DEFAULT_ERROR_EVENT_CATEGORY, sessionID, loggedText);
68-
69+
removeLogHandlers(SLF4JLog.DEFAULT_ERROR_EVENT_CATEGORY);
70+
6971
setUpLoggerForTest(SLF4JLog.DEFAULT_INCOMING_MSG_CATEGORY);
7072
log.onIncoming(loggedText);
7173
assertMessageLogged(SLF4JLog.DEFAULT_INCOMING_MSG_CATEGORY, sessionID, loggedText);
74+
removeLogHandlers(SLF4JLog.DEFAULT_INCOMING_MSG_CATEGORY);
7275

7376
setUpLoggerForTest(SLF4JLog.DEFAULT_OUTGOING_MSG_CATEGORY);
7477
log.onOutgoing(loggedText);
7578
assertMessageLogged(SLF4JLog.DEFAULT_OUTGOING_MSG_CATEGORY, sessionID, loggedText);
79+
removeLogHandlers(SLF4JLog.DEFAULT_OUTGOING_MSG_CATEGORY);
7680

7781
settings.setString(sessionID, SLF4JLogFactory.SETTING_EVENT_CATEGORY, "event");
7882
settings.setString(sessionID, SLF4JLogFactory.SETTING_ERROR_EVENT_CATEGORY, "errorEvent");
@@ -83,18 +87,22 @@ public void testLog() throws Exception {
8387
setUpLoggerForTest("event");
8488
log.onEvent(loggedText);
8589
assertMessageLogged("event", sessionID, loggedText);
90+
removeLogHandlers("event");
8691

8792
setUpLoggerForTest("errorEvent");
8893
log.onErrorEvent(loggedText);
8994
assertMessageLogged("errorEvent", sessionID, loggedText);
95+
removeLogHandlers("errorEvent");
9096

9197
setUpLoggerForTest("in");
9298
log.onIncoming(loggedText);
9399
assertMessageLogged("in", sessionID, loggedText);
100+
removeLogHandlers("in");
94101

95102
setUpLoggerForTest("out");
96103
log.onOutgoing(loggedText);
97104
assertMessageLogged("out", sessionID, loggedText);
105+
removeLogHandlers("out");
98106
}
99107

100108
@Test
@@ -112,21 +120,25 @@ public void testLogHeartbeatFiltering() throws Exception {
112120
setUpLoggerForTest(SLF4JLog.DEFAULT_INCOMING_MSG_CATEGORY);
113121
log.onIncoming(loggedText);
114122
assertMessageLogged(SLF4JLog.DEFAULT_INCOMING_MSG_CATEGORY, sessionID, loggedText);
123+
removeLogHandlers(SLF4JLog.DEFAULT_INCOMING_MSG_CATEGORY);
115124

116125
setUpLoggerForTest(SLF4JLog.DEFAULT_OUTGOING_MSG_CATEGORY);
117126
log.onOutgoing(loggedText);
118127
assertMessageLogged(SLF4JLog.DEFAULT_OUTGOING_MSG_CATEGORY, sessionID, loggedText);
128+
removeLogHandlers(SLF4JLog.DEFAULT_OUTGOING_MSG_CATEGORY);
119129

120130
settings.setBool(sessionID, SLF4JLogFactory.SETTING_LOG_HEARTBEATS, false);
121131
log = (SLF4JLog) factory.create(sessionID);
122132

123133
setUpLoggerForTest(SLF4JLog.DEFAULT_INCOMING_MSG_CATEGORY);
124134
log.onIncoming(loggedText);
125135
assertMessageNotLogged(SLF4JLog.DEFAULT_INCOMING_MSG_CATEGORY);
136+
removeLogHandlers(SLF4JLog.DEFAULT_INCOMING_MSG_CATEGORY);
126137

127138
setUpLoggerForTest(SLF4JLog.DEFAULT_OUTGOING_MSG_CATEGORY);
128139
log.onOutgoing(loggedText);
129140
assertMessageNotLogged(SLF4JLog.DEFAULT_OUTGOING_MSG_CATEGORY);
141+
removeLogHandlers(SLF4JLog.DEFAULT_OUTGOING_MSG_CATEGORY);
130142
}
131143

132144
@Test
@@ -145,21 +157,25 @@ public void testLogFilteredByLevel() throws Exception {
145157
getTestHandler(SLF4JLog.DEFAULT_EVENT_CATEGORY).setLevel(Level.WARNING);
146158
log.onEvent(loggedText);
147159
assertMessageNotLogged(SLF4JLog.DEFAULT_EVENT_CATEGORY);
160+
removeLogHandlers(SLF4JLog.DEFAULT_EVENT_CATEGORY);
148161

149162
setUpLoggerForTest(SLF4JLog.DEFAULT_ERROR_EVENT_CATEGORY);
150163
getTestHandler(SLF4JLog.DEFAULT_ERROR_EVENT_CATEGORY).setLevel(Level.SEVERE);
151164
log.onErrorEvent(loggedText);
152165
assertMessageNotLogged(SLF4JLog.DEFAULT_EVENT_CATEGORY);
166+
removeLogHandlers(SLF4JLog.DEFAULT_EVENT_CATEGORY);
153167

154168
setUpLoggerForTest(SLF4JLog.DEFAULT_INCOMING_MSG_CATEGORY);
155169
getTestHandler(SLF4JLog.DEFAULT_INCOMING_MSG_CATEGORY).setLevel(Level.WARNING);
156170
log.onIncoming(loggedText);
157171
assertMessageNotLogged(SLF4JLog.DEFAULT_INCOMING_MSG_CATEGORY);
172+
removeLogHandlers(SLF4JLog.DEFAULT_INCOMING_MSG_CATEGORY);
158173

159174
setUpLoggerForTest(SLF4JLog.DEFAULT_OUTGOING_MSG_CATEGORY);
160175
getTestHandler(SLF4JLog.DEFAULT_OUTGOING_MSG_CATEGORY).setLevel(Level.WARNING);
161176
log.onOutgoing(loggedText);
162177
assertMessageNotLogged(SLF4JLog.DEFAULT_OUTGOING_MSG_CATEGORY);
178+
removeLogHandlers(SLF4JLog.DEFAULT_OUTGOING_MSG_CATEGORY);
163179
}
164180

165181
/**
@@ -215,17 +231,25 @@ private TestHandler getTestHandler(String categoryName) {
215231

216232
private TestHandler setUpLoggerForTest(String category) {
217233
final Logger logger = Logger.getLogger(category);
234+
removeLogHandlers(logger);
235+
final TestHandler testHandler = new TestHandler();
236+
logger.addHandler(testHandler);
237+
return testHandler;
238+
}
239+
240+
private void removeLogHandlers(String category) {
241+
final Logger logger = Logger.getLogger(category);
242+
removeLogHandlers(logger);
243+
}
244+
245+
private void removeLogHandlers(Logger logger) {
218246
logger.setUseParentHandlers(false);
219247
final Handler[] handlers = logger.getHandlers();
220248
for (final Handler handler : handlers) {
221-
//System.err.println("Removing unexpected handler: " + handlers[i]);
222249
logger.removeHandler(handler);
223250
}
224-
final TestHandler testHandler = new TestHandler();
225-
logger.addHandler(testHandler);
226-
return testHandler;
227251
}
228-
252+
229253
private class TestHandler extends java.util.logging.Handler {
230254
public final ArrayList<LogRecord> records = new ArrayList<>();
231255

0 commit comments

Comments
 (0)