Trình định dạng tùy chỉnh ghi nhật ký python
Mã nguồn trong bài viết này được tổng hợp từ nhiều nguồn khác nhau kết hợp với mã của cá nhân, đối với mã được tổng hợp về việc các bạn có thể tham khảo nguồn ở đường liên kết chú thích trong mã hoặc tham khảo liên kết ở cuối bài viết Show Thói quen của mình và cũng có thể là thói quen của nhiều người lúc mới học Python cũng như khi viết những script nhỏ để lấy thông tin chương trình lúc runtime đó là sử dụng 7, 7 ở bất cứ đâu và bất cứ khi nào. Thường thì chương trình sẽ có nhiều lệnh in như thế này
Tuy nhiên, khi chương trình lớn dần lên, một vấn đề khá đau đầu khi sinh ra đó là thông tin được in ra khá điên loạn, không được phân loại, mất thời gian xác định cũng như giảm hiệu suất của chương trình. Hàm in mặc định sẽ xuất nội dung ra 9 và nội dung đăng nhập ra thường rất hay bị nhầm lẫn với dữ liệu khácGiải pháp mình muốn giới thiệu trong bài viết này đó là sử dụng ghi nhật ký mô-đun. Đây là mô-đun tiêu chuẩn (được đóng gói kèm theo bộ cài đặt mặc định) giúp Python phát triển cộng đồng, dễ dàng sử dụng và cực kỳ linh hoạt. Logging cung cấp cho lập trình viên những tiện ích như
Lập trình viên có thể chọn các mức độ sau khi viết nhật ký nội dung, các bảng liệt kê được liệt kê có mức độ quan trọng lớn dần MứcNội dungDEBUGThông tin chi tiết, thường là thông tin để tìm lỗiINFOThông báo thông thường, các thông tin ra khi chương trình chạy theo đúng kịch bảnCẢNH BÁOThông báo khi sự cố bất thường hoặc lỗi có thể xảy ra, tuy nhiên chương trình vẫn có thểUse module logging cơ bảnVí dụ đơn giản nhất khi sử dụng ghi nhật ký
Mặc định, mức thông báo sẽ được đặt ở mức 0. Các thông báo có mức dưới đây ( 1, 2) vì như vậy sẽ không được đưa ra. Để thay đổi mức độ này, bạn chỉ cần thiết lập lại thông số mức ghi nhật ký như sau
You can also log ra file
Nội dung in ra sẽ tương tự như khi bạn ra bảng điều khiển 0Cần lưu ý là nhật ký nội dung mới sẽ ghi kết nối tiếp vào cùng 1 tệp với nhật ký nội dung cũ (lần chạy trước đó), trong trường hợp nội dung cũ không còn quan trọng nữa, có thể thiết lập để ghi nhật ký luôn tạo nhật ký mới bằng 2Một ví dụ phức tạp hơn về việc sử dụng hỗn hợp các log với các mức độ khác nhau 3Log ra nhiều nguồn cùng lúcViệc sử dụng logger cơ bản chỉ cho phép chúng ta đăng nhập ra một nguồn tại một thời điểm, trong ví dụ trên, khi đặt 4 thì giao diện điều khiển sẽ không ghi nhật ký vào nội dung nữa. Một cách cho phép lập trình viên thực hiện công việc trong nhật ký ra nhiều nguồn khác nhau, đó là sử dụng 5, tham khảo ví dụ trong nhật ký ra 6 sau 7Đoạn mã trên sẽ tạo nhật ký tệp và trong nội dung đăng nhập vào tệp tương tự như việc bổ sung cấu hình 7, để trong bảng điều khiển đồng thời, bạn thêm 8 như sau 0Ngoài 6 và 8, ghi nhật ký còn hỗ trợ rất nhiều xử lý khác nữa. Chi tiết ở đâyTrong biến nội dungĐể trong biến nội dung, bạn chỉ cần đưa định dạng chuỗi vào sau đó truyền các biến tương ứng với định dạng trong đối số. Xem ví dụ sau để hiểu rõ hơn 3Chú ý là bạn không cần định dạng chuỗi trước khi truyền vào hàm 1 vì 2 sẽ tự làm công việc này. Có nghĩa là công việc bạn viết. 3 hoàn toàn thừaĐịnh dạng nội dung và thêm các thông tin chi tiết về nhật kýLogging cho phép thêm các thông tin chi tiết hơn về chương trình khi gọi log as. Vị trí gọi log (dòng mã), tên module gọi log, file đang chạy A full config could as after 0In the information will like after 1Việc phân loại chi tiết như trên rất hữu ích khi bạn phải phân tích các tệp nhật ký dài, khi đó bạn có thể sử dụng các chương trình soạn thảo mã để lọc hoặc tìm kiếm các thông tin tương ứng một cách nhanh chóng Ghi nhật ký trong ngoại lệ (trong thông tin Traceback)Việc ghi nhật ký ra khi có ngoại lệ là rất cần thiết, tuy nhiên ghi nhật ký ra mà không có thông tin chi tiết về ngoại lệ đó thì không có ý nghĩa lắm. Để bổ xung thông tin khi bắt được ngoại lệ, chúng ta chỉ cần thêm cấu hình 4 2In ra 3You can also call 5, have the function in tương đương với 6Sử dụng ghi nhật ký trong nhiều mô-đunNếu phần mềm của bạn có nhiều mô-đun thì đây là một cách đơn giản để thiết lập hệ thống ghi nhật ký xuyên suốt cả phần mềm 4Trong module 5Kết quả 6Kết hợp với định dạng công việc ghi nhật ký nội dung như đã nêu trước đó, bạn có thể vào thông tin nhật ký được gọi từ mô-đun nào Trên đây là mô tả một số ví dụ đơn giản về việc sử dụng ghi nhật ký, bạn có thể khám phá thêm một số tính năng phức tạp hơn của việc ghi nhật ký ở đó. |