2010-09-20 14 views
34

मैं एनएलओजी के लिए एक लेआउट कैसे लिखूं जो इस 11:32:08:123 जैसे मिलीसेकंड के साथ समय आउटपुट करता है? मैं ${date:format=yyyy-MM-dd HH\:mm\:ss} का उपयोग करता हूं लेकिन मुझे अपने लॉग में अधिक समय सटीकता की आवश्यकता है।एनएलओजी समय स्वरूपण

+0

यदि आप केवल एक लंबे समय के प्रारूप की तलाश में हैं, तो '$ {time}' का उपयोग करें। (मैंने पिछली बार खोजे जाने पर मुझे कैसे नहीं देखा? [एनएलओजी लेआउट-रेंडरर्स] (https://github.com/NLog/NLog/wiki/Layout- प्रस्तुतकर्ता)) –

उत्तर

11
${longdate} 

प्रारूप harriyott ने सुझाव दिया करने के लिए एक अन्य विकल्प $ {longdate} रेंडरर का उपयोग करना है:

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

+3

'$ {longdate} 'बहुत अच्छा काम करता है, लेकिन हो पता है कि आपको 'लेटडेट' मान को स्टोर करने का प्रयास करते समय * डेटाटाइम को 'डेटाटाइम' के बजाय 'डेटाटाइम 2' के रूप में परिभाषित करना होगा या एनएलओजी एक अपवाद फेंक देगा। – Nick

5

आईएसओ 8601 प्रारूप '1998-02-23T14: 23: 05.555' का उपयोग करने का एक और वैकल्पिक समाधान है। यह प्रारूप एसक्यूएल सर्वर की लापरवाही का स्वतंत्र है।

${date:format=yyyy-MM-ddTHH\:mm\:ss.fff} 
संबंधित मुद्दे