Make SemanticLogger a soft dependency and only use it if it is already loaded