AsyncAppender के साथ रूपांतरणपटल में% C का उपयोग करते समय मुझे कोई समस्या है।लॉग 4 जे में, क्यों रूपांतरण सी में% सी प्रिंट करता है '?' (प्रश्न चिह्न) AsyncAppender के साथ?
मेरे Lo4J विन्यास है:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy/MM/dd HH:mm:ss,SSS} %C{1} - %m%n" />
</layout>
</appender>
<appender name="async_console" class="org.apache.log4j.AsyncAppender">
<param name="BufferSize" value="1000" />
<appender-ref ref="console" />
</appender>
<root>
<level value="debug" />
<!--
<appender-ref ref="console" />
-->
<appender-ref ref="async_console" />
</root>
</log4j:configuration>
और मेरे परीक्षण कोड है:
@Test
public void testAsync() {
DOMConfigurator
.configure("src/test/resources/learningtest/log4j/log4j_test_async.xml");
Logger log = Logger.getLogger(getClass());
log.debug("Hello, world!");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
परीक्षण कोड का परिणाम है:
2012/03/15 11: 51: 22,570? - नमस्ते दुनिया!
AsynAppender के बिना, यह ठीक काम करता है:
2012/03/15 11: 51: 06,002 Log4jTest - Hello, world!
% सी (श्रेणी) के साथ, यह भी ठीक काम करता है।
मुझे क्या याद आ रही है?
कृपया मुझे बताएं।
अग्रिम धन्यवाद :-)
संदर्भ:
http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html
AsyncAppender में एक स्थान इन्फ्लो ध्वज भी है जिसे आप सेट कर सकते हैं। इस मामले में,% सी और% एम अपेक्षित – cchabanois
के रूप में काम करेगा तो समस्या को ठीक करने के लिए कैसे? –