В обозримом будущем вам нужно будет писать не в stdout.
Можно либо передавать в функцию OutputStream, либо возвращать String.