Borde inte detta fungera? Hej Fredrik. Så här nånting hade jag nog gjort: Fel av mig.Skapa fil och lägga till text
Filen är tom när jag läser i den.
private void writeLogToFile(string fileName)
{
FileStream file = new FileStream(@"c:\email.log", FileMode.Append, FileAccess.Write);
StreamWriter sw = new StreamWriter(@"c:\email.log");
sw.WriteLine(fileName);
sw.Close();
file.Close();
}
Sv: Skapa fil och lägga till text
Jag kan ju visa hur jag har löst det:
<code>
public static string MakeLogg(string sError)
{
string sPath = Application.StartupPath + "\\Doc\\ErrorLog.log" ;
string sText = sError;
string sErrorText = DateTime.Today.ToShortDateString() + "\t " + DateTime.Now.ToShortTimeString() + "\t " + " " + sText ;
FileInfo fi1 = new FileInfo(sPath);
if (!fi1.Exists)
{
//Create a file to write to.
using (StreamWriter sw = fi1.CreateText())
{
sw.WriteLine("MultiLanguage LoggFil");
sw.WriteLine();
sw.WriteLine("Datum" + "\t "+ "\t " + "Tid" + "\t " + "Händelse" );
sw.WriteLine(sErrorText);
sw.Close();
}
}
else
using (StreamWriter sw = fi1.AppendText())
{
sw.WriteLine(sErrorText);
sw.Close();
}
return sText;
}
}
}
</code>
Och så drar jag igång det med:
MultLanguage.FileTools.MakeLogg(fel.Message + " " + "Fel i listBox1_SelectedIndexChanged");
MultLanguage är min namespace, FileTools är namnet på min externa classfil.Sv: Skapa fil och lägga till text
private void writeLogToFile(string fileName)
{
StreamWriter sw=null;
try
{
sw = new StreamWriter(@"c:\email.log", true, System.Text.Encoding.Default); //appenda och skriv med default encoding
sw.WriteLine(fileName);
sw.Close();
}
catch(Exception e) //fånga mer specifika exceptions här...
{
Console.WriteLine("Ajdå, nånting gick snett");
}
finally
{
if(sw!=null)sw.Close();
}
}
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconOpeningAppendingToLogFile.asp
Sv:Skapa fil och lägga till text
Jag körde ett fel test så jag alltid kom till catch uttrycket och då skickades inget till writeToLogFile.
Sånt där händer mig jämt. Suck.
Tack för all hjälp!