मुझे समस्या है कि भले ही मैं रूट टैग में ERROR के स्तर को निर्दिष्ट करता हूं, निर्दिष्ट ऐपेंडर सेटिंग्स के बावजूद फ़ाइल में सभी स्तरों (डीबग, जानकारी, चेतावनी) लॉग करता है। मैं log4j विशेषज्ञ नहीं हूं इसलिए किसी भी मदद की सराहना की जा रही है। यहाँ log4j है log4j.xml Log4j: कॉन्फ़िगरेशन के बावजूद रूट लॉगगर सभी लॉग प्रकारों को एकत्रित क्यों कर रहा है?
छोड़कर
- मैं log4j.properties के लिए classpath जाँच कर ली है (वहाँ कोई है):
यहाँ इस विषय पर थोड़ा अधिक जानकारी है। एक्सएमएल फ़ाइल:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> <!-- ============================== --> <!-- Append messages to the console --> <!-- ============================== --> <appender name="console" class="org.apache.log4j.ConsoleAppender"> <param name="Target" value="System.out" /> <layout class="org.apache.log4j.PatternLayout"> <!-- The default pattern: Date Priority [Category] Message\n --> <param name="ConversionPattern" value="[AC - %5p] [%d{ISO8601}] [%t] [%c{1} - %L] %m%n" /> </layout> </appender> <appender name="logfile" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="./logs/server.log" /> <param name="MaxFileSize" value="1000KB" /> <param name="MaxBackupIndex" value="2" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="[AC - %-5p] {%d{dd.MM.yyyy - HH.mm.ss}} %m%n" /> </layout> </appender> <appender name="payloadAppender" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="./logs/payload.log" /> <param name="MaxFileSize" value="1000KB" /> <param name="MaxBackupIndex" value="10" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="[AC - %-5p] {%d{dd.MM.yyyy - HH.mm.ss}} %m%n" /> </layout> </appender> <appender name="errorLog" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="./logs/error.log" /> <param name="MaxFileSize" value="1000KB" /> <param name="MaxBackupIndex" value="10" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="[AC - %-5p] {%d{dd.MM.yyyy - HH.mm.ss}} %m%n" /> </layout> </appender> <appender name="traceLog" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="./logs/trace.log" /> <param name="MaxFileSize" value="1000KB" /> <param name="MaxBackupIndex" value="20" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="[AccessControl - %-5p] {%t: %d{dd.MM.yyyy - HH.mm.ss,SSS}} %m%n" /> </layout> </appender> <appender name="traceSocketAppender" class="org.apache.log4j.net.SocketAppender"> <param name="remoteHost" value="localhost" /> <param name="port" value="4445" /> <param name="locationInfo" value="true" /> </appender> <logger name="TraceLogger"> <level value="trace" /> <!-- Set level to trace to activate tracing --> <appender-ref ref="traceLog" /> </logger> <logger name="org.springframework.ws.server.endpoint.interceptor"> <level value="DEBUG" /> <appender-ref ref="payloadAppender" /> </logger> <root> <level value="error" /> <appender-ref ref="errorLog" /> </root> </log4j:configuration>
यदि मैं रूट को किसी अन्य लॉगर से प्रतिस्थापित करता हूं, तो निर्दिष्ट ऐपेंडर पर कुछ भी लॉग नहीं होता है।
<logger name="com.mydomain.logic"> <level value="error" /> <appender-ref ref="errorLog" /> </logger>
... और संकेत के लिए तुम लोगों को धन्यवाद अब तक :-)
क्या आप दिखा सकते हैं कि आपने अभी तक क्या किया है ताकि लोग समीक्षा कर सकें? –
हाँ, मैं करूँगा। लेकिन सुबह (अब मैं बहुत थक गया हूं) –
क्लासपाथ की सामग्री को देखे बिना इसका उत्तर नहीं दिया जा सकता है जिसमें कॉन्फ़िगरेशन फ़ाइल शामिल है जिसका आप उपयोग कर रहे हैं। – cynicalman