dig*_*rld 5 logging symfony gedmo-loggable
我已经在我的实体上进行了日志记录,因此当我使用@Gedmo\Versioned注释更改产品字段时,会创建一个新版本.然而,唯一的问题是该username领域仍然存在NULL.有一个经过身份验证的用户,因为更新是在Sonata Admin后端执行的.
<?php
namespace MyApp\CmsBundle\Entity\Log;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Loggable\Entity\MappedSuperclass\AbstractLogEntry;
use Gedmo\Loggable\Entity\Repository\LogEntryRepository;
/**
* @ORM\Entity(repositoryClass="Gedmo\Loggable\Entity\Repository\LogEntryRepository", readOnly=true)
* @ORM\Table(
* name="log_product",
* indexes={
* @ORM\Index(name="log_class_lookup_idx", columns={"object_class"}),
* @ORM\Index(name="log_date_lookup_idx", columns={"logged_at"}),
* @ORM\Index(name="log_user_lookup_idx", columns={"username"}),
* }
* )
*/
class ProductLog extends AbstractLogEntry
{
}
Run Code Online (Sandbox Code Playgroud)
所以看起来它log_user_lookup_idx工作不正常,我需要一个特殊的配置吗?
看来我丢失了一些配置,将以下内容添加到主app/config/config.yml文件中就可以了.
stof_doctrine_extensions:
default_locale: en
orm:
default:
loggable: true
Run Code Online (Sandbox Code Playgroud)
我原来在我的捆绑包services.yml配置中有这个:
gedmo.listener.loggable:
class: Gedmo\Loggable\LoggableListener
tags:
- { name: doctrine.event_subscriber, connection: default }
calls:
- [ setAnnotationReader, [ "@annotation_reader" ] ]
Run Code Online (Sandbox Code Playgroud)
这设法跟踪被修改的实体而不是用户,我已经删除了这个配置,并且日志记录仍然只用于stof_doctrine_extensions配置设置.
如果你的代码库中都有这两个代码库,那么我找到的所有东西都会记录两次.
| 归档时间: |
|
| 查看次数: |
2167 次 |
| 最近记录: |