2009-10-29 9 views
6

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

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

.NET एप्लिकेशन में इस प्रारंभिक रीडिज़ाइन को पूरा करने से पहले मैं जानना चाहता था कि क्या किसी को शेल्फ ट्रैकिंग समाधान या ओपन सोर्स ट्रैकिंग सिस्टम बंद करने की सिफारिशें हैं, जिन्हें उन्होंने अतीत में लागू किया है जो काफी मजबूत हैं।

अतिरिक्त विवरण: हम कस्टम डेटा (हमारे अनुप्रयोग के लिए विशिष्ट) का एक बहुत पर नज़र रखी जा करने की जरूरत है और हमारे आवेदन केवल जहां लोगों के रूप में की जरूरत नहीं है आ रहे हैं पर इतना विवरण कंपनी के इंट्रानेट साइटों के माध्यम से पहुंचा जा सकता है कि हम पहले से ही यह जानते हैं।

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

संपादित करें (11/20/2009): मेरी समस्या के अनुरूप शेल्फ समाधान बिल्कुल ठीक नहीं दिखता है, लेकिन मैं इस प्रश्न को एक डिजाइन और दिशा के साथ अद्यतन कर दूंगा जिसे हम अगले में लागू करने जा रहे हैं कुछ हफ़्ते। तो यदि आप इस प्रश्न के साथ क्या हुआ में रुचि रखते हैं तो जल्द ही जांच लें।

उत्तर

0

Microsoft's Enterprise Library में कुछ भाग हैं जो कुछ मूलभूत नलसाजी के साथ सहायक हो सकते हैं जो आप अपवाद हैंडलिंग/रिपोर्टिंग उद्देश्यों के लिए लॉगिंग के लिए चाहते हैं। log4net जैसे अन्य सॉफ़्टवेयर पैकेज भी हो सकते हैं जो एप्लिकेशन के एक विशिष्ट भाग के लिए भी काम कर सकते हैं जो अन्य सुझाव दे सकते हैं।

चीजों के मूल्यांकन के लिए केवल कुछ विचारों का मूल्यांकन करने के लिए कि वे आपके लिए कितनी अच्छी तरह काम करेंगे।

+0

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

+0

@Russell के साथ जाएं - मैं सहमत हूं कि log4net लॉगिंग के लिए एक अच्छा एप्लीकेशन है लेकिन मजबूत ऑब्जेक्ट विवरण ट्रैक करने के लिए इसका उपयोग करना मुश्किल होगा। यदि हम पूरी ट्रैकिंग को कोडिंग करते हैं तो मैं स्रोत फ्रेम या कुछ पर पोस्ट कर सकते हैं जो एक ढांचे को सारणी देने की कोशिश कर सकता हूं। मुझे लगता है कि हम कुछ चीजों के लिए एक हैंडलर/मॉड्यूल को तार देंगे और हमारी मुख्य "पेज" कक्षा के माध्यम से एक ट्रैकिंग ईवेंट वायर अप करेंगे। – Dan

1

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

आशा इस मदद करता है,

स्कॉट

+0

log4net को उपयोगकर्ता के कार्यों को ट्रैक करने के लिए बिल्कुल डिज़ाइन किया गया था और हम पहले से ही सामान्य एप्लिकेशन लॉगिंग/डिबगिंग के लिए हमारे एप्लिकेशन में लॉग 4नेट का उपयोग करते हैं। इसके बारे में आपकी प्रतिक्रिया के लिए धन्यवाद। – Dan

2

खैर ... वहाँ वास्तव में तीन ट्रैकिंग (loggin) के स्तर है कि आप का उल्लेख किया और प्रत्येक के लिए अलग-अलग उपकरणों के विभिन्न प्रकार हैं।

अपनी पोस्ट में आप का उल्लेख:

  1. ट्रैकिंग पृष्ठ उपयोगकर्ताओं का दौरा: मुझे इस के लिए वेब सर्वर के एक समारोह होगा। आईआईएस (मैं आईआईएस मानता हूं क्योंकि आपने कहा था कि यह नेट है। यह सब आपके लिए यह सामान लॉग करेगा। उस जानकारी को मेरे पास करने के लिए कई टूल हैं।

  2. व्यापार लेनदेन: जैसे, उपयोगकर्ता ने एक रिपोर्ट मुद्रित की। उपयोगकर्ता ने एक प्रक्रिया, आदि चलाया। ये किसी भी डेटा बदलने के लिए वास्तव में हमेशा विशिष्ट नहीं हैं। लॉगऑनेट और आईओसी कंटेनर जैसे टूल का उपयोग करके आपके व्यवसाय ऑब्जेक्ट्स में इस प्रकार के लॉगिंग इंजेक्ट करने के लिए अच्छा काम करेगा।

  3. डेटा संशोधन: यह डेटा स्तर ट्रैकिंग है। इसे करने बहुत सारे तरीके हैं। लेकिन, मैं इसे डेटा बेस के करीब रखने के लिए पुनः संयोजित कर दूंगा। डीएएल में ऐसा करना शायद थोड़ा आसान है, लेकिन अगर कोई एप्लिकेशन के बाहर डेटाबेस में डेटा बदलता है तो क्या होगा। बेशक यह आपके मामले में संभव नहीं हो सकता है। मैंने इसे ट्रिगर्स के साथ किया है। लेकिन, एसक्यूएल 2008 ने change tracking इनबिल्ट जोड़ा।

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

0

संकेत का स्तर। इनपुट फ़िल्टर (अपाचे?) के साथ एक रिवर्स प्रॉक्सी लागू करें जो दोनों अनुरोधों को लॉग करता है और डीबी को पैरामीटर का अनुरोध करता है। रिपोर्टिंग और सत्र मनोरंजन बहुत आसान हो गया।

+0

किसी व्यवसाय एप्लिकेशन में, ट्रैकिंग में रुचि रखने वाले अधिकांश विवरण आमतौर पर अनुरोधों के माध्यम से आगे नहीं जाते हैं – Dan

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