पहले log4j Manual पढ़ते हैं, यह आसान है रोलिंग लॉग फ़ाइल को कॉन्फ़िगर करने के लिए। आपको कोई स्पष्ट फ़ाइल ऑपरेशन करने की ज़रूरत नहीं है।
#SET LEVEL of ROOT-LOGGER, you will like to have Debug in local, but in prod you may just want WARN and ABOVE. This setting is done here!
log4j.rootLogger=debug, stdout, R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller's file name and line number. (basically, format of log)
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
# THIS IS WHERE YOU WILL HAVE ALL THE LOG WRITTEN
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=/var/log/applogs/example.log
# Maximum size of log file, usually we keep 10MB
log4j.appender.R.MaxFileSize=100KB
# Keep one backup file, usually we keep 10
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
दूसरा, जब भी आप एक अपवाद को पकड़ने, यह मैनुअल पढ़ने लायक इस
public class MyClass{
private static Logger logger = Logger.getLogger(MyClass.class);
public ReturnType myMethod(Param p, Param2 p2) {
....
....
try {
..
} catch(MyException e) {
logger.log("Exceptions happen!", e); //this will put all the details in log file configured earlier
}
....
}
....
}
तरह से करते हैं। यहां तक कि Complete log4j Manual
और अनचेक अपवाद प्रकट होने पर मैं क्या करूँ? मैं कैसे सुनिश्चित कर सकता हूं कि लॉगिंग को सब कुछ भेजा जाएगा? – Blauhirn
* सबकुछ * पकड़ने के लिए 'थ्रोबल' का उपयोग करें। हालांकि सलाह नहीं दी जाती है। आप इन पदों को पढ़ना चाह सकते हैं: 1. http://stackoverflow.com/questions/6115896/java-checked-vs-unchecked-exception-explanation 2. http://stackoverflow.com/questions/2274102/difference-between -using-फेंकने योग्य और अपवाद-में-एक-कोशिश-पकड़ – Nishant
@ निशांत लॉग फ़ाइल कहां स्थित होगी ?? क्या यह अपाचे फ़ोल्डर के अंदर है? – KJEjava48