Đăng nhập vào python là gì?
Bạn đã bao giờ gặp khó khăn khi gỡ lỗi mã Python của mình chưa? Show
Là một lập trình viên mới bắt đầu, bạn có thể đã sử dụng câu lệnh 3—để in ra các giá trị nhất định trong các lần chạy chương trình của mình—để kiểm tra xem mã có hoạt động như mong đợi không. Sử dụng các câu lệnh 3 để gỡ lỗi có thể hoạt động tốt đối với các chương trình Python nhỏ hơn. Tuy nhiên, khi bạn bắt đầu làm việc với các dự án lớn hơn và phức tạp hơn, bạn sẽ cần một nhật ký liên tục chứa nhiều thông tin hơn về hành vi của mã để giúp bạn gỡ lỗi và theo dõi lỗi một cách có hệ thốngTrong hướng dẫn này, bạn sẽ học cách thiết lập ghi nhật ký trong Python bằng mô-đun ghi nhật ký tích hợp. Bạn sẽ tìm hiểu kiến thức cơ bản về ghi nhật ký, ghi nhật ký các giá trị biến và ngoại lệ, định cấu hình trình ghi nhật ký và trình định dạng tùy chỉnh, v.v. Ngoài ra, bạn cũng sẽ tìm hiểu cách SDK Python của Sentry có thể giúp bạn giám sát các ứng dụng của mình và đơn giản hóa quy trình gỡ lỗi. Sentry tích hợp nguyên bản với mô-đun ghi nhật ký tích hợp sẵn của Python và cũng cung cấp thông tin chi tiết về cả lỗi và các vấn đề về hiệu suất trong ứng dụng của bạn Bắt đầu nào… Bắt đầu đăng nhập bằng PythonPython đi kèm với mô-đun ghi nhật ký mà chúng ta sẽ sử dụng trong hướng dẫn này. Vì vậy, bạn có thể tiếp tục và nhập nó vào môi trường làm việc của mình
Mô-đun ghi nhật ký tích hợp của Python cung cấp chức năng dễ sử dụng và năm cấp độ ghi nhật ký có mức độ nghiêm trọng tăng dần. gỡ lỗi (10), mức ghi nhật ký thấp nhất đến quan trọng (50), mức cao nhất Hãy liệt kê các cấp độ ghi nhật ký khác nhau Gỡ lỗi (10). Gỡ lỗi là mức ghi nhật ký thấp nhất; Thông tin (20). Thông tin là mức ghi nhật ký thấp thứ hai được sử dụng để ghi lại thông tin trên một đoạn mã hoạt động như dự kiến Cảnh báo (30). Cảnh báo được sử dụng để ghi lại các sự kiện mà bạn nên chú ý, vì chúng có khả năng gây ra sự cố trong hoạt động của ứng dụng trong tương lai. Nếu bạn không đặt mức ghi nhật ký một cách rõ ràng thì theo mặc định, quá trình ghi nhật ký sẽ bắt đầu từ mức cảnh báo Lỗi (40). Đây là mức ghi nhật ký cao thứ hai; . một phần của ứng dụng không hoạt động như mong đợi và việc thực thi mã không thành công Quan trọng (50). Như tên gợi ý, cấp độ ghi nhật ký này ghi lại một sự kiện quan trọng của nhiệm vụ và việc không khắc phục điều này có thể khiến ứng dụng ngừng hoạt động Đoạn mã sau đây cho thấy cách bạn có thể sử dụng tất cả năm cấp độ ghi nhật ký với cú pháp. 5
Bạn sẽ thấy rằng các thông báo tương ứng với cảnh báo, lỗi và nghiêm trọng được ghi vào bảng điều khiển, trong khi gỡ lỗi và thông tin thì không
Điều này là do, theo mặc định, chỉ các thông báo tương ứng với cấp độ cảnh báo ghi nhật ký trở lên mới được ghi vào bảng điều khiển. Tuy nhiên, bạn có thể sửa đổi điều này bằng cách định cấu hình trình ghi nhật ký để bắt đầu ghi nhật ký từ một cấp độ cụ thể mà bạn chọn Phương pháp đăng nhập vào bảng điều khiển này không hữu ích hơn việc sử dụng câu lệnh 3. Trong thực tế, bạn có thể muốn ghi các thông báo này vào một tệp nhật ký—chứa nhật ký qua các lần thực thi—mà sau đó bạn có thể sử dụng làm nhật ký gỡ lỗi của mìnhGhi chú. Trong ví dụ được giải thích trong hướng dẫn này, tất cả mã nằm trong tệp 7 và khi chúng tôi cấu trúc lại mã hiện có hoặc thêm các mô-đun mới, chúng tôi sẽ nêu rõ ràng 8 để giúp bạn theo dõiCách đăng nhập vào một tệp trong PythonĐể thiết lập ghi nhật ký cơ bản vào một tệp, bạn có thể sử dụng hàm tạo 9, như minh họa bên dưới 0Tiếp theo, hãy phân tích cú pháp trên để định cấu hình bộ ghi gốc
Sau khi chạy mô-đun 8, bạn sẽ thấy rằng tệp nhật ký 9 đã được tạo trong thư mục làm việc hiện tạiVì chúng tôi đặt mức ghi nhật ký thành thông tin, nên bản ghi nhật ký hiện chứa thông báo tương ứng với INFO Các bản ghi trong tệp nhật ký có định dạng. 00. Theo mặc định, 01 là bộ ghi nhật ký của 02, vì chúng tôi chưa định cấu hình bộ ghi nhật ký tùy chỉnhNgoài thông tin cơ bản ở trên, bạn cũng có thể muốn ghi lại dấu thời gian mà một thông báo cụ thể đã được ghi lại để giúp kiểm tra nhật ký dễ dàng hơn. Bạn có thể làm điều này bằng cách chỉ định tham số 03 trong hàm tạo, như hình bên dưới 5Có nhiều thuộc tính bản ghi nhật ký khác mà bạn có thể sử dụng để tùy chỉnh cách các thông báo xuất hiện trong tệp nhật ký. Trong khi thiết lập bộ ghi nhật ký 02 như đã giải thích ở trên, vui lòng đảm bảo chỉ chạy 05 một lần—thường là ở phần đầu của chương trình trước khi ghi nhật ký. Các cuộc gọi tiếp theo không thay đổi bất cứ điều gì trừ khi bạn đặt tham số 06 thành 07Ghi nhật ký các biến và ngoại lệ trong PythonBây giờ, hãy sửa đổi tệp 7. Giả sử, có hai biến x và y và chúng tôi muốn tính giá trị của x/y. Chúng tôi biết rằng chúng tôi sẽ gặp phải ZeroDivisionError khi y = 0. Chúng tôi có thể xử lý trường hợp này như một ngoại lệ bằng cách sử dụng các khối 09 và 50Tiếp theo, chúng tôi muốn ghi nhật ký ngoại lệ cùng với dấu vết ngăn xếp. Để làm điều này, bạn có thể sử dụng 51. Chạy đoạn mã sau để thấy rằng giá trị của các biến và kết quả được ghi lại dưới dạng INFO, cho biết rằng mã hoạt động như mong đợi 4Tiếp theo, đặt giá trị của y thành 0 và chạy lại mô-đun Khi bạn kiểm tra tệp nhật ký pylog. log, bạn có thể thấy rằng một ngoại lệ đã được ghi lại cùng với dấu vết ngăn xếp 5Bước tiếp theo, hãy sửa đổi mã của chúng ta để có danh sách các giá trị x và y mà chúng ta muốn tính thương số x/y. Để đăng nhập một ngoại lệ, bạn cũng có thể sử dụng 52 7Khi chạy đoạn mã trên, bạn sẽ thấy rằng tệp nhật ký hiện chứa thông tin về các sự kiện đó khi thực thi thành công cũng như lỗi khi xảy ra ngoại lệ Tùy chỉnh ghi nhật ký với Trình ghi nhật ký, Trình xử lý và Trình định dạng tùy chỉnhTiếp theo, hãy cấu trúc lại mã hiện có. Chúng ta sẽ định nghĩa một hàm riêng biệt 53 9Chúng ta sẽ có định nghĩa hàm trên bên trong mô-đun 54. Trong mô-đun 8, chúng ta sẽ chỉ có các lệnh gọi hàm. Hãy định cấu hình trình ghi nhật ký tùy chỉnh trong cả mô-đun 8 và 54Điều này được giải thích trong đoạn mã sau ▶️ Định cấu hình trình ghi nhật ký tùy chỉnh cho mô-đun 54 5▶️ Định cấu hình trình ghi nhật ký tùy chỉnh cho mô-đun chính 0Hãy phân tích đoạn mã trên để định cấu hình bộ ghi tùy chỉnh làm gì Bước đầu tiên, chúng tôi thiết lập trình ghi nhật ký và cấp độ ghi nhật ký. 59 trả về bộ ghi có tên đó, nếu nó tồn tại; . Trong thực tế, bạn sẽ đặt tên của bộ ghi nhật ký thành biến đặc biệt 41, tương ứng với tên của mô-đun. Chúng tôi gán đối tượng logger cho một biến. We then set the desired logging level using 42Tiếp theo, chúng tôi định cấu hình trình xử lý. Vì chúng tôi muốn ghi các sự kiện vào một tệp, chúng tôi định cấu hình một 43. 44 trả về một đối tượng xử lý tệp. Ngoài tên của tệp nhật ký, bạn có thể tùy chọn chỉ định chế độ. Trong ví dụ này, chúng tôi đặt chế độ ghi. Có các trình xử lý khác như StreamHandler, HTTPHandler, SMTPHandler, v.v.We then create a formatter object using the syntax. 45. Trong ví dụ này, chúng tôi đặt 46, tên của trình ghi nhật ký (một chuỗi), trước định dạng bản ghi nhật ký mà chúng tôi đã có trước đóTiếp theo, chúng tôi thêm trình định dạng vào trình xử lý bằng cách sử dụng 47. Cuối cùng, chúng tôi thêm trình xử lý vào đối tượng logger bằng cách sử dụng 48Sau đó, bạn có thể chạy mô-đun 8 và kiểm tra các tệp nhật ký đã tạoGhi nhật ký Python. Thực hành tốt nhấtCho đến nay, chúng tôi đã giới thiệu cách ghi nhật ký các biến, ngoại lệ và thiết lập trình ghi nhật ký tùy chỉnh. Tiếp theo, hãy liệt kê một số phương pháp hay nhất để ghi nhật ký
Lợi ích và hạn chế của việc ghi nhật kýBây giờ chúng ta đã học được những kiến thức cơ bản về ghi nhật ký trong Python, hãy cùng tìm hiểu những lợi ích và một số nhược điểm tiềm ẩn của việc ghi nhật ký Chúng tôi đã thấy cách sử dụng ghi nhật ký trong Python cho phép chúng tôi duy trì nhật ký cho các mô-đun khác nhau trong một ứng dụng. Chúng tôi cũng có thể định cấu hình và tùy chỉnh ghi nhật ký khi cần. Tuy nhiên, điều này không phải là không có bất lợi. Ngay cả khi bạn đặt mức ghi nhật ký thành cảnh báo hoặc bất kỳ mức nào cao hơn, tệp nhật ký của bạn có thể nhanh chóng tăng kích thước khi bạn duy trì nhật ký liên tục trên tất cả các lần chạy của ứng dụng. Do đó, việc sử dụng tệp nhật ký để gỡ lỗi trở nên khó khăn Ngoài ra, việc kiểm tra nhật ký lỗi rất khó khăn, đặc biệt khi thông báo lỗi không cung cấp đủ ngữ cảnh. Khi bạn thực hiện 56 mà không đặt 57 thành 07, rất khó để kiểm tra nguyên nhân cốt lõi của sự cố nếu các thông báo không hữu ích lắmMặc dù việc ghi nhật ký chỉ cung cấp thông tin chẩn đoán về những gì cần khắc phục trong ứng dụng của bạn, nhưng một công cụ giám sát như Sentry có thể cung cấp thông tin chi tiết hơn để giúp bạn khắc phục sự cố ứng dụng của mình một cách dễ dàng và đồng thời khắc phục các sự cố về hiệu suất Trong phần tiếp theo, chúng ta sẽ xem xét cách bạn có thể tích hợp Sentry vào ứng dụng Python của mình để đơn giản hóa quy trình gỡ lỗi Tích hợp Sentry trong ứng dụng Python của bạnBạn có thể cài đặt SDK Python của Sentry bằng trình quản lý gói pip 1Sau khi bạn đã cài đặt SDK, bạn có thể nhập sentry_sdk và thêm các dòng mã sau để định cấu hình giám sát cho ứng dụng Python của mình 2Như đã thấy ở trên, bạn cần có 59 để thiết lập giám sát. DSN là viết tắt của Tên nguồn dữ liệu và đó là nơi SDK của Sentry sẽ gửi các sự kiện trong ứng dụng của bạn. Bạn có thể tìm khóa DSN của mình bằng cách điều hướng đến Your-Project > Settings > Client Keys (DSN)Sau khi chạy ứng dụng Python, bạn có thể truy cập Sentry. io và mở bảng điều khiển của dự án. Bạn sẽ có thể xem thông tin về số lượng lỗi đã ghi và các sự cố trong ứng dụng của bạn. Trong ví dụ này, ngoại lệ tương ứng với 70 đã được ghi lạiKhi kiểm tra vấn đề một cách chi tiết, bạn có thể thấy rằng Sentry cung cấp thông tin chi tiết về nơi xảy ra ngoại lệ và các đối số 71 và 72 khiến ngoại lệ xảy raĐiều hướng xuống dưới, bạn sẽ thấy rằng bạn có nhật ký tương ứng với thông tin và lỗi. Khi bạn định cấu hình giám sát với Sentry, sẽ có sự tích hợp ngầm với mô-đun ghi nhật ký. Nhớ lại rằng chúng tôi đặt mức ghi nhật ký thành thông tin. Do đó, Sentry ghi lại tất cả các sự kiện ở cấp độ thông tin trở lên dưới dạng breadcrumbs giúp dễ dàng truy tìm lỗi Trái ngược với việc kiểm tra các tệp nhật ký lớn để tìm lỗi tiềm ẩn và thông tin khắc phục sự cố, Sentry cho phép bạn lọc các sự cố theo cấp độ, chẳng hạn như thông tin và lỗi. Điều này cho phép bạn ưu tiên các vấn đề theo mức độ nghiêm trọng của chúng và cũng tận dụng breadcrumbs để theo dõi nguồn gốc của vấn đề Trong ứng dụng ví dụ này, chúng tôi đã xử lý 70 như một ngoại lệ. Trong các dự án lớn hơn, ngay cả khi chúng tôi không triển khai xử lý ngoại lệ như vậy, Sentry sẽ tự động cung cấp thông tin chẩn đoán về sự hiện diện của các ngoại lệ chưa được xử lý. Bạn cũng có thể theo dõi các vấn đề về hiệu suất trong mã bằng SentryBạn có thể tìm mã cho hướng dẫn này trong repo GitHub này kết thúcTrong hướng dẫn này, bạn đã học cách thiết lập ghi nhật ký bằng mô-đun ghi nhật ký tích hợp sẵn của Python. Bạn đã học những kiến thức cơ bản về định cấu hình trình ghi nhật ký gốc và tùy chỉnh, cùng với các phương pháp hay nhất về ghi nhật ký. Ngoài ra, bạn cũng đã thấy cách bạn có thể tận dụng Sentry để giám sát các ứng dụng Python của mình – để nhận thông tin về các vấn đề về hiệu suất và các lỗi khác – đồng thời sử dụng tất cả các tính năng của mô-đun ghi nhật ký Khi bạn làm việc trên ứng dụng Python tiếp theo của mình, hãy đảm bảo thực hiện ghi nhật ký và đăng ký dùng thử miễn phí Sentry để gỡ lỗi liền mạch Đăng nhập bằng Python quan trọng như thế nào?Ghi nhật ký là một cách để lưu trữ thông tin về tập lệnh của bạn và theo dõi các sự kiện xảy ra. Khi viết bất kỳ tập lệnh phức tạp nào bằng Python, ghi nhật ký là điều cần thiết để gỡ lỗi phần mềm khi bạn phát triển phần mềm . Nếu không đăng nhập, việc tìm nguồn gốc của sự cố trong mã của bạn có thể cực kỳ tốn thời gian.
Mục đích đăng nhập vào lập trình là gì?Việc ghi nhật ký là điều cần thiết để hiểu hành vi của ứng dụng và gỡ lỗi các sự cố không mong muốn hoặc chỉ để theo dõi các sự kiện . Trong môi trường sản xuất, chúng tôi không thể gỡ lỗi nếu không có tệp nhật ký thích hợp vì chúng trở thành nguồn thông tin duy nhất để gỡ lỗi một số lỗi không liên tục hoặc không mong muốn.
Ghi nhật ký cơ bản là gì?Hướng dẫn ghi nhật ký cơ bản. Ghi nhật ký là phương tiện theo dõi các sự kiện xảy ra khi một số phần mềm chạy . Nhà phát triển phần mềm thêm các cuộc gọi ghi nhật ký vào mã của họ để chỉ ra rằng một số sự kiện đã xảy ra.
Có nhật ký nào trong Python không?Python đi kèm với mô-đun ghi nhật ký trong thư viện chuẩn có thể cung cấp một khung linh hoạt để gửi thông báo nhật ký từ các chương trình Python. Mô-đun này được các thư viện sử dụng rộng rãi và thường là điểm truy cập đầu tiên đối với hầu hết các nhà phát triển khi ghi nhật ký. |