Writes to a specified System.IO.TextWriter and can thus be attached to practically any text-based .NET output and the in-memory System.IO.StringWriter class.