Hai đề xuất.
Đầu tiên: để ghi nhật ký thực, sử dụng gói ghi nhật ký hiện đại như log4j hoặc ghi nhật ký riêng của java. Đừng lo lắng về hiệu suất rất nhiều, kiểm tra mức độ đăng nhập là theo thứ tự của nano giây. (đó là một so sánh số nguyên).
Và nếu bạn có nhiều hơn một tuyên bố đăng nhập duy nhất, bảo vệ toàn bộ khối:
(log4j, ví dụ :)
if (logger.isDebugEnabled()) {
// perform expensive operations
// build string to log
logger.debug("....");
}
này cho phép bạn thêm các ghi chép kiểm soát khả năng khi chạy. Việc khởi động lại và chạy một bản dựng gỡ lỗi có thể rất bất tiện.
Thứ hai:
Bạn có thể tìm assertions có nhiều những gì bạn cần. Một khẳng định là một tuyên bố mà đánh giá đến một kết quả boolean, với một thông báo tùy chọn:
assert (sky.state != FALLING) : "The sky is falling!";
Bất cứ khi nào kết quả khẳng định trong một sai lầm, sự khẳng định thất bại và một AssertionError được ném chứa thông điệp của bạn (đây là một ngoại lệ được kiểm soát, dự định thoát khỏi ứng dụng).
Điều gọn gàng là, chúng được xử lý đặc biệt bởi JVM và có thể chuyển đổi khi chạy xuống cấp lớp, sử dụng tham số VM (không cần biên dịch lại). Nếu không được kích hoạt, không có phí trên không.
Nguồn
2008-08-28 12:46:23
Dưới đây là cách bật xác nhận trong Eclipse: [link] (http://www.coderanch.com/t/416987/vc/enable-Assertions-eclipse) –
Đây không phải là câu trả lời. Nó không giải thích làm thế nào để làm cho các câu lệnh 'biến mất' cho trình biên dịch (do đó không hiển thị trong tệp lớp). Bạn có một số thông tin về điều đó không? –