Monday, February 9, 2009

useful small function to write text log in local machine

public static void WriteLog(string logFile, string logHeader, string message)
{
string logMessage = string.Empty;
byte[] logMessageBytes;
try
{
FileInfo logFileInfo = new FileInfo(logFile);
if (!IsFileOrDirectoryExists(logFile, FileType.File))
{
logMessage = logHeader + "\r\n" + message;
logMessageBytes = Encoding.ASCII.GetBytes(logMessage);
}
else
{
logMessage = "\r\n" + message;
logMessageBytes = Encoding.ASCII.GetBytes(logMessage);
}

using (FileStream logFileStream = logFileInfo.Open(FileMode.Append, FileAccess.Write, FileShare.Read))
{
logFileStream.Write(logMessageBytes, 0, logMessageBytes.Length);
}
}
catch(Exception ex)
{
DSTrace.LogEvent(DSTL.E, FormatE4XException(ex));
}
}

here: logfile is the file name
message is what you want to write to this page
logheaere is not you need

reference: system.IO; system.text