मेरे संगठन में, हमने लॉग इन करने के बारे में कुछ नियम / गिल्ड एक साथ रखे हैं जिन्हें मैं जानना चाहूंगा कि क्या आप जोड़ सकते हैं या टिप्पणी कर सकते हैं।
हम जावा का उपयोग करते हैं, लेकिन आप सामान्य रूप से लॉगगिन के बारे में टिप्पणी कर सकते हैं - नियम और सलाह
सही लॉगिंग स्तर का उपयोग करें
- त्रुटि: कुछ बहुत गलत हो गया है और तुरंत ठीक करने की आवश्यकता है
- चेतावनी: प्रक्रिया को ठीक किए बिना जारी रह सकता है। आवेदन को इस स्तर को सहन करना चाहिए लेकिन चेतावनी की हमेशा जांच होनी चाहिए।
- जानकारी: एक महत्वपूर्ण प्रक्रिया समाप्त होने की सूचना
- डीबग। केवल विकास के दौरान उपयोग किया जाता है
सुनिश्चित करें कि आप जानते हैं कि आप क्या लॉग कर रहे हैं।
इससे बचें कि लॉगिंग एप्लिकेशन के व्यवहार को प्रभावित करता है
लॉगिंग का कार्य लॉग में संदेश लिखने के लिए होना चाहिए।
- लॉग संदेश वर्णनात्मक, स्पष्ट, संक्षिप्त और संक्षिप्त होना चाहिए।
समस्या निवारण के दौरान एक बकवास संदेश का अधिक उपयोग नहीं होता है।
- Log4j में सही गुण लगाएं
उस में रखो सही विधि और वर्ग स्वचालित रूप से लिखा जाता है।
उदाहरण:
Datedfile -web
log4j.rootLogger=ERROR, DATEDFILE
log4j.logger.org.springframework=INFO
log4j.logger.waffle=ERROR
log4j.logger.se.prv=INFO
log4j.logger.se.prv.common.mvc=INFO
log4j.logger.se.prv.omklassning=DEBUG
log4j.appender.DATEDFILE=biz.minaret.log4j.DatedFileAppender
log4j.appender.DATEDFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.DATEDFILE.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p [%C{1}.%M] - %m%n
log4j.appender.DATEDFILE.Prefix=omklassning.
log4j.appender.DATEDFILE.Suffix=.log
log4j.appender.DATEDFILE.Directory=//localhost/WebSphereLog/omklassning/
- लॉग मान।
कृपया एप्लिकेशन से मान लॉग करें।
- उपसर्ग लॉग करें।
राज्य जो आवेदन का हिस्सा है कि लॉगिंग से लिखा है, अधिमानतः परियोजना के लिए कुछ के साथ सहमत उपसर्ग जैसे PANDORA_DB
- पाठ की राशि।
सावधान रहें ताकि बहुत अधिक लॉगिंग पाठ न हो। यह ऐप के प्रदर्शन को प्रभावित कर सकता है।
- लॉगगिंग प्रारूप:
-हालांकि कई वेरिएंट और तरीके log4j के साथ उपयोग करने के लिए हैं, लेकिन हम निम्न प्रारूप का एक समान उपयोग करना चाहते हैं, जब हम अपवादों पर लॉग इन करते हैं:
logger.error("PANDORA_DB2: Fel vid hämtning av frist i
TP210_RAPPORTFRIST", e);
ऊपर दिए गए उदाहरण में यह माना जाता है कि हमने log4j गुण निर्धारित किए हैं ताकि यह स्वचालित रूप से वर्ग और विधि लिख सके।
हमेशा लकड़हारे का उपयोग करें और निम्नलिखित नहीं:
System.out.println(), System.err.println(), e.printStackTrace()
यदि वेब ऐप हमारे ढांचे का उपयोग करता है, तो आप ईजेबी से बहुत विस्तृत त्रुटि जानकारी प्राप्त कर सकते हैं, यदि हैंडलर में ट्राइ-कैच का उपयोग करें और ऊपर दिए गए मॉडल के अनुसार लॉगिंग करें:
हमारी परियोजना में हम इस रूपांतरण पैटर्न का उपयोग करते हैं, जिसके साथ विधि और वर्ग नाम स्वचालित रूप से लिखे जाते हैं। यहाँ हम कंसोल के लिए और datedfileappender के लिए दो अलग-अलग पेटेंट का उपयोग करते हैं:
log4j.appender.CONSOLE.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
log4j.appender.DATEDFILE.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
उपरोक्त दोनों उदाहरणों में विधि और वर्ग wioll को बाहर लिखा जाना चाहिए। कंसोल में पंक्ति संख्या भी हमारी लिखी जाएगी।
toString()
कृपया toString()
प्रत्येक वस्तु के लिए है। पूर्व:
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(" DwfInformation [ ");
sb.append("cc: ").append(cc);
sb.append("pn: ").append(pn);
sb.append("kc: ").append(kc);
sb.append("numberOfPages: ").append(numberOfPages);
sb.append("publicationDate: ").append(publicationDate);
sb.append("version: ").append(version);
sb.append(" ]");
return sb.toString();
}
विशेष विधि के बजाय जो इन आउटपुट को बनाते हैं
public void printAll()
{
logger.info("inbet: " + getInbetInput());
logger.info("betdat: " + betdat);
logger.info("betid: " + betid);
logger.info("send: " + send);
logger.info("appr: " + appr);
logger.info("rereg: " + rereg);
logger.info("NY: " + ny);
logger.info("CNT: " + cnt);
}
तो क्या आप लॉगिंग का उपयोग करने के इन तरीकों से कुछ भी जोड़ सकते हैं, टिप्पणी कर सकते हैं या प्रश्नवाचक हो सकते हैं? यहां तक कि यदि यह जावा, जावा से संबंधित नहीं है, तो भी जवाब देने या टिप्पणी करने के लिए स्वतंत्र महसूस करें, यह तर्क है कि यह कैसे तर्कपूर्ण है।