2011-03-10 6 views
14

में उपयोग करने के लिए कौन सा लॉगिंग फ्रेमवर्क बेहतर है, मुझे अपने एफ # प्रोजेक्ट में लॉगिंग जोड़ने की आवश्यकता है। सी # कोड के लिए हमने उपयोग किया: लॉग 4नेट या एनएलओजी (नेट के लिए सबसे लोकप्रिय लॉगिंग ढांचे में से दो संभव)।एफ # कोड

एफ # कोड में उपयोग करने के लिए सबसे अच्छा विकल्प क्या है? मेरा मतलब है, क्या एफ # कोड में उपयोग के लिए लिखा गया कोई विशिष्ट लॉगिंग फ्रेमवर्क है?

उत्तर

9

उपयोग Logary

https://github.com/logary/logary

Logary एक उच्च प्रदर्शन, बहु लक्ष्य प्रवेश, मीट्रिक और स्वास्थ्य की जांच मोनो और नेट के लिए पुस्तकालय है। लक्ष्य में शामिल हैं: टेक्स्टराइटर, कंसोल, डीबगर, एनएलओएल, ज़िपकिन, निमरोड, रिमैन, लॉगस्टैश, एसक्लाइट, एसक्यूएल सर्वर, ग्रेफाइट, लॉगग, elmah.io, logentries। एडाप्टर के लिए: suave, topshelf।

लॉरी मुख्य रूप से F # के लिए F # में लिखा गया है।

Install-Package Logary 

docs here

+1

पूर्ण प्रकटीकरण: [हेनरिक लॉटरी में मुख्य योगदानकर्ता है।] (https://github.com/logary/logary/graphs/contributors) – mbx

11

जहाँ तक मुझे पता है, वे एफ # के लिए समान हैं, यानी उनके बारे में कुछ भी नहीं है (चाहे वह अच्छा या बुरा हो)। कॉन्फ़िगरेशन के अलावा, सभी लॉगिंग पुस्तकालयों के लिए उपयोग काफी समान है।

आप जो भी जोड़ना चाहते हैं वह प्रिंटफ-सक्षम लॉगिंग है, इसलिए logger.DebugFormat("Hello {0}", "world") या logger.Debug(sprintf "Hello %s" "world") के बजाय आप केवल logger.Debugf "Hello %s" "world" कर सकते हैं। ऐसा करने के लिए type extensions और kprintf का उपयोग करें।

+0

अपने जवाब के लिए धन्यवाद - इस समाधान के रूप में अपने खुद के लकड़हारा तैयार करने के लिए, आधारित एफ # समान वाक्य रचना – Vitaliy

+0

साथ मैं अक्सर जैसे कार्यों का एक सेट बनाने के लिए 'kprintf' का उपयोग किया जा सकता है log4net पर आप सुझाव देते हैं, लेकिन मैं उन्हें 'मेलबॉक्सप्रोसेसर' पर पोस्ट करता हूं जो कि जो भी अंतर्निहित लॉग फ्रेमवर्क का उपयोग करने के लिए होता है, वह असीमित रूप से लिखता है - जो कि सरल कमांड-लाइन उपयोगिता के लिए अलग-अलग रंगों में कंसोल पर लिख सकता है। –

+0

मैंने यहां एक समान प्रश्न पूछा: http://stackoverflow.com/questions/5277902/printf-style-logging-for-f विस्तृत करने के लिए स्वतंत्र महसूस करें :) – Alex