2008-11-24 10 views
11

मेरे पास एक एप्लिकेशन है जिसके लिए log4j लॉगिंग लॉग 4j.properties फ़ाइल में कॉन्फ़िगर किया गया है। वर्तमान में, यह एप्लिकेशन यूनिक्स पर चलता है और/tmp में लॉग फ़ाइल बनाता है। इस एप्लिकेशन को विंडोज़ पर चलाने की जरूरत है, और उस प्लेटफॉर्म पर मैं इसे सही अस्थायी निर्देशिका का चयन करना चाहता हूं, जो मुझे लगता है कि सी: \ temp है।क्रॉस-प्लेटफार्म तरीके से अस्थायी निर्देशिका में लॉगिंग

ऐसा करने के लिए मैं अपनी log4j.properties फ़ाइल कैसे बदल सकता हूं? क्या मुझे एक्सएमएल कॉन्फ़िगरेशन फ़ाइल का उपयोग करने के लिए स्विच करने की आवश्यकता है?

+0

हालांकि यह सवाल मैं जवाब मिल गया है हो सकता है लेखन। मैंने अभी तक परीक्षण नहीं किया है, हालांकि, और मैं लोगों को वोट दूंगा और कुछ और स्कोर करने के लिए किसी और के लिए एक मौका के लिए एक अच्छा जवाब स्वीकार करूंगा। अगर मुझे लगता है कि मेरे पास कुछ जोड़ने के लिए है, तो मैं अपना जवाब पोस्ट करूंगा और लोग महसूस करते हैं कि वे ऊपर या नीचे मतदान कर सकते हैं। – skiphoppy

उत्तर

17

मुझे लगता है कि आप हार्ड-कोड किए गए पथ के स्थान पर केवल ${java.io.tmpdir} का उपयोग करेंगे।

+1

बस एक साइड नोट के रूप में, यह चर लॉगबैक की कॉन्फ़िगरेशन फ़ाइल में भी काम करता है। – nrobey

0

लॉग 4 जे v1.2.14 के रूप में, मैं इसे log4j.xml फ़ाइल के साथ-साथ log4j.properties फ़ाइल दोनों में उपयोग करने में सक्षम था। वेब पर कुछ चर्चा हुई थी कि चरम DOMReader में पार्स नहीं होंगे, लेकिन वे log4j के इस संस्करण के रूप में करते हैं।

<appender name="rolling_file_appender_ourapp" class="org.apache.log4j.RollingFileAppender"> 
    <param name="File" value="${user.home}/.mycompany/OurApp.log" /> 
    <param name="Append" value="false" /> 
    <param name="MaxFileSize" value="10MB" /> 
    <param name="MaxBackupIndex" value="3" /> 
    <layout class="org.apache.log4j.PatternLayout"> 
     <param name="ConversionPattern" value="%d | %-5p | %c | %m | %t | %x %n" /> 
    </layout> 
</appender> 

या

log4j.appender.rfile=org.apache.log4j.FileAppender 
log4j.appender.rfile.layout=org.apache.log4j.PatternLayout 
log4j.appender.rfile.Append=false 
log4j.appender.rfile.layout.ConversionPattern=%d [%p] %c %m%n 
log4j.appender.rfile.File=${user.home}/.mycompany/OurApp.log 
+0

क्या "फ़ाइल" पैरामीटर मान में स्लैश माइक्रोसॉफ्ट ओएस पर सही ढंग से व्याख्या किया जाएगा, यानी बैकस्लैश के रूप में, या मुझे फ़ाइल विभाजक संपत्ति का उपयोग करने की आवश्यकता होगी? –

+0

@ TomislavNakic-Alfirevic उत्तरार्द्ध या "\\" – ConquerorsHaki

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