Hướng dẫn sử dụng logging trong Python cho debugging
tsudev· 12/10/2026
Giới thiệu về logging trong Python
Khi viết code, việc sử dụngprint() để debug là một thói quen phổ biến. Tuy nhiên, cách này có nhiều hạn chế, đặc biệt là khi dự án trở nên phức tạp. Logging trong Python cung cấp một giải pháp tốt hơn để quản lý và theo dõi các thông điệp lỗi.
Logging cho phép bạn phân loại các thông điệp theo mức độ nghiêm trọng, từ DEBUG đến CRITICAL. Điều này giúp bạn tập trung vào các vấn đề quan trọng và bỏ qua các thông tin không cần thiết. Ngoài ra, logging cũng hỗ trợ việc ghi lại thông tin vào file, giúp bạn theo dõi và phân tích các vấn đề một cách dễ dàng hơn.
Cài đặt và cấu hình logging
Để sử dụng logging trong Python, bạn cần import mô-đunlogging và cấu hình nó. Bạn có thể cấu hình logging bằng cách sử dụng hàm basicConfig() hoặc tạo một logger tùy chỉnh.
Ví dụ, bạn có thể cấu hình logging như sau:
python
import logging
logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')Trong ví dụ trên, chúng ta đã cấu hình logging để hiển thị các thông điệp có mức độ nghiêm trọng từ DEBUG trở lên. Định dạng của thông điệp bao gồm thời gian, mức độ nghiêm trọng và nội dung thông điệp.
Sử dụng logging thay thế print()
Sau khi cấu hình logging, bạn có thể sử dụng các hàm logging để thay thếprint(). Ví dụ, bạn có thể sử dụng logging.debug() để hiển thị các thông điệp debug, logging.info() để hiển thị các thông điệp thông tin, logging.warning() để hiển thị các thông điệp cảnh báo, logging.error() để hiển thị các thông điệp lỗi và logging.critical() để hiển thị các thông điệp quan trọng.
Ví dụ, bạn có thể sử dụng logging như sau:
python
import logging
logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')
def add(a, b):
result = a + b
logging.debug(f"Kết quả của {a} + {b} là {result}")
return result
result = add(2, 3)
logging.info(f"Kết quả cuối cùng là {result}")Trong ví dụ trên, chúng ta đã sử dụng
logging.debug() để hiển thị các thông điệp debug và logging.info() để hiển thị các thông điệp thông tin.
Ưu điểm của logging
Logging có nhiều ưu điểm so với việc sử dụngprint(). Một số ưu điểm chính bao gồm:
* Quản lý và theo dõi các thông điệp lỗi một cách hiệu quả hơn
* Phân loại các thông điệp theo mức độ nghiêm trọng
* Ghi lại thông tin vào file để theo dõi và phân tích các vấn đề
* Tối ưu hóa code bằng cách bỏ qua các thông tin không cần thiết
Kết luận
Logging trong Python là một công cụ mạnh mẽ để quản lý và theo dõi các thông điệp lỗi. Với logging, bạn có thể cải thiện khả năng debug và tối ưu hóa code. Để bắt đầu sử dụng logging, bạn cần import mô-đunlogging, cấu hình nó và sử dụng các hàm logging để thay thế print(). Hãy nhớ rằng logging là một phần quan trọng của quy trình phát triển phần mềm, và việc sử dụng nó một cách hiệu quả sẽ giúp bạn trở thành một lập trình viên tốt hơn.
Nguồn: https://dev.to/sameerqaisar17/python-logging-how-to-stop-using-print-for-debugging-54b6