The org.slf4j.Logger interface has with-Marker and without-Marker versions of each logging method,
public void trace(Marker marker, String format, Object arg);
public void trace(String format, Object arg);
However, the differentiatedLog method in log4j-over-slf4j ignores this and always calls the method with the Marker argument, even when there is no Marker. Logger implementations are then forced to defensively check for null Markers because of this error.
log4j-over-slf4j should instead call the correct (without-Marker) method when there is no Marker.