Search code examples
c#asp.netconsole.writeline

Why Console.WriteLine in ASP.NET application not writing to file?


I was doing some trials on the basis of the following Q&A: Where does Console.WriteLine go in ASP.NET?.

The code I tried goes like below:

    var fs = new System.IO.FileStream(@"D:\log.txt", System.IO.FileMode.Append);
    var tr = new System.IO.StreamWriter(fs);
    Console.SetOut(tr);
    Console.WriteLine("My Default Debugging");
    fs.Close();

Here I am setting the FileStream fs to StreamWriter tr and in turn setting it as Console.Out by calling Console.SetOut(). So, by that I am expecting it to write to the file by Console.WriteLine(). Though my file gets created, it is empty.

What can be the thing I am missing here?


Solution

  • var fs = new System.IO.FileStream(@"D:\log.txt", System.IO.FileMode.Append);
    var tr = new System.IO.StreamWriter(fs);
    Console.SetOut(tr);
    Console.WriteLine("My Default Debugging");
    tr.Close();
    fs.Close();
    

    Maybe it's because you didn't close the StreamWriter before you closed the FileStream?