
Dear boosters, Since most of us use some sort of logging, I've developed a free program that allows simple viewing/filtering of log files (for Windows). The really cool thing is that you can monitor files (you can have multiple filters for the same file) while your application is writing to it. I think it's quite simple to use and very useful. Anyway, to make a long story short, if you're interested: http://www.torjo.com/logview/EasyLogView.exe (download) http://www.torjo.com/logview/screenshot1.jpg http://www.torjo.com/logview/screenshot2.jpg It's at a very early stage, so I look forward to your feedback (menu: Help/Send Feedback ;)) Best, John

Hi John,
Dear boosters,
Since most of us use some sort of logging, I've developed a free program that allows simple viewing/filtering of log files (for Windows).
I wonder if you've seen Chainsaw http://logging.apache.org/log4j/docs/chainsaw.html and plan to compete with it or fix some weaknesses of it, or something else? - Volodya

Vladimir Prus wrote:
Hi John,
Dear boosters,
Since most of us use some sort of logging, I've developed a free program that allows simple viewing/filtering of log files (for Windows).
I wonder if you've seen Chainsaw
http://logging.apache.org/log4j/docs/chainsaw.html
and plan to compete with it or fix some weaknesses of it, or something else?
I wasn't aware of it. Anyway, I've downloaded and tested it. (installing was quite hard, it took me a while) Anyway, this is very log4j specific. I see that it has some receivers, but I'm not sure how they work. The only one I tested was LogFilePatternReceiver but it seems static. If I append to a certain file, I need to do a manual refresh of all receivers, which is pretty annoying. Also, noticed a lot of bugs and expressions did not work. As far as I saw, it can only show up to 7000-8000 messages at a time, which is pretty small for me. The program I developed IMO is - very user-friendly, easy to use - handles files any size (in the future I'll work on adding aggressive caching to support ~1Gb logs) - very fast - expressions work ;) - works with any log files. Just drag-and-drop them into the program Best, John
- Volodya
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

John Torjo wrote:
I wonder if you've seen Chainsaw
http://logging.apache.org/log4j/docs/chainsaw.html
and plan to compete with it or fix some weaknesses of it, or something else?
I wasn't aware of it. Anyway, I've downloaded and tested it. (installing was quite hard, it took me a while)
Heh, I could not make it run yet ;-)
Anyway, this is very log4j specific. I see that it has some receivers, but I'm not sure how they work. The only one I tested was LogFilePatternReceiver but it seems static. If I append to a certain file, I need to do a manual refresh of all receivers, which is pretty annoying. Also, noticed a lot of bugs and expressions did not work. As far as I saw, it can only show up to 7000-8000 messages at a time, which is pretty small for me.
I can only trust you on those points.
The program I developed IMO is - very user-friendly, easy to use - handles files any size (in the future I'll work on adding aggressive caching to support ~1Gb logs) - very fast - expressions work ;) - works with any log files. Just drag-and-drop them into the program
What I always wanted is some kind of 'debug dumps'. E.g. the program I work on now sometimes prints graphs into stdout in some textual representation. To view them, I need to copy paste from the log, and run two external programs. If would be nice of log viewer could quickly locate such 'dumps' and show them using customizable command sequence, or maybe C++ code. If we return to libraries side, it's highly desirable for logging library to support data dumps. The primary difference with logging is that for each dumped object, you need to presicely identify the name of object being logged. IOW, for two code lines: log("lvk.flow") << "Entering some function"; dump("lvk.flow.paths.input") << graph; The first output can be formatted in any possible way, but the second should include "lvk.flow.paths.input" somewhere, so that it's possible to automatically extract it from the log. - Volodya

Vladimir Prus wrote:
John Torjo wrote:
I wonder if you've seen Chainsaw
http://logging.apache.org/log4j/docs/chainsaw.html
and plan to compete with it or fix some weaknesses of it, or something else?
I wasn't aware of it. Anyway, I've downloaded and tested it. (installing was quite hard, it took me a while)
Heh, I could not make it run yet ;-)
it took a lot of guts and nerves ;)
What I always wanted is some kind of 'debug dumps'. E.g. the program I work on now sometimes prints graphs into stdout in some textual representation. To view them, I need to copy paste from the log, and run two external programs. If would be nice of log viewer could quickly locate such 'dumps' and show them using customizable command sequence, or maybe C++ code.
In case these debug dumps are logged into a file, and if I understood you correctly ;), then it's possible to do so with the LogViewer I created. I assume each such debug dump has a prefix (like, '[dbg]' or something) in order to differenciate it from something else. Just drag-and-drop your log file into Easy LogView. Assuming the prefix is '[dbg]'. Then, either locate one of such debug dump, and select the '[dbg]' word, right click and select "Existing Filter AND Containing Text..." or manually edit the filter, and add such a rule. That's all! Then, you'll only see these debug dumps. (of course, you can have as many filters as you wish, for your log file ;) )
If we return to libraries side, it's highly desirable for logging library to support data dumps. The primary difference with logging is that for each dumped object, you need to presicely identify the name of object being logged.
IOW, for two code lines:
log("lvk.flow") << "Entering some function"; dump("lvk.flow.paths.input") << graph;
I'm not sure what you mean. What's wrong with: log(whatever) << "lvk.flow.paths.input = " << graph;
The first output can be formatted in any possible way, but the second should include "lvk.flow.paths.input" somewhere, so that it's possible to automatically extract it from the log.
of course you can easily extract if from the log. Just use Easy LogViewer ;) Best, John
- Volodya
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
participants (2)
-
John Torjo
-
Vladimir Prus