<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Licensed to the Apache Software Foundation (ASF) under one or more
  ~ contributor license agreements.  See the NOTICE file distributed with
  ~ this work for additional information regarding copyright ownership.
  ~ The ASF licenses this file to you under the Apache License, Version 2.0
  ~ (the "License"); you may not use this file except in compliance with
  ~ the License.  You may obtain a copy of the License at
  ~
  ~      http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->
<Configuration xmlns="https://logging.apache.org/xml/ns">
  <Appenders>
    <!-- tag::appender[] -->
    <Routing name="ROUTING">
      <Script language="groovy"> <!--1-->
        staticVariables.servers = ['server1', 'server2', 'server3'];
        staticVariables.count = 0;
      </Script>
      <Routes>
        <Script language="groovy"> <!--2-->
          int count = staticVariables.count++;
          String server = staticVariables.servers[count % 3];
          return configuration.properties['server'] = server;
        </Script>
        <Route>
          <Socket name="${server}"
                  protocol="TCP"
                  host="${server}"
                  port="500"> <!--3-->
            <Rfc5424Layout/>
          </Socket>
        </Route>
      </Routes>
    </Routing>
    <!-- end::appender[] -->
  </Appenders>
  <Loggers>
    <Root level="INFO">
      <AppenderRef ref="ROUTING"/>
    </Root>
  </Loggers>
</Configuration>
