| <!-- |
| 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 debug="false" scan="true"> |
| <!-- Shutdown hook ensures that async appender flushes --> |
| <shutdownHook class="ch.qos.logback.core.hook.DelayingShutdownHook"/> |
| |
| <!-- Status listener is used to wrap stdout/stderr and tee to log file --> |
| <statusListener class="org.apache.cassandra.LogbackStatusListener" /> |
| |
| <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
| |
| <file>./build/test/logs/${cassandra.testtag}/TEST-${suitename}.log</file> |
| <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> |
| <fileNamePattern>./build/test/logs/${cassandra.testtag}/TEST-${suitename}.log.%i.gz</fileNamePattern> |
| <minIndex>1</minIndex> |
| <maxIndex>20</maxIndex> |
| </rollingPolicy> |
| |
| <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> |
| <maxFileSize>20MB</maxFileSize> |
| </triggeringPolicy> |
| |
| <encoder> |
| <pattern>%-5level [%thread] %date{ISO8601} %msg%n</pattern> |
| <immediateFlush>false</immediateFlush> |
| </encoder> |
| </appender> |
| |
| <appender name="STDOUT" target="System.out" class="org.apache.cassandra.ConsoleAppender"> |
| <encoder> |
| <pattern>%-5level %date{HH:mm:ss,SSS} %msg%n</pattern> |
| </encoder> |
| <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> |
| <level>DEBUG</level> |
| </filter> |
| </appender> |
| |
| <appender name="TEE" class="org.apache.cassandra.TeeingAppender"> |
| <appender-ref ref="FILE"/> |
| <appender-ref ref="STDOUT"/> |
| </appender> |
| |
| <logger name="org.apache.hadoop" level="WARN"/> |
| |
| <logger name="org.apache.cassandra.db.monitoring" level="DEBUG"/> |
| |
| <!-- Do not change the name of this appender. LogbackStatusListener uses the thread name |
| tied to the appender name to know when to write to real stdout/stderr vs forwarding to logback --> |
| <appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender"> |
| <discardingThreshold>0</discardingThreshold> |
| <maxFlushTime>0</maxFlushTime> |
| <queueSize>1024</queueSize> |
| <appender-ref ref="TEE"/> |
| </appender> |
| |
| <root level="INFO"> |
| <appender-ref ref="ASYNC" /> |
| </root> |
| </configuration> |