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.