@Bean
        @ConditionalOnMissingBean(name = "casAuditActionResolversResolutionPlanConfigurer")
        @RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
        public AuditTrailRecordResolutionPlanConfigurer casAuditActionResolversResolutionPlanConfigurer(
            @Qualifier("authenticationActionResolver")
            final AuditActionResolver authenticationActionResolver,
            @Qualifier("objectCreationAuditActionResolver")
            final AuditActionResolver objectCreationAuditActionResolver,
            @Qualifier("defaultAuditActionResolver")
            final AuditActionResolver defaultAuditActionResolver,
            @Qualifier("ticketCreationActionResolver")
            final AuditActionResolver ticketCreationActionResolver,
            @Qualifier("triggeredAuditActionResolver")
            final AuditActionResolver triggeredAuditActionResolver,
            @Qualifier("ticketValidationActionResolver")
            final AuditActionResolver ticketValidationActionResolver,
            @Qualifier("booleanActionResolver")
            final AuditActionResolver booleanActionResolver,
            @Qualifier("logoutAuditActionResolver")
            final AuditActionResolver logoutAuditActionResolver) {
            return plan -> {
                plan.registerAuditActionResolvers(authenticationActionResolver,
                    AuditActionResolvers.AUTHENTICATION_RESOLVER,
                    AuditActionResolvers.SAVE_SERVICE_ACTION_RESOLVER);

                plan.registerAuditActionResolvers(ticketCreationActionResolver,
                    AuditActionResolvers.CREATE_PROXY_GRANTING_TICKET_RESOLVER,
                    AuditActionResolvers.GRANT_PROXY_TICKET_RESOLVER,
                    AuditActionResolvers.CREATE_TICKET_GRANTING_TICKET_RESOLVER,
                    AuditActionResolvers.GRANT_SERVICE_TICKET_RESOLVER);

                plan.registerAuditActionResolver(AuditActionResolvers.DELETE_SERVICE_ACTION_RESOLVER, objectCreationAuditActionResolver);

                plan.registerAuditActionResolvers(defaultAuditActionResolver,
                    AuditActionResolvers.DESTROY_TICKET_RESOLVER,
                    AuditActionResolvers.DESTROY_PROXY_GRANTING_TICKET_RESOLVER);

                plan.registerAuditActionResolvers(triggeredAuditActionResolver,
                    AuditActionResolvers.AUTHENTICATION_EVENT_ACTION_RESOLVER,
                    AuditActionResolvers.SERVICE_ACCESS_ENFORCEMENT_ACTION_RESOLVER);

                plan.registerAuditActionResolver(AuditActionResolvers.VALIDATE_SERVICE_TICKET_RESOLVER, ticketValidationActionResolver);
                plan.registerAuditActionResolver(AuditActionResolvers.VALIDATE_PROTOCOL_SPECIFICATION_RESOLVER, booleanActionResolver);

                plan.registerAuditActionResolver(AuditActionResolvers.LOGOUT_ACTION_RESOLVER, logoutAuditActionResolver);
            };
        }
This is {@link CasCoreAuditAutoConfiguration}.

@author Misagh Moayyed
@since 5.0.0
core/cas-server-core-audit/src/main/java/org/apereo/cas/config/CasCoreAuditAutoConfiguration.java