java - How to programmingly specify the file name for RollingFileAppender in log4j? -
पृष्ठभूमि:
मेरा अनुप्रयोग दो ऑपरेटिंग मोड को चुना जा सकता है जिसे चुना जा सकता है जीयूआई से।
अगर यह एक सर्वर के रूप में काम करता है, तो मैं लॉग को server.log
फाइल में निर्देशित करना चाहता हूं।
अगर यह एक ग्राहक के रूप में काम करता है, तो मैं लॉग को निर्देशित करना चाहता हूं client.log
फ़ाइल में
प्रश्न:
Log4j में रोलिंगफ़ाइलअपैडर के लिए अलग-अलग मोडों के लिए अलग-अलग नामों को कैसे परिभाषित करना है?
जोड़ा गया (10-29-2014): @ मनेश्शे महेश्वरी का वर्तमान जवाब मेरे लिए काम नहीं करता है। यह चेतावनी log4j: वॉर्न फाइल विकल्प को ऐडेंडर [फाइल]
के लिए सेट नहीं करता है और यह फाइल में लॉग नहीं लिखता है।
मेरा प्रयास: rollSpecificRollingFileAppender
वर्ग को परिभाषित करता है जो RollingFileAppender
को बढ़ाता है और setFile ()
विधि को ओवरराइड करता है।
सार्वजनिक वर्ग RoleSpecificRollingFileAppender RollingFileAppender को विस्तारित करता है {@ ओवरराइड सार्वजनिक शून्य सेटफ़ाइल (स्ट्रिंग फ़ाइलनाम) {सुपर .सेटफ़ाइल (फ़ाइलनाम); }}
मेरा RollingFileAppender
इस प्रकार है:
& lt;? Xml संस्करण = "1.0" एन्कोडिंग = "यूटीएफ- 8 "& gt; & Lt;! DOCTYPE log4j: कॉन्फ़िगरेशन PUBLIC "- // LOGGER" "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd"> & LT; log4j: विन्यास & gt; # रूट लकड़हारा विकल्प log4j.rootLogger = INFO, फ़ाइल # एक लॉग फ़ाइल में डायरेक्ट लॉग संदेश लॉग 4j.appender.file = [[यहां क्या करें? Org.apache.log4j.RollingFileAppender]] log4j.appender.file.file = [[मैं यहाँ कैसे करना नहीं जानता।]] Log4j.appender.file.MaxFileSize = 50MB log4j.appender.file.MaxBackupIndex = 10 log4j .appender.file.layout = org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern =% d {yyyy-MM-dd एचएच: मिमी}% -5p% c {1}:% एल -% मी % N & lt; / log4j: कॉन्फ़िगरेशन & gt;
हालांकि मुझे नहीं पता कि जावा कोड में क्या करना है और log4j.properties
फ़ाइल।
RoleSpecificRollingFileAppender
में log4j.appender.file
संपत्ति के लिए पूर्ण योग्य क्लासनाम का उपयोग करें। कॉन्फ़िग से फ़ाइल लाइन को निकालने का प्रयास करें।
इसे बूटस्ट्रैप पर उपयोग करें:
रोलिंगफ़ाइलअपैडर ऐप = नया रोल स्पीचिंगफ़ाइलअपैडर (); app.setFile (myFile); BasicConfigurator.configure (एप्लिकेशन);
Comments
Post a Comment