2014-06-12 9 views
5

के लिए सेरिलोग मशीन नाम समृद्ध रोलिंग फ़ाइल सिंक और लॉजिली सिंक के संयोजन के साथ मैं कुछ समृद्ध (मशीन नाम और थ्रेड आईडी) का उपयोग करने की कोशिश कर रहा हूं। जबकि Loggly घटनाओं में मशीन का नाम और थ्रेड आईडी गुण सही ढंग से होते हैं, मैं इन्हें रोलिंग फ़ाइल ईवेंट में नहीं देख सकता।रोलिंग फ़ाइल सिंक

<add key="serilog:minimum-level" value="Information" /> 
<add key="serilog:write-to:RollingFile.pathFormat" value="C:\Foo\bar-{Date}.txt" /> 
<add key="serilog:using" value="Serilog.Sinks.Loggly" /> 
<add key="serilog:write-to:Loggly.inputKey" value="redacted Loggly key" /> 

new LoggerConfiguration() 
    .ReadAppSettings() 
    .Enrich.WithMachineName() 
    .Enrich.WithThreadId() 
    .CreateLogger() 

किसी को भी ऐसा करने के लिए प्रबंधन किया था:

यहाँ मेरी xml/कोड विन्यास है? क्या यह व्यवहार डिज़ाइन द्वारा किया जा सकता है या क्या ये समृद्ध रोलिंग फ़ाइल सिंक के लिए समर्थित नहीं हैं?

उत्तर

13

मशीन लॉग और थ्रेडिड सभी लॉग इवेंट्स के गुणों के रूप में जोड़े जाते हैं। वे संदेश प्रारूप में नहीं हैं इसलिए सेरिलोग उन्हें पाठपरक प्रतिनिधित्व में परिवर्तित नहीं करता है। हालांकि वे सिंक को भेजे जाएंगे। Loggly सिंक सभी गुणों (थ्रेड आईडी आदि सहित) उठाएगा और उनको कुछ में परिवर्तित करेगा Loggly समझता है (क्योंकि यह किसी भी प्रकार का डेटा स्वीकार कर सकता है)।

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

outputTemplate: "{Timestamp:HH:mm} [{Level}] {MachineName} ({ThreadId}) {Message}{NewLine}{Exception}" 

भी देखें https://github.com/serilog/serilog/wiki/Configuration-Basics#enrichers

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

+0

यह अब सही समझ में आता है। मुझे लगता है कि मैं अभी भी क्लासिक लॉगिंग से इस "ऑब्जेक्ट लॉगिंग" अवधारणा में मानसिक रूप से संक्रमण कर रहा हूं। – CyberDude

+0

रोलिंगफाइल सिंक आउटपुट सामानों का एक त्वरित तरीका है, वास्तविक शक्ति तब होती है जब आप इसे सेक, लोचदार खोज या लॉगगली जैसे कुछ ऑनलाइन लॉग प्रदाता में संग्रहीत करते हैं। फिर आप सभी मेटाडेटा, एनालिटिक्स, सर्च इत्यादि तक पहुंच सकते हैं। – Michiel

+0

हां, हम लॉगग्ली का भी उपयोग कर रहे हैं लेकिन यह थोड़ा धीमा और सेट अप करना मुश्किल लगता है ताकि आप जो भी खोज रहे हैं उसे तुरंत ढूंढ सकें। – CyberDude

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