2011-06-27 14 views
5

मेरे पास एक TFSBuild.proj फ़ाइल है और मुझे आंकड़ों के लिए दिनांक/समय लॉगिंग जोड़ने की आवश्यकता है यानी निर्माण के कौन से हिस्से सबसे अधिक समय लेते हैं और हम प्रक्रिया को कहां सुधार सकते हैं।TFSBuild.proj पर टाइमस्टैम्प कैसे जोड़ें?

निर्माण BuildLog.txt पर लॉग आउटपुट करता है। मैं BuildLog.txt फ़ाइल में कस्टम संदेश प्राप्त करने के लिए निम्न टैग का उपयोग करता हूं, लेकिन मुझे प्रत्येक संदेश में टाइमस्टैम्प जोड़ने की आवश्यकता है।

<Message Text="Debug: BeforeGet start: StartTimeGoesHere"></Message> 
<Message Text="Debug: BeforeGet end: EndTimeGoesHere"></Message> 

क्या संदेश में टाइमस्टैम्प प्राप्त करना संभव है? क्या कोई MSBuild वैरिएबल है जो वर्तमान डेटाटाइम मान प्राप्त करता है? उपरोक्त उदाहरण में, StartTimeGoesHere कुछ ऐसा होगा जैसे "01 जनवरी 2001 14:10:12" और एंडटाइमगोस "01 जनवरी 2001 14:14:43" जैसा कुछ होगा।

उत्तर

8

जब तक आप MSBuild 4.0 का उपयोग कर रहे हैं तब तक आपको किसी भी तृतीय पक्ष समर्थन की आवश्यकता नहीं है। बस,

<PropertyGroup> 
    <DateTimeNow>$([System.DateTime]::Now)</DateTimeNow> 
</PropertyGroup> 

जो $ (DateTimeNow) के लिए निम्नलिखित मूल्य पैदा करेगा, लोगों के लिए

6/26/2011 9:00:27 PM 
+0

एक आकर्षण की तरह काम करता है, धन्यवाद। – Alicia

1

आपको एमएस बिल्ड कम्युनिटी टास्क का उपयोग करने की आवश्यकता है। इसमें एक समय कार्य है जो आपको वही देगा जो आप चाहते हैं।

http://msbuildtasks.tigris.org/

<Time Format="yyyy-MM-dd hh:mm:ss"> 
    <Output TaskParameter="FormattedTime" PropertyName="currentTime" /> 
</Time> 

सेट करने के लिए प्रारंभ और समाप्ति समय की आवश्यकता होगी और आप जहां आप कार्य आह्वान के बारे में सावधान रहने की जरूरत होगी।

+0

उपयोगी MSBuild के पुराने संस्करणों पर लक्ष्य के भीतर एक संपत्ति समारोह का उपयोग करें। –

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