2012-11-25 35 views
6

मैं सिस्टम में लॉग फ़ाइल बनाने के लिए log4j2 का प्रयास कर रहा हूं, मैं सही विकास कर रहा हूं, मैंने अपने site पर निर्देश का पालन किया है और जब मैं इसे चलाता हूं तो कोई त्रुटि नहीं होती है, लेकिन लॉग है जहां मैंने इसे सेट किया है वहां सहेजा नहीं गया (उदा। "डी: \ लॉग \ app.log")।लॉग 4j2 सेविंग फ़ाइल (रोलिंगफाइल एपेंडर का उपयोग करके)

यहाँ मेरे log4j.xml है

<?xml version="1.0" encoding="UTF-8"?> 
<configuration status="OFF"> 
    <appenders> 
    <RollingFile name="MyRollingFile" fileName="D:/logs/app.log" 
       filePattern="logs/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz"> 
     <PatternLayout> 
     <pattern>%d %p %C{1.} [%t] %m%n</pattern> 
     </PatternLayout> 
     <Policies> 
     <TimeBasedTriggeringPolicy /> 
     <SizeBasedTriggeringPolicy size="250 MB"/> 
     </Policies> 
     <DefaultRolloverStrategy max="20"/> 
    </RollingFile> 
    <Console name="Console" target="SYSTEM_OUT"> 
     <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> 
    </Console> 
    </appenders> 
    <loggers> 
    <logger name="Log_RollingFile" level="TRACE" additivity="false"> 
     <appender-ref ref="MyRollingFile"/> 
    </logger> 
    <root level="ERROR"> 
     <appender-ref ref="Console"/> 
    </root> 
    </loggers> 
</configuration> 

मैं करने की कोशिश की:

  • देखने के लिए app.log हटाते हैं मेरी विन्यास (डी: \ logs \ app.log) काम करता है। जब मैं एप्लिकेशन चलाता हूं तो यह ऐप.लॉग बनाता है, इसलिए मुझे लगता है कि इसका मतलब है कि यह कॉन्फ़िगरेशन देखता है और केवल एक चीज यह है कि यह जावा एप्लिकेशन में किया गया log.info सहेज रहा है
  • रूट स्तर को "TRACE" में बदलें, और यह log.info प्रिंट करता है।

[संपादित करें:]

मैं अपने classpath पर इन पुस्तकालयों है

  • log4j-api-2.0-beta3.jar
  • log4j-core- 2.0-beta3.jar

क्या मुझे रोलिंगफाइल कॉन्फ़िगरेशन या लाइब्रेरी (शायद) पर कुछ याद आ रहा है?

अग्रिम धन्यवाद।

उत्तर

3

आपका लॉगर नाम गलत है।

जैसा कि आपने लिंक किए गए कॉन्फ़िगरेशन निर्देशों में बताया गया है, लॉगर को उस पैकेज/कक्षाओं के अनुसार नामित किया जाना चाहिए जिसके लिए आप लॉगिंग करना चाहते हैं।

उनके उदाहरण में com.foo.Bar नामक लॉगर Bar कक्षा com.foo से TRACE स्तर के साथ सब कुछ लॉग करेगा।

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^