I was facing a problem to get the new log message in the Message Log screen.
FileSystemWatcher which was introduced in .net 2.0 make it very easy to develop Message Log Viewer.
1) Create the FileSystemWatcher and set its properties.
FileSystemWatcher_Log_1.Path = Directory.GetParent("C:\\temp").FullName;
FileSystemWatcher_Log_1.Filter = "MyLogFile.log";
NotifyFilters notifyFileters = new NotifyFilters();
notifyFileters = notifyFileters | NotifyFilters.LastWrite;
// You can choose other notification filters
FileSystemWatcher_Log_1.NotifyFilter = notifyFileters;
FileSystemWatcher_Log_1.EnableRaisingEvents = true;
2) Set the event handler.
this.FileSystemWatcher_Log_1.Changed += new
System.IO.FileSystemEventHandler(this.FileSystemWatcher_Changed);
3) Update GUI when event occours
// create stream writer only once so that whenever new log is appended in the log file,
// only that text will be shown in the list view (or which ever the gui component you are using).
if (null == sr_Log_1)
{
sr_Log_1 = new StreamReader(new FileStream(SelectedFileName_Log1_textbox.Text,
FileMode.Open, FileAccess.Read, FileShare.ReadWrite), true);
}
string line;
while (sr_Log_1.EndOfStream != true)
{
line = sr_Log_1.ReadLine();
if (line.Trim().Length == 0)
{
continue;
}
Log_1_listBox.Items.Add(line);
Log_1_listBox.TopIndex = Log_1_listBox.Items.Count - 26 + 1;
}
Refer the code for details.
You can download demo code from here here.
It may not be 100% bug free code.
Subscribe to:
Post Comments (Atom)
Heroku Custom Trust Store for SSL Handshake
Working with Heroku for deploying apps (java, nodejs, etc..) is made very easy but while integrating one of the service ho...
-
Multi-Tenancy with the SaaS based model does not bring any change on the application layer as multiple services deployment of application w...
-
I have a class which is not serializable. If i will try to serialize the object of it than i am going to get exception "java.io.NotSer...
-
Raspberry Pi is an awesome and interesting . I was totally astonished after knowing about it from one of my friend and colleague "Ale...
Great post and clever use of the StreamReader!
ReplyDeleteThanks wiibart
ReplyDelete