Click here to Skip to main content
Click here to Skip to main content

A real time log file viewer

By , 17 May 2004
 

ABLogFile Screen Shot

Introduction

ABLogFile is a very simple and easy to use real time log file viewer. All that is required is to open a text based log file, this program will check for any changes to the file and automatically display them on the screen. The new changes are displayed in a bright color and then fade to the normal text color. It also automatically scrolls to the newest line. ABLogFile supports a very basic find function.

Background

This program was thought up in the early hours of the night a couple of weeks ago. I was doing some work, a program that updated a file every couple of seconds. My problem was, if I wanted to see the changes, I had to keep reopening the file, thus ABLogFile was thought of.

Points of Interest

The hardest part of the project was how to organize the data in memory, so that it is easy to add new data, keep track of the changes, and quick to display the data. What I ended up doing after a number of sleepless nights of coding, was to store the entire log file in memory, create an array of pointers that point to the starting position of each line, and another array of sections which keep track of the changes to the log file. Another tricky bit was to work out what the line delimiter was in the file, the way that I ended up writing it was to search for a number of different delimiters, this part will definitely be redesigned shortly. Apart from the above mentioned, it was pretty straight forward.

Limitations

Of course, there are some limitations:

  • The log file is currently stored in memory, therefore there may be a problem viewing very large files.
  • With the way that the auto delimiter works, if the second line is blank then the file will not be displayed properly.
  • This program will only keep track of data newly appended to the file, it will not work with data getting changed in the file.

Acknowledgements

  • Tabbed MDI view Copyright © by Dundas Software.

History

I believe this project to be of great benefit, I will be willing to add features as people suggest them. This program currently does what was originally required by myself. So, please let me know of any features required.

  • V 1.0.0.1 2004-05-13
    • First public release of binary and source code.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

amleth
Software Developer (Senior)
Australia Australia
Started programming many many years ago, now a full time C++ developer writing medical software. I have also been known to dabble in electronics. Currently looking to go back to university to study electronic engineering.

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
Hint: For improved responsiveness ensure Javascript is enabled and choose 'Normal' from the Layout dropdown and hit 'Update'.
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
QuestionHow to use it ...?memberNusha2415-Jul-05 20:41 
AnswerRe: How to use it ...?memberamleth15-Jul-05 21:00 
GeneralNew Version Availablememberamleth1-Jul-04 18:22 
GeneralUnable to load file > 1MB thru mapped drivememberHilary Wong27-May-04 18:00 
Hi,
 
Just tested your latest version. This version does not allow loading of file with size greater than 1mb unless the file resides in the local machine.
 
I've tried two methods in accessing the remote file:
1) mapped drive
2) directly specify the network path
 
Both methods will cause file loading to hang regardless of whether Poll File or Windows Notification is used for File Change Check.
 

Regards,
Hilary

GeneralRe: Unable to load file > 1MB thru mapped drivememberamleth27-May-04 18:16 
GeneralA nice, freeware alternative: baretailmemberdtr227-May-04 1:51 
GeneralVer 01.00.02.00memberamleth26-May-04 17:41 
GeneralRe: Ver 01.00.02.00memberJaroslav Klumpler27-May-04 23:20 
GeneralRe: Ver 01.00.02.00membersylvain222228-May-04 5:53 
GeneralEven more troublesmemberJaroslav Klumpler26-May-04 1:15 
GeneralRe: Even more troublesmemberamleth26-May-04 2:09 
GeneralRe: Even more troublesmemberJaroslav Klumpler26-May-04 2:52 
GeneralTabsmemberStas Elensky25-May-04 23:39 
GeneralRe: Tabsmemberamleth26-May-04 0:54 
GeneralNice try but... :-)memberPeter Hendrix25-May-04 23:26 
GeneralRe: Nice try but... :-)memberamleth26-May-04 1:02 
GeneralAhhh, for some tail -f logfile.txtsussAnonymous25-May-04 13:50 
GeneralSettingsussBydia20-May-04 16:22 
GeneralRe: Settingmemberamleth20-May-04 16:54 
GeneralRe: SettingmemberBydia20-May-04 18:39 
GeneralRe: Settingmemberamleth20-May-04 18:48 
GeneralTraceToolmemberThierry Parent18-May-04 6:52 
GeneralRe: TraceToolmemberamleth18-May-04 9:41 
GeneralTroublesmemberJCrane218-May-04 6:31 
GeneralRe: Troublesmemberamleth18-May-04 9:36 
GeneralRe: TroublesmemberJCrane219-May-04 9:46 
GeneralRe: Troublesmemberamleth19-May-04 11:35 
GeneralRe: Troublesmemberamleth19-May-04 23:39 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Permalink | Advertise | Privacy | Mobile
Web04 | 2.6.130617.1 | Last Updated 18 May 2004
Article Copyright 2004 by amleth
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid