Việc sử dụng tệp nhật ký trong Python là gì?

Bao gồm đăng nhập vào ứng dụng Python của bạn là điều cần thiết để biết chương trình của bạn làm gì và gỡ lỗi nhanh. Nó cho phép bạn giải quyết một lỗi nhanh chóng và dễ dàng nhất có thể. Chương trình của bạn có thể đăng xuất thông tin hữu ích nhưng làm thế nào nó có thể thông báo cho bạn khi có sự cố xảy ra?

Bài viết này chỉ cho bạn hai cách lưu nhật ký của mình bằng trình xử lý. Đầu tiên là đơn giản nhất; . Cái thứ hai sử dụng HttpHandler để gửi nhật ký của bạn đến điểm cuối HTTP (như API)

Ghi nhật ký Python cho người mới bắt đầu tuyệt đối

Ngừng sử dụng câu lệnh in để gỡ lỗi và chuyển sang thứ gì đó nâng cao hơn

mikehul. trung bình. com

Trước tiên hãy hiểu khái niệm sử dụng trình xử lý khi ghi nhật ký. Như bạn có thể biết, bạn có thể ghi nhật ký một tin nhắn bằng cách tạo một trình ghi nhật ký và sau đó gọi một trong các phương thức ghi nhật ký trên trình ghi nhật ký đó như bên dưới

Khi chúng tôi gọi các phương thức debug, info của error trong ví dụ trên, trình ghi nhật ký của chúng tôi phải xử lý các cuộc gọi ghi nhật ký đó. Theo mặc định, nó chỉ in các thông báo (với một số siêu dữ liệu như được chỉ định với định dạng trong basicConfig) ra bảng điều khiển

Trong các phần bên dưới, chúng tôi thêm nhiều trình xử lý hơn vào trình ghi nhật ký để thực hiện những việc khác với nhật ký. Mỗi trình xử lý, chúng tôi có thể chỉ định cấp độ, trường và định dạng như chúng tôi sẽ thấy bên dưới

Tạo Gói Python riêng, tùy chỉnh mà bạn có thể cài đặt PIP từ Kho lưu trữ Git của mình

Chia sẻ gói Python tự tạo của bạn bằng repo git của bạn

hướng tới khoa học dữ liệu. com

Ví dụ mã - triển khai trình xử lý

Trong bài viết này, chúng tôi sẽ đặt mục tiêu là thêm ba trình xử lý vào trình ghi nhật ký của chúng tôi, mỗi trình có định dạng riêng

  • trình xử lý luồng
    Để in ra bảng điều khiển. Chúng tôi muốn in tất cả nhật ký (_______0 trở lên)
  • trình xử lý tệp
    lưu nhật ký trong tệp. Chúng tôi muốn lưu tất cả nhật ký trừ debug nhật ký
  • Trình xử lý HTTP
    gửi nhật ký qua HTTP (ví dụ: tới API). Chúng tôi chỉ muốn gửi nhật ký errorcritical

Tất cả các bộ ghi này sẽ được cấu hình riêng;

Đa tác vụ trong Python. Tăng tốc chương trình của bạn gấp 10 lần bằng cách thực hiện đồng thời mọi thứ

Hướng dẫn từng bước để áp dụng các luồng và quy trình nhằm tăng tốc mã của bạn

hướng tới khoa học dữ liệu. com

1. Thiết lập logger của chúng tôi

Đầu tiên, chúng tôi sẽ tạo trình ghi nhật ký của chúng tôi, đẹp và đơn giản

Lưu ý rằng chúng tôi không làm bất cứ điều gì với basicConfig nữa. Chúng tôi đặt mức mặc định bằng phương pháp setLevel, tiếp theo chúng tôi sẽ chỉ định định dạng và mức cho từng trình xử lý riêng biệt

Nhật ký trong một luồng (Tôi gần như đã hoàn thành trò đùa về nhật ký) (hình ảnh của Zack Smith trên Bapt)

2. Thêm trình xử lý luồng

Chúng tôi sẽ định cấu hình trình xử lý luồng của mình để gửi nhật ký tới bảng điều khiển của chúng tôi, in nó ra

Lưu ý rằng trước tiên chúng tôi tạo một info0 dành riêng cho trình xử lý luồng. Sau đó, chúng tôi sẽ xác định StreamHandler thực tế, chỉ định rằng chúng tôi muốn xuất ra sys. thiết bị xuất chuẩn (bảng điều khiển) và sau đó chúng tôi đặt trình định dạng thành trình xử lý. Sau đó, chúng tôi thêm trình xử lý vào đối tượng ghi nhật ký

Kết quả

Đầu ra bảng điều khiển của chúng tôi (hình ảnh của tác giả)

Chúng tôi đã in thành công nhật ký vào bảng điều khiển của mình. Kiểm tra cách tạo nhật ký màu vào bảng điều khiển của bạn với bài viết bên dưới

Nhật ký màu cho Python

In thông báo màu vào bảng điều khiển

mikehul. trung bình. com

3. Thêm trình xử lý tệp

Các bước hoàn toàn giống với trình xử lý luồng. Sự khác biệt là chúng tôi chỉ định định dạng khác và cấp độ khác

Kết quả

Các màu được thêm vào do plugin PyCharm (hình ảnh của tác giả)

Mở tệp info1 cho chúng tôi thấy rằng chúng tôi không chỉ viết một tệp, chúng tôi cũng có thể thấy rõ rằng nhật ký có định dạng khác với streamHandler. Cũng lưu ý rằng chúng tôi không lưu nhật ký debug vào tệp. Chính xác như chúng tôi muốn

Khi bạn đã sử dụng trình xử lý tệp trong một thời gian, tệp nhật ký của bạn trở nên khá lớn. Hãy xem bài viết này để giải quyết vấn đề đó

Thủ thuật đơn giản để làm việc với các đường dẫn tương đối trong Python

Tính toán đường dẫn tệp trong thời gian chạy một cách dễ dàng

hướng tới khoa học dữ liệu. com

4. Thêm Trình xử lý HTTP

Các bước không khác nhiều so với lần trước

Một vài dòng mã ngắn này sẽ gửi nhật ký của chúng tôi qua HTTP tới một URL

QUAN TRỌNG. Tuy nhiên, trình xử lý này có một nhược điểm lớn. nó chặn luồng cho đến khi nó hoàn thành yêu cầu. Trong tương lai, tôi sẽ tập trung triển khai trình xử lý ghi nhật ký tùy chỉnh cho trình xử lý HTTP không chặn. Theo dõi tôi và theo dõi

Git cho người mới bắt đầu tuyệt đối. hiểu Git với sự trợ giúp của trò chơi điện tử

Nhận một trực giác về cách sử dụng git với một game nhập vai cổ điển như một sự tương tự

hướng tới khoa học dữ liệu. com

Phần kết luận

Trong bài viết này, chúng tôi đã giới thiệu các trình xử lý cho luồng, tệp và HTTP. Có một số thứ khác mà chúng tôi chưa xử lý như trình xử lý ổ cắm và trình xử lý SMTP. Vì bài viết này đã khá dài nên tôi chưa đề cập đến những điều này trong bài viết này nhưng có lẽ sẽ có trong những bài viết sau nên hãy nhớ theo dõi tôi

Tôi hy vọng mọi thứ đều rõ ràng như tôi hy vọng nhưng nếu đây không phải là trường hợp, vui lòng cho tôi biết tôi có thể làm gì để làm rõ thêm. Trong thời gian chờ đợi, hãy xem các bài viết khác của tôi về tất cả các loại chủ đề liên quan đến lập trình như thế này

Việc sử dụng nhật ký trong Python là gì?

phương thức log() trả về logarit tự nhiên của một số hoặc logarit của số cơ số .

Mục đích của một logger là gì?

Người khai thác gỗ làm việc trong ngành gỗ, chặt cây và bốc chúng lên để vận chuyển . Nhiệm vụ công việc điển hình liên quan đến cắt, trượt và xử lý trước nhật ký. Các khúc gỗ sau đó được xử lý thành ván, giấy và các vật liệu có giá trị khác. Hầu hết những người khai thác gỗ làm việc theo nhóm hai người để hạ gỗ an toàn.