在 lightadmin 中记录操作

Logging operations in lightadmin

我有一个 Java Web 应用程序,它使用 Spring 和 Hibernate,我计划使用 lightadmin 来提供管理界面。

但是,我发现关于 lightadmin 的日志记录部分的信息很少:如果我有这样的管理界面,我希望对我们的数据所做的任何操作(例如创建、更新或删除)都记录在我们的自定义记录器(它不在文件上,而是在数据库上的 table 上,这个选择很久以前就已经做出并实施了)。

我需要一个日志条目,其中包含一些关于已修改行的信息(可能只是 ID)。有全局配置方式吗?

或者我可以在扩展 AdministrationConfiguration 的每个 class 中的某处添加日志注释吗?如果是,在哪里?

您可以像在 LightAdmin 文档中显示的那样使用 class AbstractRepositoryEventListener here

通过将 onAfterSave、onAfterCreate 和 onAfterDelete 覆盖到您自己的 RepositoryEventListener 中来添加记录器插入。

之后你只需要像这样注册你的监听器

public class YourAdministration extends AdministrationConfiguration<YourObject> {

    public EntityMetadataConfigurationUnit configuration(EntityMetadataConfigurationUnitBuilder configurationBuilder) {
        return configurationBuilder
                .repositoryEventListener(YourRepositoryEventListener.class)
                .build();
    }

}