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ụng print() để 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ô-đun logging 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ụng print(). 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ô-đun logging, 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