Tổng quan
Chức năng nhật ký hoạt động của Sonata Extra Bundle được thiết kế để giám sát và ghi lại tất cả các hoạt động trong trang quản trị. Nó cung cấp một cái nhìn toàn diện về các hành động đã thực hiện, các tài nguyên liên quan, mô tả các hoạt động và người dùng đã thực hiện chúng.
Tính năng
- Hiển thị loại hành động: Hiển thị loại hành động đã thực hiện (ví dụ: tạo, cập nhật, xóa).
- Theo dõi tài nguyên: Xác định tài nguyên đã bị ảnh hưởng bởi hành động.
- Mô tả hành động: Cung cấp một mô tả chi tiết về hoạt động.
- Xác định người dùng: Hiển thị người dùng đã thực hiện hành động.
- Chế độ xem chi tiết: Cung cấp cái nhìn sâu sắc về các phần đã được chỉnh sửa trong từng hoạt động.
- Hủy bỏ: Bao gồm một chức năng cho phép đảo ngược các thay đổi khi có thể.
Màn hình
- Chế độ xem danh sách:

- Xem chi tiết:

Kích hoạt nhật ký hoạt động
Để kích hoạt tính năng nhật ký hoạt động, cấu hình dịch vụ sau đây phải được thêm vào tệp dịch vụ của bạn:
sonata-extra.doctrine_activity_listener:
class: Partitech\SonataExtra\EventListener\DoctrineActivityListener
tags:
- { name: doctrine.event_listener, event: prePersist }
- { name: doctrine.event_listener, event: preUpdate }
- { name: doctrine.event_listener, event: preRemove }
- { name: doctrine.event_listener, event: onFlush }
- { name: kernel.event_listener, event: sonata.admin.event.batch_action.pre_batch_action, method: onPreBatchAction }
Chi tiết về việc triển khai
- Lớp DoctrineActivityListener chịu trách nhiệm lắng nghe các sự kiện khác nhau của Doctrine và quản trị Sonata.
- Các sự kiện như prePersist, preUpdate, preRemove và onFlush được theo dõi để ghi lại các hoạt động liên quan đến những thay đổi trong vòng đời của các thực thể.
- Phương thức onPreBatchAction quản lý việc ghi nhật ký các hành động theo lô được thực hiện trong quản trị Sonata.
Sử dụng
Khi được kích hoạt, chức năng Nhật ký hoạt động sẽ tự động bắt đầu ghi lại các hoạt động dựa trên các sự kiện đã được cấu hình. Các nhật ký có thể được xem trong giao diện quản trị, nơi chi tiết của từng hoạt động được hiển thị một cách rõ ràng.
Kết luận
Nhật ký hoạt động là một tính năng mạnh mẽ để giám sát và kiểm soát các hành động trong giao diện quản trị Sonata. Nó nâng cao tính minh bạch và trách nhiệm bằng cách cung cấp các bản nhật ký rõ ràng và chi tiết về tất cả các hoạt động.
Điều chỉnh ví dụ cho phù hợp với phiên bản đã cài đặt
Các ví dụ Symfony và Sonata vẫn gắn với các phiên bản được chỉ ra trong bài viết. Symfony 4.x và Symfony 6.2 không còn được duy trì: đối với một dự án hiện tại, hãy sử dụng một nhánh được duy trì và tài liệu tương ứng chính xác với các phụ thuộc của bạn.
php bin/console about
composer show symfony/framework-bundle sonata-project/admin-bundle
Trước khi tiếp tục với mã, hãy kiểm tra các chữ ký, dịch vụ, tuyến đường và mẫu liên quan. Sau đó thêm một bài kiểm tra chức năng bao phủ quyền, mã HTTP và kết quả hiển thị.
Tham chiếu : phiên bản Symfony được hỗ trợ.