Trăn đuôi dài
Trong quá trình vận hành và sử dụng phần mềm, "phần mềm" cũng có lúc khỏe lúc nhẹ, lúc hoạt động trơn tru, lúc lại nhão dẹo. Vì vậy, có những cách nào để "phần mềm" thông báo trạng thái hoạt động của mình với người dùng, IT-OP, lập trình viên? Show Tại sao must set log ?Thông thường trong quá trình xây dựng và phát triển phần mềm, các thành viên lập trình sẽ đặt các câu lệnh Vì vậy, muốn kiểm tra lỗi của phần mềm thì IT-OPs/Dev phải làm thế nào? Nếu bạn mang câu hỏi này đi hỏi các lập trình viên có kinh nghiệm, câu trả lời dễ tìm thấy là "Ghi lỗi vào tệp nhật ký để có lỗi còn biết mà kiểm tra & sửa lỗi chứ" ( Vấn đề là khi đi "ăn vạ" Một số lập trình viên có thói quen đặt câu lệnh in ra màn hình bảng điều khiển các thông tin trong quá trình ứng dụng chạy để "gỡ lỗi chạy", trước khi phát hành thì thực hiện "xào" (thực hiện chuyển lệnh thành nhận xét) hoặc xóa . Thật là mất thời gian và nếu có sai sót lại mất thêm cả thời gian để sửa lỗi Tệp nhật ký phải chỉ để ghi lỗi?Tệp nhật ký thường được ưu tiên đầu tiên để ghi vào lỗi nhưng có những hệ thống đặc biệt, bên ngoài nhật ký lỗi thì tệp nhật ký còn có thể chứa các thông tin liên quan đến hành động của người dùng vào hệ thống. Qua hai mục đầu trên, chúng ta đã thấy tầm quan trọng của tệp nhật ký, vậy đặt nhật ký như thế nào để đạt hiệu quả và dễ dàng khai thác thông tin sau này? Ghi log thế nào cho hiệu quả?1. Nhật ký định dạngĐể sử dụng nhật ký đạt hiệu quả, trong mỗi nhóm hoặc mỗi công ty cần có một tiêu chuẩn đặt nhật ký của họ để dễ dàng sử dụng sau khi thu thập nhật ký về một hệ thống lưu trữ chung Một cụm log nên chứa các thông tin sau
Ví dụ. Một kiểu định dạng nhật ký như sau.
02. Log-level note noteNhư đã viết ở trên, log-level đã được định nghĩa và sử dụng tùy mục đích mục đích sử dụng và phân loại của từng công ty. Dưới đây là một cách định nghĩa (mà các bạn có thể tham khảo) GỠ LỖI. Ví dụ. Hệ thống dữ liệu trên PRODUCTION thường lớn hơn nhiều so với DEVELOPING nên lượng trường hợp xảy ra khi áp dụng dữ liệu vào phần mềm cũng nhiều hơn. Các trường hợp thử nghiệm có thể chưa bao gồm các chỉ số được hết các lỗi --> Việc đặt gỡ lỗi có thể giúp nhà phát triển/người thử nghiệm có thể giả lập lại được chính xác toàn bộ tác vụ, quy trình làm việc của cụm dữ liệu khi đi vào/đi ra khỏi THÔNG TIN. CẢNH BÁO (CẢNH BÁO). LỖI. Ví dụ. Khách hàng thanh toán tiền cho dịch vụ A nhưng không thể trừ tiền của khách hàng do hệ thống thanh toán đang quá tải. Mỗi LỖI sẽ được ghi vào log-files để sau này có thể phản đối việc kiểm soát bị lỗi quá tải đã gây ảnh hưởng đến bao nhiêu khách hàng FATAL/CRITICAL. Ví dụ. Ghi chú. Với các dạng trường hợp này, ngoài việc ghi vào tệp nhật ký thì nên thực hiện thông báo trực tiếp qua các kênh truyền thông với IT-Ops hoặc nhà phát triển 3. Hỗ trợ ghi thư viện ?Một thành viên lập trình, việc ghi nhật ký theo định dạng như trên là một thử nghiệm khác về định dạng chuỗi, định dạng thời gian,. Với ngôn ngữ lập trình Python, không cần thiết phải cài đặt/thêm thư viện giảm của cơ sở thứ 3 vào dự án của mình. Mọi thứ đã có sẵn trong ghi nhật ký mô-đun. Việc lập trình viên chỉ là nhập vào sử dụng Set log with logging trong pythonNgôn ngữ lập trình Python cung cấp một mô-đun cho phép các thành viên lập trình thực hiện việc đặt nhật ký trong ứng dụng của mình đang ghi nhật ký.
Chúng ta sẽ cùng nhau khám phá về việc ghi nhật ký qua các ví dụ dưới đây nhé! 1. Đặt nhật ký, nhập dữ liệu vào màn hình bảng điều khiển
Mặc định thì log sẽ được đưa vào màn hình console, tất nhiên là màn hình console chỉ dành cho lập trình viên khi thực hiện gỡ lỗi nên các ứng dụng khi đưa lên PRODUCTION thì cần đặt log vào một tệp nhật ký
Lưu ý. Trường dữ liệu cấp sẽ thiết lập nhật ký dữ liệu nào được phép hiển thị theo từng cấp bậc. Thứ tự các mức được mặc định như sau. Trong một phiên làm việc, việc ghi nhật ký chỉ nhận một mức giá trị, muốn thay đổi mức ghi nhật ký, tùy chỉnh nhiều hơn, chúng ta nên sử dụng các trình xử lý đối tượng của việc ghi nhật ký 2. Trình xử lý nhật ký đối tượngCác trình xử lý ghi nhật ký đối tượng, chúng ta có thể tìm hiểu chúng ở đường dẫn sau. https. // tài liệu. con trăn. org/3/thư viện/ghi nhật ký. người xử lý. html Để tìm hiểu về các đối tượng này, chúng ta sẽ đi đến ví dụ dưới đây Thông tin mới. 2. Lớp cung cấp khả năng định dạng kiểu đầu ra của nhật ký. ______10. Class thực hiện log vào file set log. 1. Class thực hiện log ra màn hình console. 2 --> Khởi tạo một đối tượng đại diện cho mô-đun ghi nhật ký trong mô-đun (tệp. py) hiện tạiĐoạn script trên sẽ xuất ra cả tệp và màn hình bảng điều khiển. Theo như log-level thì trên file log sẽ ra cụm từ 3, trên màn hình console sẽ ra cụm từ 4Như đã nêu ở trên, trong phần nhật ký có thêm cụm thông tin tên tệp - dòng bao nhiêu [trong. \handlers. py. 26], đoạn dữ liệu này được cấu hình bởi đoạn cấu hình 1 trong 23. Xoay tệp nhật kýSau một khoảng thời gian làm việc, file log lớn quá gây khó khăn cho việc đọc/ghi/theo dõi log. Mô-đun ghi nhật ký cung cấp việc thực hiện tách nhật ký tệp thành nhiều tệp khác nhau theo kích thước hoặc thời gian |