Log.INFO so với Log.DEBUG [đã đóng]


96

Tôi đang phát triển một chương trình thương mại lớn và cứ nhầm lẫn giữa loại thông tin tôi muốn ghi bằng Log.INFO và Log.DEBUG. Có bất kỳ tiêu chuẩn hoặc quy tắc chung nào về nội dung mà mỗi loại thông báo nhật ký chứa không?

Câu trả lời:


132

Tôi thường cố gắng sử dụng nó như thế này:

  • GỠ LỖI: Thông tin thú vị cho Nhà phát triển khi cố gắng gỡ lỗi sự cố.
  • THÔNG TIN: Thông tin thú vị dành cho Nhân viên hỗ trợ đang cố gắng tìm ra bối cảnh của một lỗi nhất định
  • CẢNH BÁO VỀ CHẤT BÉO: Các vấn đề và lỗi tùy thuộc vào mức độ thiệt hại.

INFO có thể luôn được kích hoạt trong quá trình sản xuất không, liệu nó có ảnh hưởng gì đến hiệu suất không?
pinkpanther

1
Nó phụ thuộc vào .. (Tôi thích câu trả lời đó) Các yếu tố bạn cần phải tính đến là: 1. Số lượng dòng ghi thông tin 2. Thiết lập ghi nhật ký (dòng ghi nhật ký của bạn kết thúc ở đâu?) 3. Xử lý có sẵn và bật nguồn hệ thống liên quan.
nfechner

1
Và hãy lưu ý rằng càng nhiều tiếng ồn thì càng khó phát hiện ra các vấn đề. Từ plumberjack.blogspot.be/2010/09/… :> Chung với triết lý Unix, phần mềm không nên dài dòng quá mức trừ khi nó cần hoặc được yêu cầu. (tại sao tôi không thể được trích dẫn này?)
axd

38

Gỡ lỗi : các câu lệnh chi tiết liên quan đến trạng thái chương trình, thường được sử dụng để gỡ lỗi;

Thông tin : các tuyên bố thông tin liên quan đến trạng thái chương trình, đại diện cho các sự kiện chương trình hoặc theo dõi hành vi;

Cảnh báo : các câu mô tả các sự kiện hoặc trạng thái có thể gây hại trong chương trình;

Lỗi : các câu mô tả các lỗi không nghiêm trọng trong ứng dụng; mức này được sử dụng khá thường xuyên để ghi nhật ký các ngoại lệ được xử lý;

Fatal : các câu lệnh đại diện cho các điều kiện lỗi nghiêm trọng nhất, được cho là dẫn đến kết thúc chương trình.

Tìm thấy trên http://www.beefycode.com/post/Log4Net-Tutorial-pt-1-Getting-Started.aspx


Các lỗi do người dùng nhập liệu có nên được coi là cảnh báo hay lỗi không? (Tên người dùng hoặc mật khẩu IE không chính xác)
Stevoisiak

@Stevoisiak dựa trên câu trả lời của anh ấy, tôi đoán nó nên được coi như một thông tin.
aderchox

9

Cũng nên nhớ rằng tất cả info(), error()debug()các cuộc gọi đăng nhập cung cấp tài liệu nội bộ trong bất kỳ ứng dụng.


Tôi nghĩ đó là một điểm tốt. Ví dụ: log.info("parse the widget text; ignore contents of 'foo'")đóng vai trò là tài liệu hữu ích khi đọc mã, mặc dù nó cũng là một câu lệnh nhật ký.
Hầm
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.