WizLiz
WizLiz

Reputation: 2098

StreamWriter not working c#

im using a lot of streamwrtier in my application, and this one is suppsoed to log errors that happens while the program is running but at the moment it only creates the file withour writing into it :

  if(File.Exists(currentLog))//currentLog = "Path\\Log.txt"
        {
            using (var fileStream = File.Open(currentLog,FileMode.Open))
            {
                StreamWriter ErreurStreamWriter = new StreamWriter(fileStream);
                ErreurStreamWriter.WriteLine("{0}",e.Message);
                ErreurStreamWriter.WriteLine("-------------------------------");
            }
        }
        else
        {
            using (var fileStream = File.Create(currentLog))
            {
                StreamWriter ErreurStreamWriter = new StreamWriter(fileStream);
                ErreurStreamWriter.Write("Liste des erreurs :");
                ErreurStreamWriter.WriteLine("{0}", e.Message);
                ErreurStreamWriter.WriteLine("-------------------------------");
            }
        }

Am I missing something obvious here ? Any help would be great, thanks

Upvotes: 0

Views: 3006

Answers (2)

Tenerezza
Tenerezza

Reputation: 394

Try this

        using (var fileStream = File.Open(currentLog, FileMode.Open))
        {
            using (StreamWriter erreurStreamWriter = new StreamWriter(fileStream))
            { 
                erreurStreamWriter.WriteLine("{0}", e.Message);
                erreurStreamWriter.WriteLine("-------------------------------");
            }
        }

Basically what I think happens is that the stream writer never flush into the filestream.

Upvotes: 2

M-Askman
M-Askman

Reputation: 400

may be need to Flush() after write, or try to append when exist

Upvotes: 4

Related Questions