Trong bài viết này, chúng ta sẽ tìm hiểu về module logging trong Python và các mức độ nghiêm trọng (severity levels) trong việc ghi nhật ký ứng dụng.
Trước tiên, cần import module logging, sau đó sử dụng logger để kiểm tra trạng thái và ghi log. Có 5 mức độ nghiêm trọng chính:
- DEBUG - Thông tin chi tiết cho việc gỡ lỗi
- INFO - Xác nhận mọi thứ hoạt động như mong đợi
- WARNING - Cảnh báo về vấn đề tiềm ẩn
- ERROR - Lỗi nghiêm trọng hơn, chức năng không hoạt động
- CRITICAL - Lỗi rất nghiêm trọng, chương trình có thể dừng chạy
Module logging cho phép bắt đầu ngay lập tức mà không cần cấu hình thủ công.
Ví dụ cơ bản
import logging
logging.debug('Một thông báo debug')
logging.info('Một thông báo info')
logging.warning('Một cảnh báo')
logging.error('Một thông báo lỗi')
logging.critical('Một thông báo critical')
Kết quả
WARNING:root: Một cảnh báo ERROR:root: Một thông báo lỗi CRITICAL:root: Một thông báo critical
Mặc định, các thông báo DEBUG và INFO không được ghi log. Để hiển thị chúng, cần cấu hình thủ công.
Cấu hình cơ bản với basicConfig()
Sử dụng tham số level để đặt mức độ log tối thiểu được ghi nhận.
Ví dụ
import logging
logging.basicConfig(level=logging.DEBUG)
logging.debug('Đây sẽ được ghi log')
Kết quả
DEBUG:root: Đây sẽ được ghi log
Với cấu hình này, tất cả các mức độ từ DEBUG trở lên sẽ được ghi nhận.
Ghi log ra file thay vì console
Ví dụ
import logging
logging.basicConfig(
filename='app.log',
filemode='w',
format='%(name)s - %(levelname)s - %(message)s'
)
logging.warning('Điều này được ghi vào file')
Kết quả (trong file app.log)
root - WARNING - Điều này được ghi vào file
Tham số filemode='w' mở file ở chế độ ghi đè. Mặc định là chế độ append ('a').
Kết luận
Trong bài viết này, chúng ta đã tìm hiểu về logging trong Python và các mức độ logging có sẵn.