Định dạng thời gian đăng nhập python

Python là một trong những ngôn ngữ lập trình thành công nhất. Trong bài viết này, chúng ta sẽ thảo luận về các phương pháp hay nhất để ghi nhật ký bằng Python. Chúng ta sẽ bắt đầu với một số nguyên tắc cơ bản và xem xét cơ sở ghi nhật ký gốc của Python, các mức ghi nhật ký tiêu chuẩn của nó và cách định cấu hình nó. Sau đó, chúng tôi sẽ trình bày danh sách sáu phương pháp hay nhất về ghi nhật ký. Những phương pháp này bao gồm hướng dẫn dành riêng cho Python và hướng dẫn chung hơn mà bạn có thể áp dụng cho các ngôn ngữ lập trình khác. Mỗi phương pháp hay nhất này sẽ cải thiện chiến lược ghi nhật ký của bạn

Ghi nhật ký Python. Bắt đầu với những điều cơ bản

Không giống như nhiều ngôn ngữ lập trình khác, Python đi kèm với mô-đun ghi nhật ký tích hợp. Chúng ta sẽ đề cập đến mô-đun và các mức ghi nhật ký của nó cùng với các hướng dẫn cấu hình cơ bản trong phần này

Định dạng thời gian đăng nhập python

Mô-đun ghi nhật ký mặc định của Python

Thư viện tiêu chuẩn của Python bao gồm một mô-đun ghi nhật ký tích hợp linh hoạt, cho phép bạn tạo các cấu hình khác nhau để đáp ứng nhu cầu ghi nhật ký của mình

Mô-đun ghi nhật ký của Python bao gồm các chức năng được thiết kế để cho phép nhà phát triển đăng nhập vào các đích khác nhau. Họ làm điều này bằng cách xác định các trình xử lý khác nhau và định tuyến các thông điệp tường trình tới các trình xử lý thích hợp

Đoạn mã sau minh họa cách sử dụng đơn giản mô-đun ghi nhật ký

import logging
logging.info('I'm an informational message.')
logging.debug('I'm a message for debugging purposes.')
logging.warning('I'm a warning. Beware!')

Cấp độ ghi nhật ký

Hầu hết các công cụ ghi nhật ký đều cung cấp các mức ghi nhật ký khác nhau và Python cũng không ngoại lệ. Trong ví dụ trước, bạn có thể thấy ba trong số chúng. THÔNG TIN, GỠ LỖI và CẢNH BÁO. Đây là một số cấp độ ghi nhật ký có sẵn trong mô-đun ghi nhật ký. Danh sách đầy đủ, theo thứ tự mức độ nghiêm trọng tăng dần, như sau

● LƯU Ý
● GỠ LỖI
● THÔNG TIN
● CẢNH BÁO

● CRITICAL

Nhưng cấp độ đăng nhập là gì? . Sau đó, bạn có thể sử dụng các nhãn này để tìm kiếm và lọc thông qua các mục nhật ký của mình

Các cấp độ ghi nhật ký cũng giúp bạn quản lý mức độ chi tiết của thông tin trong nhật ký của mình. Khi bạn đặt cấp độ nhật ký bằng thư viện ghi nhật ký tiêu chuẩn, chỉ các sự kiện ở cấp độ đó trở lên mới được ghi lại

Cấu hình ghi nhật ký cơ bản

Các thành phần chính của mô-đun ghi nhật ký là trình ghi nhật ký, trình xử lý và trình định dạng. Trình ghi nhật ký là đối tượng bạn gọi khi bạn muốn ghi lại thông báo trong mã ứng dụng của mình. Trình xử lý còn được gọi là mục tiêu, trình bổ sung hoặc trình ghi trên các nền tảng khác nhau. Chúng là những thành phần viết tin nhắn đến đích một cách hiệu quả. Chẳng hạn, bạn có thể có một trình xử lý để đăng nhập vào một tệp, một trình xử lý khác để đăng nhập vào một tệp khác và một trình xử lý khác để đăng nhập vào nhật ký hệ thống. Trình định dạng, như tên gọi của chúng, chịu trách nhiệm định dạng bố cục của thông điệp tường trình

Hầu hết các cấu hình bao gồm một trình xử lý và một trình định dạng. API cung cấp một phương thức để ghi nhật ký, basicConfig(). Kiểm tra ví dụ sau

import logging
logging.basicConfig(level=logging.INFO)
logging.info('This message will be logged')
logging.debug('This message will not be logged')

Ví dụ trên sử dụng phương thức basicConfig() để định cấu hình bộ ghi với cấp độ INFO, nghĩa là các sự kiện có cấp độ INFO trở lên sẽ được ghi lại còn những sự kiện khác thì không.
Bây giờ hãy xem xét ví dụ sau.

logging.basicConfig(filename='myfirstlog.log', 
level=logging.DEBUG, 
format='%(asctime)s | %(name)s | %(levelname)s | %(message)s')

Ở đây, chúng tôi đang định cấu hình định dạng phức tạp hơn. Nếu chúng tôi ghi nhật ký thông báo “kiểm tra định dạng nhật ký. ” sử dụng mức WARN, kết quả sẽ như thế này

2020-03-12 12:54:48,312 | root | WARN | Testing log formatting!

Dưới đây là sáu phương pháp hay nhất về ghi nhật ký Python để giúp bạn trên con đường của mình

Đừng phát minh lại bánh xe

Sử dụng các câu lệnh in hoặc thậm chí ghi vào tệp có thể hấp dẫn vì nó quá dễ dàng, nhưng nó đi kèm với một cái giá. Nếu bạn không sử dụng giải pháp ghi nhật ký phù hợp, bạn không thể tận hưởng tất cả những lợi ích khác mà họ có. Cách tiếp cận ban đầu của bạn có thể đủ cho một ứng dụng tầm thường, nhưng nó sẽ khiến bạn đau đầu khi ứng dụng bắt đầu phát triển. Nhật ký của bạn sẽ bị nhiễu và không có tín hiệu vì chúng không có các mức để quản lý mức độ chi tiết. Còn về tính linh hoạt để dễ dàng thay đổi đích đăng nhập thì sao? . Không có người xử lý, bạn đã hết may mắn

Nếu bạn đang cố gắng tìm hiểu về bánh xe, chắc chắn rồi, bạn có thể phát minh lại bánh xe. Bạn có muốn triển khai giải pháp ghi nhật ký trưởng thành không? . Bạn sẽ học được nhiều điều và phát triển sự đánh giá cao mới đối với những thách thức liên quan đến việc ghi nhật ký. Nhưng nếu đây không phải là trường hợp của bạn, hãy sử dụng các giải pháp đã được thử và đúng

Sử dụng Mô-đun ghi nhật ký tiêu chuẩn Python

Nói về các giải pháp đã được thử và đúng, việc “làm” đầu tiên trong danh sách của chúng tôi sẽ không có gì đáng ngạc nhiên. bám vào mô-đun ghi nhật ký tiêu chuẩn. Nó được thiết kế linh hoạt và dễ sử dụng. Như bạn đã thấy, mô-đun ghi nhật ký cho phép bạn dễ dàng xác định trình xử lý và trình định dạng và sử dụng chúng để tạo các kết hợp mạnh mẽ

Sử dụng đúng cấp độ khi đăng nhập

Có thể khó quyết định cấp độ nào để chỉ định từng sự kiện. May mắn thay, mô-đun ghi nhật ký Python có ít cấp độ hơn các thư viện ghi nhật ký khác. Điều này làm cho mọi thứ dễ dàng hơn bằng cách loại bỏ một số sự mơ hồ tiềm năng. Khi nói đến cấp độ Python, đây là hướng dẫn chung

● GỠ LỖI. Bạn nên sử dụng cấp độ này cho mục đích gỡ lỗi trong quá trình phát triển.
● THÔNG TIN. Bạn nên sử dụng cấp độ này khi có điều gì đó thú vị—nhưng được mong đợi—xảy ra (e. g. , người dùng bắt đầu một dự án mới trong ứng dụng quản lý dự án).
● CẢNH BÁO. Bạn nên sử dụng cấp độ này khi có điều gì đó bất ngờ hoặc bất thường xảy ra. Đó không phải là một lỗi, nhưng bạn nên chú ý đến nó.
● LỖI. Cấp độ này dành cho những sự cố xảy ra nhưng thường có thể khắc phục được (e. g. , ngoại lệ nội bộ mà bạn có thể xử lý hoặc API trả về kết quả lỗi).
● QUAN TRỌNG. Bạn nên sử dụng cấp độ này trong kịch bản ngày tận thế. ứng dụng không sử dụng được. Ở cấp độ này, ai đó nên thức dậy lúc 2 giờ sáng. m.

Bao gồm Dấu thời gian cho mỗi Mục nhật ký

Biết điều gì đó đã xảy ra mà không biết khi nào nó xảy ra chỉ tốt hơn một chút so với việc không biết gì về sự kiện đó. Đảm bảo thêm dấu thời gian vào các mục nhật ký của bạn để giúp cuộc sống của những người sử dụng nhật ký để khắc phục sự cố dễ dàng hơn. Làm như vậy cũng cho phép các nhà phát triển phân tích các mục nhật ký để có được thông tin chi tiết/phân tích về hành vi của người dùng

Áp dụng Định dạng ISO-8601 cho Dấu thời gian

Dấu thời gian rất cần thiết trong các mục nhật ký. Thật không may, mọi người không thể đồng ý về cách tốt nhất để thể hiện các khoảnh khắc trong thời gian, vì vậy chúng tôi đã đưa ra một số định dạng mâu thuẫn

Sử dụng định dạng được sử dụng rộng rãi ở quốc gia của bạn có vẻ như là một lựa chọn đúng đắn, đặc biệt nếu bạn không có kế hoạch cung cấp ứng dụng của mình ở nước ngoài

Nhưng điều này không thể xa hơn sự thật. Chỉ cần áp dụng một định dạng chuẩn cho dấu thời gian của bạn, bạn có thể ngăn ngừa sự cố, vì các thư viện và công cụ của bên thứ ba sẽ mong đợi định dạng chuẩn ngay từ đầu

Định dạng tiêu chuẩn này tồn tại và được gọi là ISO-8601. Đó là một tiêu chuẩn quốc tế để trao đổi dữ liệu liên quan đến ngày và giờ. Dưới đây là ví dụ về dấu thời gian được thể hiện ở định dạng ISO-8601

2020-03-14T15:00-03:00

Đây là một ví dụ cơ bản về cách định cấu hình định dạng để cho phép dấu thời gian ISO-8601

import logging
logging.basicConfig(format='%(asctime)s %(message)s')
logging.info('Example of logging with ISO-8601 timestamp')

Sử dụng Lớp RotatingFileHandler

Một phương pháp hay nhất về ghi nhật ký chung—bằng bất kỳ ngôn ngữ nào—là sử dụng xoay vòng nhật ký. Đây là một cơ chế được thiết kế để tự động lưu trữ, nén hoặc xóa các tệp nhật ký cũ để tránh đầy đĩa

May mắn thay, bạn không phải thực hiện điều này bằng tay trong Python. Thay vào đó, hãy sử dụng lớp RotatingFileHandler thay vì lớp FileHandler thông thường

Bước tiếp theo

Python là một trong những ngôn ngữ phổ biến nhất. Nó cung cấp sự đơn giản, linh hoạt và một hệ sinh thái rộng lớn gồm các công cụ của bên thứ ba. Python đủ linh hoạt để giải quyết nhiều trường hợp sử dụng khác nhau, từ ứng dụng web đến thư viện khoa học dữ liệu, tập lệnh SysAdmin và nhiều loại chương trình khác

Bởi vì việc ghi nhật ký là cần thiết đối với hầu hết các ứng dụng, nên việc xem xét ghi nhật ký Python và nêu bật các phương pháp hay nhất rất có giá trị đối với tất cả các chuyên gia công nghệ, đặc biệt đối với những người mới bắt đầu làm quen với nó.
Các bước tiếp theo của bạn là gì? . SolarWinds® Loggly® cung cấp nhiều tài nguyên để trợ giúp, từ Hướng dẫn cơ bản—có thể hướng dẫn bạn cách thiết lập ghi nhật ký Python cho ứng dụng của bạn—đến các blog chủ đề nêu bật các trường hợp sử dụng cụ thể trong Python.

Định dạng thời gian đăng nhập python

Nếu thích cách tiếp cận thực tế hơn, bạn nên cân nhắc bắt đầu dùng thử miễn phí Loggly

Xem phân tích và giám sát nhật ký thống nhất cho chính bạn

loggly

Loggly cho phép bạn quản lý tập trung, tìm kiếm và phân tích nhật ký Python của mình. Loggly không giống bất kỳ trình ghi nhật ký Python nào khác; . Nếu bạn triển khai các mức nhật ký được mô tả ở trên, điều này có nghĩa là nhật ký của bạn được cấu trúc tự động. Cấu trúc này cho phép bạn duyệt nhanh và nhấp vào dữ liệu nhật ký để tìm kiếm và xem nhật ký theo ngữ cảnh, điều này có thể rút ngắn quá trình phân tích và khắc phục sự cố

Bắt đầu với Loggly thật dễ dàng; . Bạn có thể gửi nhật ký Python của mình tới Loggly qua nhật ký hệ thống hoặc qua HTTP bằng API RESTful

Bài đăng này được viết bởi Carlos Schults. Carlos là một. NET có kinh nghiệm về phát triển web và máy tính để bàn, và anh ấy hiện đang thử sức mình với thiết bị di động. Anh ấy có niềm đam mê viết mã rõ ràng và ngắn gọn, đồng thời quan tâm đến các phương pháp được thiết kế để giúp cải thiện tình trạng của ứng dụng, chẳng hạn như đánh giá mã, thử nghiệm tự động và xây dựng liên tục

Làm cách nào để có thời gian ghi nhật ký Python?

Ngày/Giờ trong Thông báo Nhật ký . Ví dụ. nhập nhật ký ghi nhật ký. basicConfig(format='%(asctime)s %(message)s') ghi nhật ký. use %(asctime)s in your format string in basicConfig() function. For example: import logging logging. basicConfig(format='%(asctime)s %(message)s') logging.

asctime trong ghi nhật ký Python là gì?

Tham số thời gian asctime() của Python. đối tượng struct_time đại diện cho thời gian được trả về bởi time . gmtime() hoặc thời gian. phương thức giờ địa phương(). Nếu tham số 't' không được cung cấp hoặc Không có thì thời gian hiện tại được trả về theo thời gian. phương thức localtime() được sử dụng.

Làm cách nào để đặt trình ghi nhật ký trong Python?

Thêm ghi nhật ký vào chương trình Python của bạn dễ như thế này. .
nhật ký nhập khẩu
nhập nhật ký ghi nhật ký. ghi nhật ký gỡ lỗi ('Đây là thông báo gỡ lỗi'). thông tin ('Đây là thông báo thông tin') ghi nhật ký. .
CẢNH BÁO. nguồn gốc. Đây là thông báo cảnh báo ERROR. nguồn gốc. Đây là một thông báo lỗi CRITICAL. nguồn gốc. Đây là một thông điệp quan trọng

Làm cách nào để đăng nhập ngoại lệ trong Python?

Để ghi lại một ngoại lệ trong Python, chúng ta có thể sử dụng mô-đun ghi nhật ký và thông qua đó, chúng ta có thể ghi lại lỗi . Ghi nhật ký một ngoại lệ trong python có lỗi có thể được thực hiện trong phần ghi nhật ký. phương pháp ngoại lệ(). Chức năng này ghi lại một thông báo có mức LỖI trên bộ ghi này.