Why spend the time and effort on an investigation, when the reporter knows who the leak is? Why not just compel him to say whom, if the fact of the release was illegal?
It is not making him incriminate himself, but by NOT saying, in front of a federal jury, he is commiting perjury.
As an example, say that a reporter interviewed a terrorist, who provided the reporter with the specific information of an attack, in advance. The reporter reported the story, but with no specifics or names, and the attack took place. Would he then be protected? I don't think so.