/* * Copyright © 2016-2017 European Support Limited * * Licensed 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. */ package org.openecomp.sdc.logging.logback; import ch.qos.logback.classic.Level; import ch.qos.logback.classic.spi.ILoggingEvent; import ch.qos.logback.core.sift.AbstractDiscriminator; import org.openecomp.sdc.logging.slf4j.Markers; import org.slf4j.Marker; /** * Can be used with {@link ch.qos.logback.classic.sift.SiftingAppender} to route events of different types to * separate log files. For example, * *
* <configuration> * <appender name="SIFT" class="ch.qos.logback.classic.sift.SiftingAppender"> * <discriminator class="org.openecomp.sdc.logging.logback.EventTypeDiscriminator"/> * <sift> * <appender name="{EventType}" class="ch.qos.logback.core.rolling.RollingFileAppender"> * <file>${logDirectory}/${eventType}.log</file> * <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> * <fileNamePattern>${logDirectory}/${eventType}.%i.log.zip</fileNamePattern> * <minIndex>1</minIndex> * <maxIndex>9</maxIndex> * </rollingPolicy> * <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> * <maxFileSize>5MB</maxFileSize> * </triggeringPolicy> * <encoder> * <pattern>${defaultPattern}</pattern> * </encoder> * </appender> * </sift> * </appender> * * <root level="INFO"> * <appender-ref ref="SIFT" /> * </root> * </configuration> ** * @author evitaliy * @since 21/07/2016. */ public class EventTypeDiscriminator extends AbstractDiscriminator