Loggger có nên được khai báo static hay không? Thông thường tôi đã thấy hai kiểu khai báo cho trình ghi nhật ký:
bảo vệ Log log = new Log4JLogger (aClass.class);
hoặc là
private static Log log = new Log4JLogger (aClass.class);
Cái nào nên được sử dụng? chuyên nghiệp và con của cả hai là gì?
static
là một tham chiếu cho mỗi lớp. non-static là một tham chiếu cho mỗi trường hợp (+ khởi tạo). Vì vậy, trong một số trường hợp, phần sau có tác động đáng kể đến bộ nhớ nếu bạn có rất nhiều trường hợp. Không bao giờ sử dụng không tĩnh trong một đối tượng thường xuyên . Tôi luôn sử dụng phiên bản tĩnh. (mà phải được uppercased LOG
)
private static final Log log
là chữ thường. Bộ ghi nhật ký không phải là một hằng số, bộ ghi nhật ký là một đối tượng cuối cùng tĩnh (có thể bị thay đổi). Cá nhân tôi luôn sử dụng logger
.