Skip to content

Logging :: Implementations :: TextWriterLogger

mkloubert edited this page May 15, 2014 · 2 revisions

The TextWriterLogger uses a TextWriter instance to log.

The execution is done in the same thread.

using (var writer = new StreamWriter(@"C:\myLogFile.txt"))
{
    var logger = TextWriterLogger.Create(writer);

    logger.Log("That should be logged in DEBUG mode only.",
               LoggerFacadeCategories.Debug | LoggerFacadeCategories.Information);
}

Another way to do this:

var provider = new TextWriterLogger<StreamWriter>.TextWriterProvider((TextWriterLogger l) =>
    {
        return new StreamWriter(@"C:\myLogFile.txt");
    });

var disposer = new TextWriterLogger<StreamWriter>.TextWriterAction((TextWriterLogger l, StreamWriter writer) =>
    {
        writer.Dispose();
    });

var logger = new TextWriterLogger<StreamWriter>(provider, disposer);

logger.Log("That should be logged in DEBUG mode only.",
           LoggerFacadeCategories.Debug | LoggerFacadeCategories.Information);