| <?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> |
| |
| <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> |
| <encoder> |
| <pattern>%d [%t] %-5p %c{30} %m [%X]%n</pattern> |
| </encoder> |
| </appender> |
| |
| <appender name="LOGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| <File>../logs/airavata.log</File> |
| <Append>true</Append> |
| <encoder> |
| <pattern>%d [%t] %-5p %c{30} %m [%X]%n</pattern> |
| </encoder> |
| <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
| <fileNamePattern>../logs/airavata.log.%d{yyyy-MM-dd}</fileNamePattern> |
| <maxHistory>30</maxHistory> |
| <totalSizeCap>1GB</totalSizeCap> |
| </rollingPolicy> |
| </appender> |
| |
| <appender name="KAFKA_FAILED_LOGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| <File>../logs/kafka-failed.log</File> |
| <Append>true</Append> |
| <encoder> |
| <pattern>%d [%t] %-5p %c{30} %X - %m%n</pattern> |
| </encoder> |
| <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> |
| <fileNamePattern>../logs/kafka-failed.log.%d{yyyy-MM-dd}</fileNamePattern> |
| <maxHistory>30</maxHistory> |
| <totalSizeCap>1GB</totalSizeCap> |
| </rollingPolicy> |
| </appender> |
| |
| |
| <appender name="RELAXED-KAFKA-APPENDER" class="com.github.danielwegener.logback.kafka.KafkaAppender"> |
| <encoder class="net.logstash.logback.encoder.LogstashEncoder"> |
| <pattern>%d [%t] %-5p %c{30} %X - %m%n</pattern> |
| </encoder> |
| <topic>airavata-logs</topic> |
| <!-- we don't care how the log messages will be partitioned --> |
| <keyingStrategy class="com.github.danielwegener.logback.kafka.keying.NoKeyKeyingStrategy" /> |
| |
| <!-- use async delivery. the application threads are not blocked by logging --> |
| <deliveryStrategy class="com.github.danielwegener.logback.kafka.delivery.AsynchronousDeliveryStrategy" /> |
| |
| <!-- each <producerConfig> translates to regular kafka-client config (format: key=value) --> |
| <!-- producer configs are documented here: https://kafka.apache.org/documentation.html#newproducerconfigs --> |
| <!-- bootstrap.servers is the only mandatory producerConfig --> |
| <producerConfig>bootstrap.servers=192.168.99.103:9092</producerConfig> |
| <!-- don't wait for a broker to ack the reception of a batch. --> |
| <producerConfig>acks=0</producerConfig> |
| <!-- wait up to 1000ms and collect log messages before sending them as a batch --> |
| <producerConfig>linger.ms=1000</producerConfig> |
| <!-- even if the producer buffer runs full, do not block the application but start to drop messages --> |
| <producerConfig>max.block.ms=0</producerConfig> |
| <!-- define a client-id that you use to identify yourself against the kafka broker --> |
| <producerConfig>client.id=${HOSTNAME}-${CONTEXT_NAME}-logback-relaxed</producerConfig> |
| |
| <!-- there is no fallback <appender-ref>. If this appender cannot deliver, it will drop its messages. --> |
| <appender-ref ref="KAFKA_FAILED_LOGFILE"/> |
| </appender> |
| |
| <logger name="ch.qos.logback" level="WARN"/> |
| <logger name="org.apache.helix" level="WARN"/> |
| <logger name="org.apache.zookeeper" level="ERROR"/> |
| <logger name="org.apache.airavata" level="INFO"/> |
| <logger name="org.hibernate" level="ERROR"/> |
| <root level="INFO"> |
| <appender-ref ref="RELAXED-KAFKA-APPENDER"/> |
| <appender-ref ref="CONSOLE"/> |
| <appender-ref ref="LOGFILE"/> |
| </root> |
| </configuration> |