मेरे पास निम्न लॉगर क्लास है:
मॉड्यूल ऐप्लॉगर @@ _ लॉगर्स = {} def self.logger; self._creater_logger ( "my_app_name"); End def self._creater_logger (name) @@_loggers [name] || = $ 0 == "irb"? लकड़हारा.नई (एसटीडीओओटी): लकड़हारा.नई (रेलस्क्रिप्ट.जोइंड ("लॉग", रेल .एनआईवी + "। # {नाम} .log")) अंत डीईफ़ self.format_exception (e) "# {e.message } [[\ N \ t \ t # {e.backtrace.split ("\ n")। मैप {| l \ "\ t \ t # {l}"} .join ("\ n")}]] "एंड एंड और इसका इस्तेमाल करने के लिए:
AppLogger.logger.info (msg) क्या है प्रत्येक लॉग पंक्ति में स्वचालित रूप से टाइमस्टैम्प जोड़ने का एक तरीका (मैन्युअल रूप से इसे हर कॉल में लॉगर में जोड़ने के लिए)?
आप अपने वर्ग के सिंगलटन को फिर से परिभाषित कर सकते हैं और लॉगिंग स्तरों के सभी या कुछ स्तर जोड़ सकते हैं।
% w (डिबग जानकारी चेतावनी त्रुटि घातक) .each do | level | Eval & lt; & lt; -end_eval def applogger.logger। # {Level} (message = "", और blk) अगर संदेश == "और block_given? संदेश = blk.call end सुपर (& lt; आप समय की स्टाम्प & gt;) {message} अंत अंत_एवल अंत असल में जो भी आपके दिल सुपर विधि में इच्छाएं जोड़ते हैं
मैंने इस कोड को मेरे पुराने ब्लॉग पोस्ट से पकड़ा था, जहां मुझे अपने लॉगर पर कस्टम जानकारी जोड़नी थी जिसे आप अधिक जानकारी के लिए देख सकते हैं।
Comments
Post a Comment