2011-12-01 24 views
25

मैं अंतरिक्ष के साथ समस्या यह तो 3 पिछले दिनों के लिए रोल के 10M और संख्या सीमित करने के लिए catalina.out के आकार को सीमित की जरूरत है। क्या यह केवल logging.properties को कॉन्फ़िगर करने के साथ संभव है? धन्यवाद।टोमकैट के लिए अधिकतम संख्या में रोल और अधिकतम लॉग आकार कैसे सेट करें?

+0

मैं जानता हूँ कि यह एक पुरानी पोस्ट है, लेकिन जैसा कि मैंने इस साइट में सभी जवाब करना पसंद करते हैं, मैं सिर्फ जोड़ देंगे कि आप भी [इस विकल्प] का अनुसरण कर सकते हैं (http://java.dzone.com/articles/कैसे घुमाने-बिल्ला-catalinaout)। यूनिक्स मशीन –

उत्तर

34

के रूप में बिलाव आंतरिक रूप से प्रवेश करने के लिए जुलाई का उपयोग करता है, तो आप गुण फ़ाइल के फ़ाइल पथ निर्दिष्ट करने के लिए प्रणाली संपत्ति java.util.logging.config.file उपयोग कर सकते हैं। इस गुण फ़ाइल के प्रारूप के लिए, आप अपने JRE_HOME/lib/logging.properties (जो कि JUL द्वारा उपयोग की जाने वाली डिफ़ॉल्ट कॉन्फ़िगरेशन फ़ाइल है)

हालांकि, JUL does not support the daily rotation का उल्लेख कर सकते हैं। आप कोई आपत्ति नहीं है, तो आप अपने java.util.logging.FileHandler का उपयोग करने के बजाय लॉग की फ़ाइल आकार के आधार पर लॉग फाइल को घुमाने के लिए कर सकते हैं:

# Define the FileHandler 
handlers= java.util.logging.FileHandler 

# Configure the FileHandler 
java.util.logging.FileHandler.pattern = %h/java%u.log 
java.util.logging.FileHandler.limit = 1024000 
java.util.logging.FileHandler.count = 3 
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter 
java.util.logging.FileHandler.append=true 

फिर, प्रत्येक लॉग फ़ाइल इच्छा आकार की सीमा 1,024,000 बाइट्स (1MB) है, और 3 आउटपुट लॉग फ़ाइलों के लिए अधिकतम रोल। कॉन्फ़िगरेशन के विवरण के लिए आप java.util.logging.FileHandler के जावाडोक को देख सकते हैं।


यदि आप JUL का उपयोग करके दैनिक आधार पर घूर्णन का समर्थन करना चाहते हैं तो आपको फ़ाइल हैंडलर को लागू करना होगा। मुझे this blog से कस्टम इम्प्लेमेनेशन मिला। मैंने अभी तक कोशिश नहीं की। यदि आप कोई रुचि रखते हैं तो आप इसका उल्लेख कर सकते हैं।

+1

हाँ में कार्यान्वित करना बहुत आसान है, लेकिन सवाल लगभग 3 दिन था, न कि 3 फाइलें। – StKiller

+0

हां, आप सही हैं। मैंने सवाल को गलत तरीके से पढ़ा। जेयूएल में लगता है कि दैनिक लॉग को घुमाने के लिए अंतर्निहित हैंडलर नहीं है। –

+4

2^10 * 1000 पर सीमा क्यों सेट करें, जो थोड़ा यादृच्छिक लगता है? क्यों नहीं 1 एमबी (1000000 बाइट्स) या 1 एमआईबी (2^20/1048576 बाइट्स) –