2008-09-25 12 views
17

मेरे पास कई वेबपैप्स हैं जो java.util.logging का उपयोग करते हैं। टॉमकैट 5.5 को जूली लॉगर का उपयोग करने के लिए कॉन्फ़िगर किया गया है ताकि प्रत्येक वेबपैप की अपनी लॉग फ़ाइल हो। समस्या यह है कि जूलि में अधिकतम फ़ाइल आकार और फ़ाइल गिनती के गुण नहीं हैं। जूली का उपयोग करके फाइलें असहज हो जाएंगी और केवल दिन के अंत में रोल हो जाएंगी। साथ ही, लॉग फ़ाइलों की असीमित संख्या बरकरार रखी जाती है।लॉग फ़ाइलों को रोल करने के लिए टॉमकैट जुली लॉगिंग को कॉन्फ़िगर कैसे करें?

इस पेज पर आप FileHandler गुण देख सकते हैं - Apache Tomcat 5.5 Documentation
वहाँ कोई सीमा नहीं है या संपत्ति (निम्नलिखित लाइनों कुछ भी नहीं)
org.apache.juli.FileHandler.limit=102400
org.apache.juli.FileHandler.count=5

गिनती webapps बदलते बिना वहाँ एक रास्ता है लॉग फ़ाइल आकारों पर कुछ प्रकार की सीमाओं के साथ प्रत्येक एप्लिकेशन के लिए अद्वितीय लॉग फ़ाइलें प्राप्त करें?

अद्यतन: मुझे जो समाधान मिला वह जूली लॉगर का उपयोग नहीं करता था! java.util.logging.FileHandler.limit=102400
java.util.logging.FileHandler.count=5

धन्यवाद,

ग्रेग

उत्तर

3

अद्यतन: मैं और अधिक पढ़ने के बाद अब अपनी बात देखते हैं। "टोमकैट के जुली कार्यान्वयन का उद्देश्य पूरी तरह से फीचर्ड लॉगिंग करने का इरादा नहीं है, केवल उन पुस्तकालयों के लिए एक साधारण पुल है। हालांकि, जुली अपने हैंडलर को कॉन्फ़िगर करने के लिए कई गुण प्रदान करता है। ये नीचे सूचीबद्ध हैं।" मजेदार है कि वे कहते हैं कि डिफ़ॉल्ट java.util.Logging कार्यान्वयन बहुत सीमित है, तो वे एक और अधिक सीमित कार्यान्वयन प्रदान करके इसके आसपास काम करते हैं।

FileHandler javadocs

  • java.util.logging.FileHandler.limit किसी भी एक फाइल करने के लिए (बाइट्स में) लिखने के लिए एक अनुमानित अधिकतम राशि निर्दिष्ट करता है। यदि यह शून्य है, तो कोई सीमा नहीं है। (कोई सीमा तक डिफ़ॉल्ट)।
  • java.util.logging.FileHandler.count निर्दिष्ट करता है कि कितने आउटपुट फाइलों के माध्यम से चक्र (1 से डिफ़ॉल्ट)।

प्रति फ़ाइल एक फ़ाइल के लिए, शायद आप इसे लॉगर के नाम से अलग करना चाहते हैं और यह इस बात पर निर्भर करता है कि प्रत्येक ऐप के लिए लॉगर्स कैसे बनाए जाते हैं। अगर वे पैकेज या कक्षा के नाम से बाहर हैं तो आप उस पर आधारित लॉग फ़िल्टर कर सकते हैं। यह लिंक पर नमूना की तरह दिखता है आपके द्वारा दी गई है कि कैसे इस

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO 
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = \ 
    2localhost.org.apache.juli.FileHandler 
3

संपादित करने के लिए कहता है: बस एहसास हुआ आप webapp लॉगिंग जो इस सेटअप के साथ संभव नहीं हो सकता प्रति चाहता था ...

मेरा सुझाव है कि आप टॉमकैट 6.0 का उपयोग कर रहे हैं, पूर्ण कॉमन्स-लॉगिंग के लिए अतिरिक्त घटक संकलित करना और रोलिंग लॉग को कॉन्फ़िगर करने के लिए Log4j का उपयोग करना है।

बिल्डिंग निर्देश यहाँ http://tomcat.apache.org/tomcat-6.0-doc/building.html

फिर बिलाव के/bin निर्देशिका में बिल्ला-juli.jar की जगह और log4j.jar और log4j के साथ/lib निर्देशिका में बिल्ला-Juli-adapters.jar जगह ।गुण।

तब की तरह कुछ का उपयोग कर:

<appender name="file" class="org.apache.log4j.RollingFileAppender"> 
    <param name="File" value="logfile.log"/> 
    <param name="Threshold" value="INFO"/> 
    <param name="MaxFileSize" value="10MB"/> 
    <param name="MaxBackupIndex" value="3"/> 
    <layout class="org.apache.log4j.PatternLayout"> 
    <param name="ConversionPattern" value="%d{ISO8601} %p %m%n"/> 
    </layout> 
</appender> 
संबंधित मुद्दे

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