如何使用onAfterSave在mongodb数据库中创建审核日志

时间:2019-09-26 21:25:51

标签: spring mongodb spring-boot spring-data-mongodb

我使用的是spring-data-mongodb,我想将审核日志作为一个单独的集合存储在MongoDB中,该集合将计数中的每个创建,更新和删除操作。

是否有像Spring Boot AuditingEntityListener这样的解决方案使用@ PostPersist,@ PostUpdate,@ PostRemove。

对于上述情况,我还在尝试

@Component
public class MongoListener extends AbstractMongoEventListener<Account> 
{

    @Override
    public void onAfterSave(AfterSaveEvent<E> event) {

       if (LOG.isDebugEnabled()) {
                LOG.debug("onAfterSave({}, {})", event.getSource(), 
     event.getDocument());
       }
        AuditLog auditLog = new AuditLog();
        auditLog.setEventType(AuditAction.CREATE.value());
        auditLog.setCommitVersion(1);
        auditLog.setNewValue(event.getSource());
        auditLog.setOldValue(event.getSource());
        auditLogRepository.save(auditLog);

    }

但是在这里它会多次存储数据,直到给出db数据溢出异常为止。 对于生成此自定义审核日志的任何帮助,将enter code here非常感谢。

0 个答案:

没有答案