//Dstl (c) Crown Copyright 2017
package uk.gov.dstl.baleen.core.logging.builders;
import ch.qos.logback.classic.LoggerContext;
import ch.qos.logback.classic.spi.ILoggingEvent;
import ch.qos.logback.core.Appender;
import ch.qos.logback.core.encoder.Encoder;
/**
* Base interface for all log appender builders to implement.
*
*
*/
public interface BaleenLoggerBuilder {
/**
* Creates a new configured appender.
*
* @param context The logger context
* @param encoder The encoder to use (if this appender has an option)
* @return The configured appender (ideally in an unstarted state)
*/
Appender<ILoggingEvent> build(LoggerContext context, Encoder<ILoggingEvent> encoder);
/**
* Gets the formatting pattern for the log entries.
*
* @return Pattern in logback format
*/
String getPattern();
/**
* Get the name of the logger.
*
* @return Name of the logger
*/
String getName();
}