<?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 status="OFF" name="MyApp">
  <Appenders>
    <Socket name="socket" host="localhost" port="${sys:SocketAppender.port}" protocol="TCP" ignoreExceptions="false">
      <JsonLayout properties="true"/>
      <SocketOptions keepAlive="false" oobInline="false" receiveBufferSize="10000" reuseAddress="false"
        rfc1349TrafficClass="IPTOS_LOWCOST" sendBufferSize="8000" soLinger="12345" soTimeout="54321" tcpNoDelay="false">
        <SocketPerformancePreferences bandwidth="100" connectionTime="100" latency="100" />
      </SocketOptions>
    </Socket>
  </Appenders>
  <Loggers>
    <Root level="debug">
      <AppenderRef ref="socket" />
    </Root>
  </Loggers>
</Configuration>