2010-11-25 16 views
12

मैवेन बिल्ड के लिए लॉगिंग को कॉन्फ़िगर कैसे कर सकता हूं? लॉग जो मैवेन जेनरेट करता है वह प्रत्येक लॉग स्टेटमेंट के साथ टाइम स्टैंप जैसे ज्ञान की जानकारी प्रदान नहीं कर रहा है। कहां/लॉग लॉग फ़ाइल मैवेन का उपयोग करता है?मेवेन लॉग फ़ाइल कॉन्फ़िगरेशन

उत्तर

2

यह अभी भी कुछ Maven में मुद्दा बंद हो रहा है के रूप में आप पर देख सकते हैं:

https://issues.apache.org/jira/browse/MNG-519

प्रदान की वैकल्पिक हल बहुत बुरा नहीं है, लेकिन आप Maven स्थापना को संशोधित करने की जरूरत है।

8

आप इसके बारे में अवगत हो सकते हैं, और यह तिथियां मुद्रित नहीं करेगा, लेकिन mvn -X का उपयोग वर्बोज आउटपुट प्रिंट करने के लिए करें।

इसके अतिरिक्त, आप हमेशा किसी अन्य उपयोगिता के लिए मेवेन के आउटपुट को पाइप कर सकते हैं (माना जाता है कि आपके खोल पर्यावरण में आधा रास्ते सक्षम उपकरण हैं)। उदाहरण के लिए mvn -X clean | awk '{print "("d")"$0}' "d=$(date)" मैवेन में प्रत्येक पंक्ति से पहले एक तारीख को प्रिंट करता है। मैंने तारीख को स्वरूपित करने से परेशान नहीं किया, लेकिन यह आसानी से date निष्पादन योग्य तर्कों के साथ किया गया है। ध्यान दें कि यह वास्तव में मैवेन कमांड के लिए काम नहीं करेगा जिसके लिए maven archetype:generate जैसे इंटरैक्टिव उपयोगकर्ता इनपुट की आवश्यकता होती है।

5

@whaley द्वारा प्रदान किया गया उत्तर एक अच्छी दिशा है। हालांकि, $ (तारीख) का मूल्यांकन केवल शुरुआत में ही किया जाता है और फिर वही रहता है। संस्करण 3.1 में

mvn -X <goals> | awk '{ print strftime("%Y-%m-%d %H:%M:%S"), $0; }' 
2

Maven और 3.2 SLF4J आधारित लकड़हारा की सरल विन्यास अनुमति देते हैं: मैं एक दृष्टिकोण Is there a Unix utility to prepend timestamps to stdin? में उल्लेख किया है का उपयोग करने के लिए किया था। आप कमांड लाइन पर "-l logfile" निर्दिष्ट कर सकते हैं, और SimpleLogger की डिफ़ॉल्ट कॉन्फ़िगरेशन कॉन्फ़िगरेशन फ़ाइल conf/logging/simplelogger.properties में है।

यदि आप डिफ़ॉल्ट टाइमस्टैम्प (प्रारंभ से मिलीसेकंड) चालू करना चाहते हैं तो आप इस फ़ाइल में संपत्ति को सरल रूप से बदल सकते हैं: org.slf4j.simpleLogger.showDateTime=true

+0

लेकिन '-l' है" लॉग ऑन जहां सभी उत्पादन का निर्माण जाना होगा करने के लिए फ़ाइल ", नहीं लॉगिंग विन्यास। – lexicore

+1

@lexicore yes, मैंने यही कहा "-l logfile" – eckes

+0

मैं एक फ़ाइल में बिल्ड लॉग को बदलने के लिए देख रहा हूं, mvn -l logfile मेरे लिए काम करता है। – IcyBrk

1

जैसा कि @eckes द्वारा सुझाया गया है, डिफ़ॉल्ट लॉगिंग कॉन्फ़िगरेशन फ़ाइल /conf/logging/simplelogger.properties पर उपलब्ध है, मैवेन 3.1.0 आगे से।

बदलें "org.slf4j.simpleLogger.showDateTime" संपत्ति के मूल्य के लिए "सही"

org.slf4j.simpleLogger.showDateTime=true 

dateTimeFormat बदलने के लिए, डिफ़ॉल्ट के रूप में मिलीसेकेंड में रिश्तेदार समय है।
simplelogger.properties फ़ाइल में नीचे पंक्ति जोड़ें।

org.slf4j.simpleLogger.dateTimeFormat=HH:mm:ss:SSS 

संदर्भ:
Maven प्रवेश: https://maven.apache.org/maven-logging.html
DateFormats: http://docs.oracle.com/javase/1.5.0/docs/api/java/text/SimpleDateFormat.html

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