下面列出了org.apache.log4j.NDC#clear ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/**
* Tests CDATA element within NDC content. See bug 37560.
*/
public void testNDCWithCDATA() throws Exception {
Logger logger = Logger.getLogger("com.example.bar");
Level level = Level.INFO;
String ndcMessage ="<envelope><faultstring><![CDATA[The EffectiveDate]]></faultstring><envelope>";
NDC.push(ndcMessage);
LoggingEvent event =
new LoggingEvent(
"com.example.bar", logger, level, "Hello, World", null);
Layout layout = createLayout();
String result = layout.format(event);
NDC.clear();
Element parsedResult = parse(result);
NodeList ndcs = parsedResult.getElementsByTagName("log4j:NDC");
assertEquals(1, ndcs.getLength());
StringBuffer buf = new StringBuffer();
for(Node child = ndcs.item(0).getFirstChild();
child != null;
child = child.getNextSibling()) {
buf.append(child.getNodeValue());
}
assertEquals(ndcMessage, buf.toString());
}
/**
* Clear MDC and NDC before test.
*/
public void setUp() {
NDC.clear();
if (MDC.getContext() != null) {
MDC.getContext().clear();
}
}
@Override
public final T call() throws Exception {
NDC.inherit(ndcStack);
try {
return callInternal();
} finally {
NDC.clear();
}
}
@Override
public final void run() {
NDC.inherit(ndcStack);
try {
runInternal();
} finally {
NDC.clear();
}
}
@BeforeEach
@AfterEach
void tearDown() {
MDC.clear();
NDC.clear();
}
public static void clear() {
NDC.clear();
}