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

Popular posts from this blog

mysql - How to enter php data into a html multiple select box -

java - Can't add JTree to JPanel of a JInternalFrame -

c++ - Cassandra datastax cpp driver - avoiding unnecessary copies -