Gedmo可记录工作,但不存储用户名



我已经在我的实体上进行了日志记录工作,以便当我使用@GedmoVersioned注释更改产品字段时创建新版本。然而,唯一的问题是username场仍然是NULL。当更新在Sonata Admin后端执行时,有一个经过身份验证的用户。

<?php
namespace MyAppCmsBundleEntityLog;
use DoctrineORMMapping as ORM;
use GedmoLoggableEntityMappedSuperclassAbstractLogEntry;
use GedmoLoggableEntityRepositoryLogEntryRepository;
/**
 * @ORMEntity(repositoryClass="GedmoLoggableEntityRepositoryLogEntryRepository", readOnly=true)
 * @ORMTable(
 *      name="log_product",
 *      indexes={
 *          @ORMIndex(name="log_class_lookup_idx", columns={"object_class"}),
 *          @ORMIndex(name="log_date_lookup_idx", columns={"logged_at"}),
 *          @ORMIndex(name="log_user_lookup_idx", columns={"username"}),
 *      }
 * )
 */
class ProductLog extends AbstractLogEntry
{
}

所以看起来log_user_lookup_idx不能正常工作,是否有一个特定的配置我需要这个?

看来我缺少了一点配置,将以下内容添加到主app/config/config.yml文件中就可以了。

stof_doctrine_extensions:
    default_locale: en
    orm:
        default:
            loggable: true

我最初在我的bundle的services.yml配置中有这个:

gedmo.listener.loggable:
    class: GedmoLoggableLoggableListener
    tags:
        - { name: doctrine.event_subscriber, connection: default }
    calls:
        - [ setAnnotationReader, [ "@annotation_reader" ] ]

这设法跟踪被修改的实体,但不是用户,我已经删除了这个配置,日志记录仍然与stof_doctrine_extensions配置设置一起工作。

如果你在你的代码库中都有,那么我发现所有的东西都会被记录两次。

相关内容

  • 没有找到相关文章

最新更新