Don't use a string here to pass an argument (the number of tasks). Can't you just access stage.numPartitons? If not, pass the number of tasks as a numeric argument and then deal with formatting the string inside of the JobLogger.

Ideally you should have
case class StageSubmitted(stage: Stage)

...something like that.