Trong Magento 1, thông thường phân đoạn nhật ký thành các tệp khác nhau (để tách nhật ký cho phương thức thanh toán, v.v.). Điều đó dễ như thay đổi $file
tham số của Mage::log
.
Magento 2 đã thay đổi để sử dụng Monolog.
Dường như Monolog (hoặc Magento2 triển khai nó) phân đoạn tất cả các bản ghi cho toàn bộ khung cho người xử lý theo mức độ nghiêm trọng. Có một vài trình xử lý ghi vào tệp:
\Magento\Framework\Logger\Handler\Debug
, \Magento\Framework\Logger\Handler\Exception
,\Magento\Framework\Logger\Handler\System
Đăng nhập vào các tệp tương ứng trong var / log như trong Magento 1.
Tôi có thể thêm một trình xử lý cho một mức độ nghiêm trọng cụ thể (IE, viết thông báo cho var/log/notice.log
). Mở rộng \Magento\Framework\Logger\Handler\Base
và đăng ký xử lý di.xml
.
Bài viết này mô tả quá trình đó: http://semaphoresoftware.kinja.com/how-to-create-a-custom-log-in-magento-2-1704130912
Nhưng làm thế nào để tôi viết về tất cả các bản ghi (không chỉ một mức độ nghiêm trọng) cho một lớp (không phải tất cả Magento) vào tệp mà tôi chọn?
Có vẻ như tôi sẽ phải tạo phiên bản của riêng mình Magento\Framework\Logger\Monolog
, nhưng sau đó làm thế nào để mọi thứ khớp với nhau để nó thực sự hoạt động?
Nếu đây là một không lớn trong Magento 2, thì đâu là sự thay thế? Tôi muốn một cái gì đó để tách các bản ghi cho phần mở rộng này cho mục đích gỡ lỗi nó khi cần thiết trên các trang web của khách hàng. Có thông tin đó được ghi vào system.log, exe.log, v.v. và lộn xộn với nhật ký của mọi mô-đun khác là không thực tế.