I tried to use appenders like that:
<appender name="Appender1" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>
<appender name="Appender2" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>
and I adde the filtering to them like
<configuration>
<appender name="Appender1" class="ch.qos.logback.core.ConsoleAppender">
<filter class="ch.qos.logback.classic.filter.MarkerFilter">
<marker>METHOD1</marker>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>
<appender name="Appender2" class="ch.qos.logback.core.ConsoleAppender">
<filter class="ch.qos.logback.classic.filter.MarkerFilter">
<marker>METHOD2</marker>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>
<logger name="com.yourpackage.method1" level="INFO" additivity="false">
<appender-ref ref="Appender1" />
</logger>
<logger name="com.yourpackage.method2" level="INFO" additivity="false">
<appender-ref ref="Appender2" />
</logger>
</configuration>
and in the code I have different Markers:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.Marker;
import org.slf4j.MarkerFactory;
public class YourClass {
private static final Logger logger = LoggerFactory.getLogger(YourClass.class);
private static final Marker METHOD1_MARKER = MarkerFactory.getMarker("METHOD1");
private static final Marker METHOD2_MARKER = MarkerFactory.getMarker("METHOD2");
public void method1() {
logger.info(METHOD1_MARKER, "This log statement is for method1");
}
public void method2() {
logger.info(METHOD2_MARKER, "This log statement is for method2");
}
}
and when I use
appenders I see no log entries in both appenders. And when I use
<logger name="com.yourpackage." level="INFO" additivity="false">
<appender-ref ref="Appender1" />
</logger>
<logger name="com.yourpackage." level="INFO" additivity="false">
<appender-ref ref="Appender2" />
</logger>
I see no entries in both. How to configure them properly to see the different methiods log entries into the different logback appenders?