Đầu đọc log4j Manual, thật dễ dàng để định cấu hình tệp nhật ký cán. Bạn không phải thực hiện bất kỳ thao tác tệp rõ ràng nào.
#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
Thứ hai, bất cứ khi nào bạn bắt một ngoại lệ, làm như thế này
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
}
....
}
....
}
Nó đáng đọc hướng dẫn. Thậm chí tốt hơn hãy đọc Complete log4j Manual
và tôi phải làm gì khi các ngoại lệ không được kiểm tra xuất hiện? Làm thế nào tôi có thể chắc chắn rằng mọi thứ sẽ được gửi đến logger? – Blauhirn
Sử dụng 'Throwable' để bắt * mọi thứ *. Không nên mặc dù. Bạn có thể muốn đọc các bài đăng sau: 1. http://stackoverflow.com/questions/6115896/java-checked-vs-unchecked-exception-explanation 2. http://stackoverflow.com/questions/2274102/difference-between -using-throwable-and-exception-in-a-try-catch – Nishant
@Nishant Tệp nhật ký sẽ ở đâu? Nó nằm trong thư mục apache? – KJEjava48