slf4j should be used whenever possible