2009-11-03 16 views
13

का उपयोग कर विभिन्न लॉग फ़ाइलों को बनाने मैं एक स्वचालित एकीकरण परीक्षण दोहन किया है और लॉगिंग (जो log4j का उपयोग कर कार्यान्वित किया जाता है)प्रोग्राम log4j

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

इसलिए मैं यह सुनिश्चित करना चाहता हूं कि प्रत्येक उच्च स्तरीय परीक्षण के भीतर लॉगिंग उस परीक्षण के लिए लॉग फ़ाइल में लिखी गई हो।

मैं कस्टम लॉग स्तर नहीं बनाना चाहता, न ही मैं सभी परिशिष्टों को लॉगिंग भेजना चाहता हूं।

क्या कोई इसे करने का तरीका जानता है?

उत्तर

23

आप आसानी से log4j के एपीआई को प्रोग्रामेटिक रूप से आमंत्रित कर सकते हैं, उदा।

FileAppender appender = new FileAppender(); 
// configure the appender here, with file location, etc 
appender.activateOptions(); 

Logger logger = getRootLogger(); 
logger.addAppender(appender); 

logger इस उदाहरण में जड़ लकड़हारा, या पेड़ के नीचे किसी भी लकड़हारा हो सकता है। आपका यूनिट टेस्ट स्टीप के दौरान अपना कस्टम एपेंडर जोड़ सकता है, और टियरडाउन के दौरान एपेंडर (removeAppender() का उपयोग करके) को हटा सकता है।

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