Search code examples
wcfiisconsoleconsole-application

Where does console output go in an IIS hosted app?


Say I have a WCF app hosted in IIS. And in that app I run this line of code:

 Console.WriteLine("Testing, testing 1 2 3");

Where will that be written to? Or is it ignored and just lost?

Is there someway to capture it when needed?


Solution

  • Nowhere. More specifically:

    NullStream, which is defined as "A Stream with no backing store.". All the methods do nothing or return nothing. It is an internal class to Stream. The following code is taken from Microsoft's source code.

    Basically, when one of the Console write methods is call the first time, a call is made to the Windows API function GetStdHandle for "standard output". If no handle is returned a NullStream is created and used.

    quoted from here: https://stackoverflow.com/a/2075892/12744

    actually, the same answer goes to on to address the second part of your question too:

    To actually redirect Console output, regardless of the project type, use

      Console.SetOut(New System.IO.StreamWriter("C:\ConsoleOutput.txt")),