League recap: Ludwig dominating on the mound for Princeton

Granite Ridge league recap: 5/21/12