Phân tích nhật ký

Dán nhật ký thô — JSON, logfmt, web access, syslog hay văn bản thuần — và nhận dấu thời gian, mức độ, ngoại lệ cùng các trường chính mà không cần viết mẫu.

Cách sử dụng

  1. Dán một đoạn nhật ký hoặc mở tệp .log / .txt trên máy. Quá trình phân tích bắt đầu ngay — không có nút Chạy — và mỗi dòng lần lượt được kiểm tra theo thứ tự JSON, logfmt, web access, syslog rồi tới văn bản mở đầu bằng dấu thời gian hoặc mức độ.
  2. Đọc phần tóm tắt trước: khoảng thời gian, số lượng theo mức độ, ngoại lệ, định dạng nhận diện và các khóa trường phổ biến nhất. Phần tóm tắt luôn bao gồm mọi sự kiện.
  3. Bấm vào một chip mức độ hoặc nhập vào ô tìm kiếm để thu hẹp danh sách; hai bộ lọc kết hợp với nhau. Bấm vào bất kỳ dòng nào để mở rộng toàn bộ thông điệp, mọi trường, ngăn xếp ngoại lệ và dòng gốc, rồi sao chép hoặc tải các sự kiện đã lọc dưới dạng JSON.

Ví dụ

Nhật ký thô

2026-10-20T13:55:36.123Z INFO [gateway] request received path=/api/orders user_id=4821
{"@timestamp":"2026-10-20T13:55:37.004Z","level":"error","service":"payment","message":"Charge failed","order_id":"A-1042","user_id":4821}
127.0.0.1 - alice [20/Oct/2026:13:55:38 +0000] "POST /api/orders HTTP/1.1" 502 187 "-" "curl/8.5.0"
2026-10-20 13:55:40,512 ERROR [order-service] Unhandled exception
java.lang.IllegalStateException: gateway timeout
    at com.acme.Order.submit(Order.java:42)

Tóm tắt đã phân tích

Sự kiện: 4 · Dòng: 6
Khoảng thời gian: 2026-10-20T13:55:36.123Z → 2026-10-20T13:55:40.512 (trộn múi giờ)
Mức độ: thông tin 1 · lỗi 3
Ngoại lệ: 1
Định dạng: JSON 1 · Web 1 · Văn bản 2
Trường: path 2 · user_id 2 · bytes 1 · client 1 · method 1 · order_id 1 · protocol 1 · status 1

Dòng JSON là một sự kiện; dòng tên lớp Java và ngăn xếp của nó là các dòng nối tiếp của sự kiện ERROR phía trên. Dòng văn bản không có múi giờ được so sánh như giờ đồng hồ nguyên văn, nên khoảng thời gian được ghi là trộn múi giờ. HTTP 502 được tính là lỗi; mã trạng thái vẫn hiện dưới dạng mức độ gốc.

Quy tắc, giới hạn và các vấn đề đã biết

  • Việc nhận diện diễn ra theo từng dòng và theo thứ tự: JSON (mỗi dòng một đối tượng), logfmt (ít nhất hai cặp key=value), log truy cập Apache/Nginx dạng common hoặc combined, syslog RFC 5424/3164, rồi tới văn bản có dòng mở đầu bằng dấu thời gian hoặc mức độ được hỗ trợ. Mọi thứ khác được giữ thành sự kiện văn bản thuần — không dòng nào bị bỏ.
  • Chỉ những dấu thời gian rõ ràng mới được chuẩn hóa: ISO 8601, ngày ghi năm trước, giờ trong log truy cập Apache và Unix giây hoặc mili giây. 03/04/2026, giá trị chỉ có ngày và syslog không ghi năm giữ nguyên văn bản gốc và không có thời gian chuẩn hóa.
  • Phần lẻ của giây bị cắt về mili giây, không bao giờ làm tròn. Độ lệch được giữ nguyên; thời gian không có độ lệch được so sánh như giờ đồng hồ nguyên văn và phần tóm tắt ghi rõ là không kèm múi giờ hoặc trộn múi giờ.
  • Mức độ lấy từ một bộ từ vựng cố định (tiếng Anh cùng các từ tiếng Trung và tiếng Ả Rập), số của pino/bunyan, PRI/severity của syslog, hoặc mã trạng thái HTTP (5xx là lỗi, 4xx là cảnh báo, còn lại là thông tin). Dòng không có mức độ nhận diện được là không rõ, không phải thông tin.
  • Các dòng thụt lề, khung ngăn xếp, Traceback, Exception in thread và Caused by được gắn vào sự kiện phía trước; một dòng trống kết thúc ngăn xếp. Đây là suy đoán — định dạng nhiều dòng không được hỗ trợ có thể cần một dòng trống giữa các bản ghi.
  • Ngoại lệ được nhận diện qua tên lớp kết thúc bằng Exception, Error hoặc Throwable. Caused by sâu nhất được ưu tiên. Các khung không được phân tích, nguyên nhân gốc không được xếp hạng thêm, và không có dịch vụ AI nào được gọi.
  • Danh sách hiển thị tối đa 200 sự kiện khớp. Số đếm, phần tóm tắt, sao chép và tải xuống luôn bao gồm mọi kết quả khớp, và danh sách cho biết khi bị cắt bớt.
  • Giới hạn đầu vào cứng: 5.000.000 ký tự. Trên 500.000 ký tự, quá trình phân tích vẫn chạy, với độ trễ lâu hơn. Một dòng dài hơn 200.000 ký tự được giữ thành văn bản thuần.
  • Không hỗ trợ mảng JSON và JSON nhiều dòng được định dạng đẹp: chỉ một đối tượng mỗi dòng. JSON không hợp lệ, chú thích và dấu phẩy thừa sẽ rơi về văn bản thuần thay vì được sửa lại.
  • Không có gì được tải lên, lưu trữ hay đưa vào URL. Tệp được đọc cục bộ bằng File API của trình duyệt, và việc sao chép/tải xuống chỉ diễn ra khi bạn bấm nút.

Khi nhật ký đã có cấu trúc, đây là những bước thường làm tiếp.