@Override
    public void append(final LogEvent event) {
        val context = event.getContextData()
            .toMap()
            .entrySet()
            .stream()
            .map(entry -> Pair.of(entry.getKey(), MessageAttributeValue.builder().stringValue(entry.getValue()).build()))
            .collect(Collectors.toMap(Pair::getKey, Pair::getValue));
        val message = new String(getLayout().toByteArray(event), StandardCharsets.UTF_8);
        val request = SendMessageRequest.builder()
            .queueUrl(queueUrl)
            .messageBody(message)
            .messageAttributes(context)
            .build();
        FunctionUtils.doUnchecked(__ -> sqsAsyncClient.sendMessage(request).get());
    }
Create appender.

@param name                the name
@param credentialAccessKey the credential access key
@param credentialSecretKey the credential secret key
@param region              the aws log region name
@param endpoint            the endpoint
@param queueName           the queue name
@param queueTags           the queue Tags
@param layout              the layout
@return the sqs appender
support/cas-server-support-logging-config-sqs/src/main/java/org/apereo/cas/logging/SQSAppender.java