2008-08-09 17 views
7

मेरे पास एक एएसपी.NET एप्लिकेशन है जिसे हमने अपना लॉगिंग मॉड्यूल लिखा है।मुझे अपनी लॉग फ़ाइल को एएसपीनेट एप्लिकेशन के लिए कहां रखा जाना चाहिए?

मेरा सवाल है, लॉग फ़ाइल लिखने के लिए मानक जगह कहां है? अर्थात। वेबसाइट अनाम उपयोगकर्ता पहचान (जैसे आईआईएस 7 पर आईयूएसआर) के रूप में चल रही है और मुझे ऐसी जगह चाहिए जहां मुझे पता है कि उसे लिखने की अनुमति होगी।

चीयर्स,

उत्तर

6

App_Data परियोजना के रूट पर फ़ोल्डर। यह वेब अनुरोधों पर नहीं दिया जाता है; तो अन्य लोग इसके लिए snoop नहीं कर सकते हैं।

1

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

किसी भी मामले में, आपको वांछित फ़ोल्डर में "नेटवर्क सेवा" खाता "संशोधित करें" अनुमतियां देनी होंगी।

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

0

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

तो फिलहाल मैं CommonAplicationData फ़ोल्डर के साथ जा रहा हूं।

  • विस्टा/सर्वर 2008 को इस C: \ ProgramData \
  • पर XP/सर्वर 2003 इस C: \ दस्तावेज़ और सेटिंग्स \ सभी उपयोगकर्ता \ Application Data \
0

मैं मैं फ़ोल्डर (विशेष रूप से आभासी निर्देशिका घर फ़ोल्डर के बाहर) पर अनुमतियों को संशोधित करने की स्थिति में नहीं हूं, और पहले से ही एक App_Data फ़ोल्डर नहीं है, इसलिए इसके साथ जाने में थोड़ा संकोच नहीं है।

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

0

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

+0

या लॉग पार्सर लिज़र के साथ, यह लॉगपार्सर के लिए एक बढ़िया जोड़ा है, फाइल सिस्टम समेत लगभग सभी चीज़ों के लिए एसक्यूएल-जैसी वाक्यविन्यास का समर्थन करता है। – jhexp

0

ऐप_डाटा सबसे अच्छा विचार है, केवल परियोजनाओं को प्रकाशित करते समय, ध्यान दें, अगर "प्रकाशन से पहले सभी मौजूदा फाइलों को हटाएं" विकल्प चुना गया है, तो फ़ोल्डर में वर्तमान डेटा समाप्त हो जाएगा। वर्कअराउंड ऐप_डाटा फ़ोल्डर को हटाने को छोड़ना है।

लॉगिंग करने का एक अन्य विकल्प लॉग 4नेट जैसे कुछ मौजूदा ढांचे का उपयोग करना है।