class ExternalCommunicationEventLogger {

    public void logIdpAuthnRequest(String messageId, SessionId sessionId, URI targetUrl, String principalIpAddressAsSeenByHub) {

        Map<EventDetailsKey, String> details = new HashMap<>();
        details.put(principal_ip_address_as_seen_by_hub, principalIpAddressAsSeenByHub);

        logExternalCommunicationEvent(messageId, sessionId, targetUrl, AUTHN_REQUEST, IncludeIpAddressState.NO_RESOLVED_IP_ADDRESS, details);
    }

    @Inject public  ExternalCommunicationEventLogger(ServiceInfoConfiguration serviceInfo,
                                            EventSinkProxy eventSinkProxy,
                                            EventEmitter eventEmitter,
                                            IpAddressResolver ipAddressResolver);

}