LoggingHandlerTest Class — netty Architecture
Architecture documentation for the LoggingHandlerTest class in LoggingHandlerTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 12b00413_e6e3_10b5_14c7_7f5ebb4a81a6["LoggingHandlerTest"] 55992997_622b_e15a_b1c6_c22953788a4b["LoggingHandlerTest.java"] 12b00413_e6e3_10b5_14c7_7f5ebb4a81a6 -->|defined in| 55992997_622b_e15a_b1c6_c22953788a4b d9b3129c_e879_f45e_6eab_c802a2841b89["beforeClass()"] 12b00413_e6e3_10b5_14c7_7f5ebb4a81a6 -->|method| d9b3129c_e879_f45e_6eab_c802a2841b89 7235cf1c_0c23_dc9c_dd20_b29a22ce2aba["afterClass()"] 12b00413_e6e3_10b5_14c7_7f5ebb4a81a6 -->|method| 7235cf1c_0c23_dc9c_dd20_b29a22ce2aba 56216073_cd0c_8f78_a01a_4559f76583d2["setup()"] 12b00413_e6e3_10b5_14c7_7f5ebb4a81a6 -->|method| 56216073_cd0c_8f78_a01a_4559f76583d2 1d76895f_2e43_5da3_ccf3_ef3986373b23["teardown()"] 12b00413_e6e3_10b5_14c7_7f5ebb4a81a6 -->|method| 1d76895f_2e43_5da3_ccf3_ef3986373b23 9b175914_67e6_cbcc_9cc9_ac2895fb52c2["shouldNotAcceptNullLogLevel()"] 12b00413_e6e3_10b5_14c7_7f5ebb4a81a6 -->|method| 9b175914_67e6_cbcc_9cc9_ac2895fb52c2 a3cf2f2c_7bb3_5519_e6d3_e434b7a43773["shouldApplyCustomLogLevel()"] 12b00413_e6e3_10b5_14c7_7f5ebb4a81a6 -->|method| a3cf2f2c_7bb3_5519_e6d3_e434b7a43773 9790395b_636e_ec35_1126_2a3497b81671["shouldLogChannelActive()"] 12b00413_e6e3_10b5_14c7_7f5ebb4a81a6 -->|method| 9790395b_636e_ec35_1126_2a3497b81671 46e7bfb6_2d4b_82cc_a3d0_fa67819a9159["shouldLogChannelWritabilityChanged()"] 12b00413_e6e3_10b5_14c7_7f5ebb4a81a6 -->|method| 46e7bfb6_2d4b_82cc_a3d0_fa67819a9159 c59a52eb_e630_f274_37c3_af69fd3c9c83["shouldLogChannelRegistered()"] 12b00413_e6e3_10b5_14c7_7f5ebb4a81a6 -->|method| c59a52eb_e630_f274_37c3_af69fd3c9c83 3d96c6e9_b671_dd61_9691_750def065739["shouldLogChannelClose()"] 12b00413_e6e3_10b5_14c7_7f5ebb4a81a6 -->|method| 3d96c6e9_b671_dd61_9691_750def065739 18310a5f_40c3_fca7_f31c_939fe8310d83["shouldLogChannelConnect()"] 12b00413_e6e3_10b5_14c7_7f5ebb4a81a6 -->|method| 18310a5f_40c3_fca7_f31c_939fe8310d83 5b57418b_f4df_c6f7_400b_7b2c10227a7d["shouldLogChannelConnectWithLocalAddress()"] 12b00413_e6e3_10b5_14c7_7f5ebb4a81a6 -->|method| 5b57418b_f4df_c6f7_400b_7b2c10227a7d 5b18651b_dba6_a295_cefe_e75e08cdffee["shouldLogChannelDisconnect()"] 12b00413_e6e3_10b5_14c7_7f5ebb4a81a6 -->|method| 5b18651b_dba6_a295_cefe_e75e08cdffee
Relationship Graph
Source Code
handler/src/test/java/io/netty/handler/logging/LoggingHandlerTest.java lines 57–331
public class LoggingHandlerTest {
private static final String LOGGER_NAME = LoggingHandler.class.getName();
private static final Logger rootLogger = (Logger) LoggerFactory.getLogger(ROOT_LOGGER_NAME);
private static final Logger logger = (Logger) LoggerFactory.getLogger(LOGGER_NAME);
private static final List<Appender<ILoggingEvent>> oldAppenders = new ArrayList<Appender<ILoggingEvent>>();
/**
* Custom logback appender which gets used to match on log messages.
*/
private Appender<ILoggingEvent> appender;
@BeforeAll
public static void beforeClass() {
for (Iterator<Appender<ILoggingEvent>> i = rootLogger.iteratorForAppenders(); i.hasNext();) {
Appender<ILoggingEvent> a = i.next();
oldAppenders.add(a);
rootLogger.detachAppender(a);
}
Unpooled.buffer();
}
@AfterAll
public static void afterClass() {
for (Appender<ILoggingEvent> a: oldAppenders) {
rootLogger.addAppender(a);
}
}
@BeforeEach
@SuppressWarnings("unchecked")
public void setup() {
appender = mock(Appender.class);
logger.addAppender(appender);
}
@AfterEach
public void teardown() {
logger.detachAppender(appender);
}
@Test
public void shouldNotAcceptNullLogLevel() {
assertThrows(NullPointerException.class, new Executable() {
@Override
public void execute() throws Throwable {
LogLevel level = null;
new LoggingHandler(level);
}
});
}
@Test
public void shouldApplyCustomLogLevel() {
LoggingHandler handler = new LoggingHandler(LogLevel.INFO);
assertEquals(LogLevel.INFO, handler.level());
}
@Test
public void shouldLogChannelActive() {
new EmbeddedChannel(new LoggingHandler(LogLevel.WARN));
verify(appender).doAppend(argThat(new RegexLogMatcher(".+ACTIVE$")));
}
@Test
public void shouldLogChannelWritabilityChanged() throws Exception {
EmbeddedChannel channel = new EmbeddedChannel(new LoggingHandler(LogLevel.WARN));
// this is used to switch the channel to become unwritable
channel.config().setWriteBufferLowWaterMark(5);
channel.config().setWriteBufferHighWaterMark(10);
channel.write("hello", channel.newPromise());
verify(appender).doAppend(argThat(new RegexLogMatcher(".+WRITABILITY CHANGED$")));
}
@Test
public void shouldLogChannelRegistered() {
new EmbeddedChannel(new LoggingHandler(LogLevel.WARN));
verify(appender).doAppend(argThat(new RegexLogMatcher(".+REGISTERED$")));
Source
Frequently Asked Questions
What is the LoggingHandlerTest class?
LoggingHandlerTest is a class in the netty codebase, defined in handler/src/test/java/io/netty/handler/logging/LoggingHandlerTest.java.
Where is LoggingHandlerTest defined?
LoggingHandlerTest is defined in handler/src/test/java/io/netty/handler/logging/LoggingHandlerTest.java at line 57.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free