Kênh đăng nhập trong Laravel là gì?
Ghi nhật ký là một phần quan trọng của các ứng dụng hiện đại, vì nó cung cấp một cách tuyệt vời và dễ dàng để xác định các điểm lỗi và các hành vi không mong muốn. Và vì những lý do chính đáng, việc đăng nhập đã trở thành công dân hạng nhất trong các phiên bản gần đây của laravel Show
ấu trùng 5. 6 là một bản cập nhật lớn về quản lý ghi nhật ký và giới thiệu hai khái niệm mạnh mẽ mới
Có các tệp nhật ký, thậm chí được tổ chức tốt, là điều tuyệt vời nhưng các công cụ “theo dõi lỗi” hiện đại như Sentry là một cuộc cách mạng. Chúng cho phép bạn theo dõi trong thời gian thực, điều tra các trường hợp ngoại lệ trực tuyến với nhiều ngữ cảnh và thông báo khi cần thiết. Rất dễ hiểu lầm những nền tảng này được tạo ra để làm gì và sentry chắc chắn không phải là nền tảng quản lý nhật ký. Sentry chủ yếu được sử dụng để báo cáo các trường hợp ngoại lệ của ứng dụng, nhưng thường có trường hợp bạn muốn nắm bắt các vấn đề khác với mã của mình và điều đó hoàn toàn ổn Sentry có một gói laravel tuyệt vời, hoạt động rất tốt. Nhưng khi bạn báo cáo các sự kiện cụ thể trong các kênh chuyên dụng, cấu hình mặc định sẽ không cho phép bạn theo dõi các kênh trong sentry… Theo dõi các kênhTin tốt là, có một cách để làm cho nó hoạt động và giữ một tính năng quan trọng của các kênh. có thể lọc các sự cố/nhật ký được nhóm theo kênh. Tài liệu của gói có một về điều này Hãy đi sâu vào một ví dụ và nói rằng tôi muốn báo cáo và nhóm các sự kiện cụ thể liên quan đến thanh toán trong mã của mình Log::channel('stripe')->warning( Như bạn có thể biết, cấu hình ghi nhật ký của laravel tồn tại trong Giữ bình tĩnh và lọc Bây giờ, tất cả các sự cố của lính gác hiện đã có thuộc tính trình ghi nhật ký được đặt theo tên kênh của bạn. Tài liệu riêng của Sentry không đề cập đến điều này, nhưng có vẻ như bạn có thể lọc bằng cách sử dụng “logger. vạch sọc". Bạn thậm chí có thể biến nó thành một tìm kiếm đã lưu Ghi nhật ký là cách các nhà phát triển hiểu tại sao các ứng dụng bị lỗi và cách chúng cải thiện. Trong bài viết này, bạn sẽ tìm hiểu về cách triển khai và xử lý ghi nhật ký cho các ứng dụng Laravel Ngày 13 tháng 7 năm 2022 Keanan Koppenhaver Kiến trúc sư kỹ thuật Tổng quan Tổng quan Giám sát Kubernetes Không cần thẻ Trong bất kỳ ứng dụng nào, nhà phát triển cần có khả năng xem điều gì đang xảy ra trong khi ứng dụng đang được sử dụng để gỡ lỗi các sự cố khi chúng phát sinh và xác định các cơ hội để cải thiện. Với mục đích này, các nhà phát triển sử dụng tính năng ghi nhật ký để hiểu rõ hơn về những gì đang diễn ra bên trong ứng dụng khi ứng dụng đang được sử dụng Khi triển khai bất kỳ giải pháp ghi nhật ký nào, điều quan trọng là phải có đủ nhật ký để có thể thu thập thông tin và số liệu quan trọng nhưng không ghi nhật ký quá mức để mọi thông tin quan trọng bị mất trong biển dữ liệu Trong bài viết này, bạn sẽ xem cách triển khai đăng nhập trong khung PHP phổ biến Laravel. Laravel là một khung công tác PHP Model-View-Controller cho phép các nhà phát triển tạo mọi thứ từ các trang web quy mô nhỏ đến các ứng dụng cấp doanh nghiệp một cách nhanh chóng và dễ dàng Sau khi tìm hiểu về cách Laravel giúp các nhà phát triển quản lý nhật ký của họ, bạn sẽ xem qua một số phương pháp hay nhất và công cụ cụ thể mà bạn cần để gỡ lỗi ứng dụng Laravel Bắt đầu với Logs trong LaravelKhi bạn bắt đầu thực hiện ghi nhật ký trong ứng dụng Laravel của mình, thách thức đầu tiên là quyết định những gì cần ghi. Giống như mã nhận xét, nhận xét ở một số vị trí nhất định trong cơ sở mã có thể hữu ích, trong khi nhận xét trên mọi dòng có thể làm lộn xộn cơ sở mã, gây khó khăn khi làm việc với Các ưu tiên ghi nhật ký phổ biến trong các ứng dụng bao gồm các phản hồi API trong các cuộc gọi đến các dịch vụ bên ngoài, mọi truy vấn hoặc hành vi của ứng dụng đang diễn ra chậm hơn dự kiến và ở mức tối thiểu, các thông báo và lỗi do Laravel hoặc PHP tạo ra. Mục tiêu của nhật ký là gấp đôi. nắm bắt các lỗi để có thể sửa lỗi ngay cả khi chúng không thể được sao chép trong thời gian thực và xác định các khu vực cần cải thiện trong ứng dụng, đó là nơi các thông báo và cảnh báo cấp PHP có ích Các sự kiện cần được ghi lại có nhiều mức độ nghiêm trọng khác nhau và hầu hết các trình ghi nhật ký, bao gồm cả của Laravel, xác định cái được gọi là cấp độ nhật ký. Các mức thỏa thuận này được xác định trong một tài liệu có tên là RFC 5424 và có sẵn trong. Chúng bao gồm khẩn cấp, cảnh báo, nghiêm trọng, lỗi, cảnh báo, thông báo, thông tin và gỡ lỗi và được định nghĩa trong Laravel như bên dưới
You can call any of these methods to log a message for the corresponding level. By default, the message will be written to the default log channel as configured by your Khi bạn đang sử dụng mặt tiền nhật ký tích hợp của Laravel, Laravel sử dụng các kênh nhật ký như một cách để ghi lại nơi bạn gửi thông tin của mình. Các kênh nhật ký có thể thực hiện nhiều việc, bao gồm gửi thông báo tường trình tới nhật ký hệ thống tiêu chuẩn hoặc đẩy nhật ký tới Papertrail hoặc thậm chí gửi các mục nhật ký dưới dạng thông báo Slack (mặc dù điều này có lẽ nên được dành riêng cho các thông báo tường trình thực sự quan trọng)
Tự động thu thập mọi thứ được đăng nhập trong cụm của bạn Theo dõi tình trạng của cụm của bạn và khắc phục sự cố nhanh hơn với bảng điều khiển dựng sẵn chỉ hoạt động Tìm hiểu thêm Đặt bản demoThực tiễn tốt nhất về ghi nhật ký LaravelKhi sử dụng log facade mặc định của Laravel, tương đối đơn giản để bắt đầu chèn các câu lệnh log vào các điểm quan trọng trong ứng dụng của bạn; Cấu trúc, lưu trữ và xuất nhật kýTùy thuộc vào tần suất bạn ghi vào tệp nhật ký, chúng có thể tăng kích thước nhanh chóng đến mức bất kỳ ứng dụng nào được sử dụng để đọc hoặc lọc qua chúng có thể bắt đầu gặp khó khăn trong việc phân tích lượng thông tin được lưu trữ. Hầu hết các nhật ký sử dụng khái niệm xoay vòng nhật ký, trong đó các tệp nhật ký được tự động nén, lưu trữ, đổi tên hoặc xóa khi chúng đạt đến một kích thước nhất định hoặc theo lịch trình. Điều này đảm bảo rằng không có tệp nhật ký nào quá lớn để trở nên hữu ích. Nếu các tệp nhật ký được lưu trữ hoặc lưu trữ ở một nơi khác, điều đó có nghĩa là chúng có thể được truy cập nếu dữ liệu lịch sử thực sự cần thiết, nhưng chỉ thông tin cập nhật nhất (và do đó, có khả năng hữu ích nhất) được giữ lại khi có thể Về cơ bản, hãy sử dụng thư viện Monolog và nó trở thành phần lớn tiêu chuẩn trong hệ sinh thái PHP. Thay vì ghi nhật ký theo cách thủ công, Monolog cho phép nhà phát triển dễ dàng ghi và quản lý tệp nhật ký của họ bằng cách cung cấp giao diện chuẩn để ghi nhật ký. Điều này cho phép các nhà phát triển tạo các trình ghi nhật ký ghi vào các kênh nhật ký khác nhau và tập trung vào logic ứng dụng của họ thay vì phải dành thời gian không cần thiết để viết mã ghi nhật ký tùy chỉnh Sau khi kiểm soát được dung lượng lưu trữ, bạn cần một cách để đọc nhật ký của mình. Mặc dù hầu hết các nhật ký được lưu trữ ở dạng văn bản thuần túy và có thể được mở trong bất kỳ trình soạn thảo văn bản nào, trình đọc nhật ký chuyên dụng có các tính năng mà trình soạn thảo văn bản tiêu chuẩn không có. Ví dụ: có một gói dành riêng cho Laravel có tên là Laravel Log Viewer, có thể được cài đặt qua Trình soạn thảo, có thể hiển thị nhật ký của bạn thông qua một tuyến đường hoặc chế độ xem tùy chỉnh và có thể hoạt động hiệu quả hơn Cấu hình/ghi nhật ký của Laravel. tệp phpThe
This code sets up the default log channel for Laravel. If you have a value for While changing something about what your application is logging needs to happen surrounding the code that you want logged, any changes to how your application is logging should be made and centralized in the Mối quan tâm về an ninhMột cách phổ biến mà tất cả các công ty (bao gồm cả những công ty nổi tiếng) vô tình làm rò rỉ thông tin là thông qua ghi nhật ký. Nếu bạn không cẩn thận với tư cách là nhà phát triển, thì thông tin cá nhân nhạy cảm, bao gồm cả mật khẩu, có thể được ghi vào tệp nhật ký, tệp này thường được lưu giữ ở mức độ bảo mật kém hơn so với mật khẩu được lưu trữ trong cơ sở dữ liệu hoặc một số hệ thống khác Ví dụ: nếu bạn đang cố gỡ lỗi thông tin liên quan đến người dùng và đăng xuất toàn bộ đối tượng người dùng, thông tin về người dùng đó có thể được lưu trữ trong nhật ký. Nếu các nhật ký này bị rò rỉ hoặc truy cập trái phép trong tương lai, thì tất cả thông tin của người dùng đã đăng nhập đó cũng bị rò rỉ. Tùy thuộc vào thông tin bạn đang lưu trữ về người dùng, điều này có thể có ý nghĩa cá nhân nghiêm trọng cũng như có khả năng tạo ra trách nhiệm pháp lý và tài chính cho chủ sở hữu ứng dụng. May mắn thay, có các gói PHP mà bạn có thể đưa vào ứng dụng của mình để che dấu dữ liệu này. Tuy nhiên, thỉnh thoảng vẫn nên kiểm tra nhật ký của bạn để đảm bảo không có thông tin nhạy cảm nào được lưu trữ ở đó Các công cụ phổ biến của bên thứ ba để ghi nhật kýThiết lập ghi nhật ký Laravel mặc định rất dễ bắt đầu, nhưng khi các ứng dụng trở nên phức tạp và phân tán hơn, việc ghi nhật ký cơ bản này đôi khi không đủ để cung cấp cho nhà phát triển thông tin họ cần để giữ cho ứng dụng của họ chạy trơn tru Các nhà phát triển thường sử dụng các công cụ như Papertrail để theo dõi nhật ký của họ hoặc New Relic để cung cấp cho họ khả năng quan sát những gì đang xảy ra với ứng dụng của họ. Tuy nhiên, khi bạn triển khai phức tạp trên cơ sở hạ tầng liên quan đến Kubernetes, mọi thứ sẽ phức tạp hơn một chút. Đó là nơi ContainIQ có thể trợ giúp Sử dụng ContainIQ cho các ứng dụng LaravelLà một giải pháp ghi nhật ký, ContainIQ cho phép bạn tìm hiểu sâu hơn về mã và cơ sở hạ tầng của mình bằng cách giám sát ứng dụng của bạn trực tiếp từ nhân, cung cấp cho các nhà phát triển khả năng ghi nhật ký cụ thể hơn ở cấp cụm và cấp ứng dụng. Với các công cụ ghi nhật ký khác không phải là Kubernetes gốc, bạn có thể gặp một số phần nhất định trong lỗi ghi nhật ký ứng dụng của mình khi lỗi thực sự nằm ở cấp độ cơ sở hạ tầng. Điều này có thể khiến bạn rơi vào hố sâu của cuộc điều tra mà cuối cùng sẽ không mang lại kết quả Ngoài việc cho phép các nhà phát triển xác định vấn đề nhanh hơn, ContainIQ còn giúp các nhà phát triển quyết định điều gì cần chú ý và điều gì có thể bỏ qua một cách an toàn. Sử dụng dữ liệu lịch sử, các nhóm có thể đặt cảnh báo thông minh hơn để tránh mệt mỏi khi cảnh báo và đảm bảo chỉ những thông tin cần được giải quyết mới đến được với các nhà phát triển, những người có thể thực hiện các thay đổi cần thiết Sau khi cảnh báo kích hoạt và cần thực hiện thay đổi, ContainIQ sẽ đưa tất cả thông tin cần thiết vào một nơi. Các ứng dụng Laravel ngày nay rất phức tạp và việc theo dõi giải pháp cho sự cố đã ghi thường liên quan đến việc so sánh nhiều bộ nhật ký cho ứng dụng, cơ sở hạ tầng của bạn và đôi khi là cả các nhà cung cấp bên ngoài. Tuy nhiên, ContainIQ có thể lưu trữ dữ liệu từ nhiều nguồn trong một nền tảng, cho phép người dùng tương quan các sự kiện từ nhiều bộ nhật ký mà không cần phải so sánh dấu thời gian theo cách thủ công Điều này đặc biệt quan trọng khi cố gắng tìm ra lý do tại sao một số lỗi nhất định lại xảy ra trong bối cảnh cơ sở hạ tầng Kubernetes của bạn. Vì ContainIQ có thể giúp bạn trực quan hóa toàn bộ thiết lập Kubernetes của mình và xác định chính xác các nút cụ thể mà bạn thấy lỗi, nên bạn có thể nhanh chóng tìm ra điều gì đang xảy ra và giải quyết vấn đề Cho dù ứng dụng của bạn trở nên phức tạp hơn mức có thể được gỡ lỗi một cách hiệu quả bằng tính năng ghi nhật ký mặc định của Laravel hay liệu việc gỡ lỗi và giải quyết các sự cố có mất quá nhiều thời gian và tạo ra quá nhiều điều không chắc chắn hay không, ContainIQ có thể là bước hỗ trợ bạn cần để đưa ứng dụng ghi nhật ký Laravel của mình lên hàng đầu. kết thúcNhật ký là một tính năng quan trọng trong bất kỳ ngăn xếp ứng dụng nào và các ứng dụng được xây dựng bằng Laravel cũng không ngoại lệ. Mặc dù Laravel cung cấp một mặt tiền nhật ký mạnh mẽ có thể xử lý ghi nhật ký ở mức cơ sở và có thể đẩy dữ liệu nhật ký đó đến nhiều nguồn khác nhau, nhưng khi ứng dụng của bạn trở nên phức tạp hơn và được triển khai trên cơ sở hạ tầng như Kubernetes, bạn cần một quy trình cụ thể hơn. ContainIQ cung cấp một bộ công cụ ghi nhật ký trên phạm vi rộng và với bộ công cụ này, bạn có thể chắc chắn rằng các nhà phát triển của mình đang có được thông tin chi tiết cần thiết để gỡ lỗi và cải thiện ứng dụng của họ một cách nhanh chóng và chính xác Bắt đầu 14 ngày miễn phí dùng thử ContainIQ Bắt đầu dùng thử miễn phí Đặt bản demoKhông cần thẻ Keanan Koppenhaver Kiến trúc sư kỹ thuật Keanan là CTO tại Alpha Particle, nơi anh ấy giúp các nhà xuất bản hiện đại hóa nền tảng công nghệ của họ và xây dựng đội ngũ nhà phát triển của họ. Trong suốt sự nghiệp của mình, anh ấy đã đảm nhiệm nhiều vai trò kỹ thuật bao gồm Kiến trúc sư kỹ thuật và Nhà phát triển chính. Keanan là Kiến trúc sư giải pháp được chứng nhận về dịch vụ web của Amazon ĐỌC THÊM bài viết liên quanTìm cách để tìm hiểu thêm? Nhật ký Laravel được lưu trữ ở đâu?Theo mặc định, Laravel được định cấu hình để tạo một tệp nhật ký duy nhất cho ứng dụng của bạn và tệp này được lưu trữ trong app/storage/logs/laravel. nhật ký .
Làm cách nào để duy trì nhật ký trong Laravel?Các tiện ích ghi nhật ký của Laravel cung cấp một lớp đơn giản bên trên thư viện Monolog mạnh mẽ. Theo mặc định, Laravel được định cấu hình để tạo tệp nhật ký hàng ngày cho ứng dụng của bạn, tệp này được lưu trữ trong thư mục lưu trữ/log . Bạn có thể ghi thông tin vào nhật ký như vậy. Nhật ký. info('Đây là một số thông tin hữu ích.
Làm cách nào để hiển thị nhật ký trong Laravel?Bạn có thể xem các mục nhật ký đã tạo trong storage/logs/laravel. tệp nhật ký .
Các cấp log của Laravel là gì?Trình ghi nhật ký cung cấp tám cấp độ ghi nhật ký được xác định trong RFC 5424. khẩn cấp, cảnh báo, quan trọng, lỗi, cảnh báo, thông báo, thông tin và gỡ lỗi . |