| <?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="DEBUG" monitorInterval="0"> |
| <Properties> |
| <Property name="spring.application.name">sampleapp</Property> |
| </Properties> |
| <Appenders> |
| <!--<Flume name="flume" ignoreExceptions="false" type="Embedded" compress="false"> |
| <Property name="channel.type">memory</Property> |
| <Property name="channel.capacity">100000</Property> |
| <Property name="channel.transactionCapacity">5000</Property> |
| <Property name="sinks">agent1</Property> |
| <Property name="agent1.type">avro</Property> |
| <Property name="agent1.hostname">flume</Property> |
| <Property name="agent1.port">5050</Property> |
| <Property name="agent1.batch-size">1000</Property> |
| <Property name="processor.type">default</Property> |
| <JsonLayout properties="true" compact="true" eventEol="true"> |
| <KeyValuePair key="containerId" value="\${docker:containerId}"/> |
| <KeyValuePair key="containerName" value="\${docker:containerName}"/> |
| <KeyValuePair key="imageName" value="\${docker:imageName}"/> |
| <KeyValuePair key="application" value="\$\${lower:\${spring:spring.application.name}}"/> |
| </JsonLayout> |
| </Flume> |
| <Flume name="avro" ignoreExceptions="false" batchSize="1" compress="false"> |
| <Agent host="flume" port="5050"/> |
| <JsonLayout properties="true" compact="true" eventEol="true" stackTraceAsString="true"> |
| <KeyValuePair key="containerId" value="\${docker:containerId}"/> |
| <KeyValuePair key="containerName" value="\${docker:containerName}"/> |
| <KeyValuePair key="imageName" value="\${docker:imageName}"/> |
| <KeyValuePair key="application" value="\$\${lower:\${spring:spring.application.name}}"/> |
| </JsonLayout> |
| </Flume> |
| <Flume name="avroSyslog" ignoreExceptions="false" batchSize="100" compress="false"> |
| <Agent host="flume" port="5050"/> |
| <RFC5424Layout enterpriseNumber="18060" includeMDC="true" mdcId="RequestContext" appName="Sample" |
| mdcPrefix=""> |
| <LoggerFields> |
| <KeyValuePair key="containerId" value="\${docker:containerId}"/> |
| <KeyValuePair key="containerName" value="\${docker:containerName}"/> |
| <KeyValuePair key="imageName" value="\${docker:imageName}"/> |
| <KeyValuePair key="application" value="\$\${lower:\${spring:spring.application.name}}"/> |
| </LoggerFields> |
| </RFC5424Layout> |
| </Flume> |
| <Kafka name="Kafka" topic="log-test" syncSend="false"> |
| <JsonLayout properties="true" compact="true" eventEol="true"> |
| <KeyValuePair key="containerId" value="\${docker:containerId}"/> |
| <KeyValuePair key="containerName" value="\${docker:containerName}"/> |
| <KeyValuePair key="imageName" value="\${docker:imageName}"/> |
| <KeyValuePair key="application" value="\$\${lower:\${spring:spring.application.name}}"/> |
| </JsonLayout> |
| <Property name="bootstrap.servers">host.docker.internal:9092</Property> |
| </Kafka> |
| <Socket name="fluent-bit" host="fluent-bit" port="24221"> |
| <JsonLayout properties="true" compact="true" eventEol="true" stackTraceAsString="true"> |
| <KeyValuePair key="containerId" value="\${docker:containerId}"/> |
| <KeyValuePair key="containerName" value="\${docker:containerName}"/> |
| <KeyValuePair key="imageName" value="\${docker:imageName}"/> |
| <KeyValuePair key="application" value="\$\${lower:\${spring:spring.application.name}}"/> |
| </JsonLayout> |
| </Socket> |
| <RollingFile name="RollingFile" fileName="/var/log/sampleapp/app.log" |
| filePattern="/var/log/sampleapp/archive/app.log.%i"> |
| <JsonLayout properties="true" compact="true" eventEol="true" stackTraceAsString="true"> |
| <KeyValuePair key="containerId" value="\${docker:containerId}"/> |
| <KeyValuePair key="containerName" value="\${docker:containerName}"/> |
| <KeyValuePair key="imageName" value="\${docker:imageName}"/> |
| <KeyValuePair key="application" value="\$\${lower:\${spring:spring.application.name}}"/> |
| </JsonLayout> |
| <SizeBasedTriggeringPolicy size="10MB" /> |
| <DefaultRolloverStrategy max="5"/> |
| </RollingFile> |
| <RollingFile name="RollingSyslog" fileName="/var/log/sampleapp/syslog.log" |
| filePattern="/var/log/sampleapp/archive/syslog.log.%i"> |
| <RFC5424Layout enterpriseNumber="18060" includeMDC="true" mdcId="RequestContext" appName="Sample" |
| mdcPrefix=""> |
| <LoggerFields> |
| <KeyValuePair key="containerId" value="\${docker:containerId}"/> |
| <KeyValuePair key="containerName" value="\${docker:containerName}"/> |
| <KeyValuePair key="imageName" value="\${docker:imageName}"/> |
| <KeyValuePair key="application" value="\$\${lower:\${spring:spring.application.name}}"/> |
| </LoggerFields> |
| </RFC5424Layout> |
| <SizeBasedTriggeringPolicy size="10MB" /> |
| <DefaultRolloverStrategy max="5"/> |
| </RollingFile>--> |
| <Socket name="Elastic" host="\${sys:elastic.search.host:-localhost}" port="12222" protocol="tcp" bufferedIo="true" ignoreExceptions="false"> |
| <GelfLayout includeStackTrace="true" host="${hostName}" includeThreadContext="true" includeNullDelimiter="true" |
| compressionType="OFF"> |
| <ThreadContextIncludes>requestId,sessionId,loginId,userId,ipAddress,corpAcctNumber,callingHost,ohBehalfOf,onBehalfOfAccount</ThreadContextIncludes> |
| <MessagePattern>%d [%t] %-5p %X{requestId, sessionId, loginId, userId, ipAddress, corpAcctNumber} %C{1.}.%M:%L - %m%n</MessagePattern> |
| <KeyValuePair key="docker.containerId" value="\${docker:containerId:-}"/> |
| <KeyValuePair key="application" value="$\${lower:\${spring:spring.application.name}}"/> |
| <KeyValuePair key="kubernetes.serviceAccountName" value="\${k8s:accountName:-}"/> |
| <KeyValuePair key="kubernetes.containerId" value="\${k8s:containerId:-}"/> |
| <KeyValuePair key="kubernetes.containerName" value="\${k8s:containerName:-}"/> |
| <KeyValuePair key="kubernetes.host" value="\${k8s:host:-}"/> |
| <KeyValuePair key="kubernetes.labels.app" value="\${k8s:labels.app:-}"/> |
| <KeyValuePair key="kubernetes.labels.pod-template-hash" value="\${k8s:labels.podTemplateHash:-}"/> |
| <KeyValuePair key="kubernetes.master_url" value="\${k8s:masterUrl:-}"/> |
| <KeyValuePair key="kubernetes.namespaceId" value="\${k8s:namespaceId:-}"/> |
| <KeyValuePair key="kubernetes.namespaceName" value="\${k8s:namespaceName:-}"/> |
| <KeyValuePair key="kubernetes.podID" value="\${k8s:podId:-}"/> |
| <KeyValuePair key="kubernetes.podIP" value="\${k8s:podIp:-}"/> |
| <KeyValuePair key="kubernetes.podName" value="\${k8s:podName:-}"/> |
| <KeyValuePair key="kubernetes.imageId" value="\${k8s:imageId:-}"/> |
| <KeyValuePair key="kubernetes.imageName" value="\${k8s:imageName:-}"/> |
| </GelfLayout> |
| </Socket> |
| <Console name="Console" target="SYSTEM_OUT"> |
| <RFC5424Layout enterpriseNumber="50177" includeMDC="true" mdcId="RequestContext" appName="SalesforceGateway" |
| mdcPrefix="" newLine="true" mdcIncludes="requestId,sessionId,loginId,userId,ipAddress,corpAcctNumber"/> |
| </Console> |
| <Failover name="log4j" primary="Elastic"> |
| <Failovers> |
| <AppenderRef ref="Console"/> |
| </Failovers> |
| </Failover> |
| </Appenders> |
| |
| <Loggers> |
| <Logger name="org.apache.kafka" level="warn" additivity="false"> |
| <AppenderRef ref="log4j"/> |
| </Logger> |
| <Logger name="org.apache.flume" level="warn" additivity="false"> |
| <AppenderRef ref="log4j"/> |
| </Logger> |
| <Logger name="org.apache.avro" level="warn" additivity="false"> |
| <AppenderRef ref="log4j"/> |
| </Logger> |
| <Root level="DEBUG"> |
| <AppenderRef ref="log4j"/> |
| </Root> |
| </Loggers> |
| </Configuration> |