2011-10-12 37 views
97

Cấu trúc phân cấp log4j là gì?log4j logging hierarchy order

DEBUG 
INFO 
WARN 
ERROR 
FATAL 

Cái nào cung cấp khả năng ghi nhật ký cao nhất sẽ hữu ích để khắc phục sự cố? Bất kỳ ai có thể cung cấp thứ tự hoặc thứ bậc trong đó việc ghi nhật ký diễn ra từ cao nhất đến thấp nhất? Cảm ơn!

Trả lời

49
OFF 
FATAL 
ERROR 
WARN 
INFO 
DEBUG 
TRACE 
ALL 
+1

Điều này mâu thuẫn với thông tin được cung cấp tại http://www.tutorialspoint.com/log4j/log4j_logging_levels.htm Điều nào là đúng ??? – Mike

+0

kiểm tra mã có các biến số nguyên cho bằng chứng http://www.docjar.com/html/api/org/apache/log4j/Level.java.html –

+4

tại liên kết của bạn, nó cho biết "TẤT CẢ

119

Sử dụng lực lượng, đọc nguồn (trích đoạn từ PriorityLevel lớp biên soạn, mức TRACE đã được giới thiệu trong phiên bản 1.2.12):

public final static int OFF_INT = Integer.MAX_VALUE; 
public final static int FATAL_INT = 50000; 
public final static int ERROR_INT = 40000; 
public final static int WARN_INT = 30000; 
public final static int INFO_INT = 20000; 
public final static int DEBUG_INT = 10000; 
public static final int TRACE_INT = 5000; 
public final static int ALL_INT = Integer.MIN_VALUE; 

hoặc log4j API for the Level class, mà làm cho nó khá thông thoáng.

Khi thư viện quyết định có in một tuyên bố nhất định hay không, nó tính mức hiệu quả của đối tượng Logger có trách nhiệm (dựa trên cấu hình) và so sánh nó với cấp độ của LogEvent (tùy thuộc vào phương pháp nào được sử dụng trong mã số – theo dõi/gỡ lỗi/.../ fatal). Nếu mức của LogEvent lớn hơn hoặc bằng mức của Logger, thì LogEvent sẽ được gửi đến (các) phụ trang – "đã in". Ở cốt lõi, tất cả đều tóm tắt so sánh số nguyên và đây là nơi các hằng số này hoạt động.

+19

" Sử dụng lực, đọc nguồn " – user1782556

+7

Được thăng hạng để ** sử dụng lực, đọc nguồn **. – Jay

10

[Trích từ http://javarevisited.blogspot.com/2011/05/top-10-tips-on-logging-in-java.html]

DEBUG là hạn chế thấp nhất java mức khai thác gỗ và chúng ta nên viết tất cả những gì chúng ta cần phải gỡ rối một ứng dụng, chế độ java logging này chỉ nên được sử dụng trên môi trường phát triển và thử nghiệm và không được sử dụng trong môi trường sản xuất.

INFO bị hạn chế hơn mức ghi nhật ký DEBUG java và chúng tôi nên ghi nhật ký thông tin như Server đã được khởi động, thư đến, thư đi, v.v. trong đăng nhập cấp độ INFO trong java.

WARN bị hạn chế hơn mức ghi nhật ký của INFO java và được sử dụng để ghi nhật ký các loại thông báo cảnh báo, ví dụ: Mất kết nối giữa máy khách và máy chủ. Mất kết nối cơ sở dữ liệu, Socket đạt đến giới hạn của nó. Các thông báo này và mức ghi nhật ký java gần như quan trọng vì bạn có thể thiết lập cảnh báo về các thông điệp ghi nhật ký này trong java và để nhóm hỗ trợ của bạn theo dõi tình trạng của ứng dụng java của bạn và phản ứng trên thông báo cảnh báo này. Trong Tóm tắt mức WARN được sử dụng để ghi lại thông báo cảnh báo để đăng nhập vào Java.

ERROR là mức ghi nhật ký java bị hạn chế nhiều hơn WARN và được sử dụng để ghi lỗi và ngoại lệ, bạn cũng có thể thiết lập cảnh báo về cấp độ đăng nhập java này và nhóm giám sát cảnh báo để phản hồi về thư này. L ERI là nghiêm trọng cho việc đăng nhập vào Java và bạn nên luôn luôn in nó.

Mức ghi nhật ký lỗi FAT chỉ định các sự kiện lỗi rất nghiêm trọng có thể dẫn đến ứng dụng bị hủy. Sau này chủ yếu là ứng dụng của bạn bị treo và dừng lại.

TẮT mức đăng nhập java có thứ hạng cao nhất có thể và được thiết kế để tắt đăng nhập bằng Java.

17

Hierarchy mức logging log4j như sau trong cao nhất để đặt hàng thấp nhất:

  • TRACE
  • DEBUG
  • INFO
  • WARN
  • LỖI
  • Fatal
  • OFF

Cấp độ nhật ký TRACE cung cấp khả năng ghi nhật ký cao nhất sẽ hữu ích trong việc khắc phục sự cố. Mức độ đăng nhập DEBUG cũng rất hữu ích khi gặp sự cố khi chụp các vấn đề.

Bạn cũng có thể tham khảo link này để biết thêm thông tin về mức độ đăng nhập: https://logging.apache.org/log4j/2.0/manual/architecture.html

122

Bảng này có thể hữu ích cho bạn:

Log Level

Đi xuống cột đầu tiên, bạn sẽ thấy như thế nào "hiển thị" hoạt động cho từng mục. tức là đối với WARN, (FATAL, ERROR và WARN) sẽ hiển thị. Đối với TẮT, không có gì hiển thị.

+0

Các điều khoản * mức độ hiển thị * và * mục * không tự giải thích. Tôi thấy rằng tài liệu chính thức cũng mơ hồ về điều này. Phương thức đầu ra như 'error',' info', 'debug', v.v. của trình ghi nhật ký gán mức ưu tiên/mức độ nghiêm trọng cho thông điệp ghi nhật ký. Nếu việc ghi nhật ký thực sự có hiệu lực (thông báo sẽ hiển thị) phụ thuộc vào mức ghi nhật ký hiệu quả của bộ ghi đang được sử dụng. – Wolf