erik-perri / m2-event-log
Magento 2 插件,用于记录事件。
Requires
- php: ~7.1.3||~7.2.0||~7.3.0||~7.4.0
- ext-dom: *
- ext-intl: *
- ext-libxml: *
- magento/module-backend: 100.2.*||101.0.*||102.0.*
- magento/module-catalog: 102.0.*||103.0.*||104.0.*
- magento/module-eav: 101.0.*||102.0.*||102.1.*
- pelago/emogrifier: v2.2.0||v3.1.0
This package is auto-updated.
Last update: 2022-01-12 03:50:13 UTC
README
Magento 2 插件,用于记录事件。
目前仅记录有限的 Magento 2 管理员操作,主要用于开发需要可见日志的网站。
日志示例
/** @var \Magento\Framework\Event\ManagerInterface $eventManager */ // Add an info event. This would be rendered in the "Admin Log" group admin events get logged to. $eventManager->dispatch('event_log_info', [ 'group' => 'admin', 'message' => 'Banner {banner} {action}.', 'context' => [ 'banner' => [ 'text' => $banner->getName(), 'id' => $banner->getId(), ], 'action' => $banner->isObjectNew() ? 'created' : 'modified', ], ]);
消息中使用占位符以提高可翻译性(尚未实现)。当处理器遇到数组作为占位符值时,它将使用 text
数组值作为替换文本。在上面的示例中,除非创建自定义处理程序以使用 id
字段,否则日志中仅显示横幅名称。
请参阅 自定义占位符 以获取占位符处理程序的示例。
您的代码不应依赖于事件日志插件代码来添加事件,否则如果删除或禁用事件日志插件,它将失败。因此,您应该始终调用通用的 Magento 2 事件分发器来添加日志。
事件
event_log_info
记录标准条目。
event_log_error
记录错误,将以红色背景渲染。
event_log_warning
记录警告,将以黄色背景渲染。
event_log_security
记录安全条目,渲染方式与警告相同,但将始终渲染所有条目,无论是否隐藏重复条目设置。
事件选项
group
类型:String
用于渲染消息的组 ID。如果组未由自定义渲染器处理,则将使用具有提供的组 ID 转换为大写字母的标准渲染器。
message
类型:String
事件日志消息。动态部分或 HTML 应使用大括号和 context
数组。在处理占位符之前,将字符串传递给 HTML 编码器。
context
类型:Array
事件日志消息的上下文。上下文可以包括非字符串值(只要它们可以编码为 json),但任何在消息字符串中引用的键必须是字符串或包含 text
键的数组。如果不是,则消息将不会记录。
user-context
类型:Array|Boolean
需要包含在事件日志消息中的用户上下文。如果包含或设置为true,代码将尝试查找当前用户并将其附加到隐藏的上下文字段中。这将被用于在日志视图中渲染用户列。