It was a year ago since the last release of logview4net.
This resease was initiated by an error report from a user and due to my development environment I decided to bite the bullet and use a more recent version of the .Net Framework. I will probably do a lot of work on the graphics now that I can use WPF instead of WinForms.
I did not sign this release so Windows will complain about it having an unknown publisher.
Finally I managed to make a new release of logview4net.
Please go HERE to download or check the change log.
This is the first release built without Visual Studio so I thought I should give credit to some of the software making this possible.
Subversion on Sourceforge
The changelog for release 11.02 is: Fixed:  logview4net keeps redrawing view, even though it is Paused Fixed:  F11 vill now hide/show the menu and the form border. Fixed: An exception was sometimes thrown when closing a session window because the listener was not closed before the view. Changed: The string pattern for an action is now a regular expression, not only an exact match. Fixed:  tables list not retrieved when db name contains a period Fixed:  HighlightMatch highlighting is offset by -1
Please let me know how you are using logview4net and what more you want it to do.
I know there are some who use it to monitor and consolidate Apache web logs. One user told me he monitors the chat log of his MMORPG with logview4net running on a second monitor. Another use is to watch for activity in an ftp archive.
How are you using it?
Yesterday I made a new release of logview4net my multi channel log monitor. I got a request for a TCP listener in addition to the UDP listener that was already there. It actually wasn’t much work; First I copied the UDP listener, then I copied some code from the MSDN documentation. I haven’t done any real testing though so if you want a stable TCP listener please try it out and give me some feedback.
Get your fresh copy from SourceForge.
I need some help designing part of the GUI for the next release.
The changes in this release are:
Fixed:  The part “User Interactions” in the settings dialog doesn’t expand if one adds more patterns.
Fixed:  Manage actions missing scrollbar
Fixed:  FolderListener: logview4net crashes if an additional file …
Fixed: Http authentication in the RSSListener
Fixed:  Save dialog default folder
(Edit Dec. 2010) I didn’t coem arount to recreate the GUI in WPF, I find it more valuable to make it run on top of Mono instead. (end edit)
I am rewriting the GUI and recompiling everything for .Net 3.5
This will remove a couple of the existing bugs and hopefully not introduce to many new ones.
If there are things in the GUI you would like to change now is the time to tell me.
Tonight logview4net passed 10 000 downloads on Sourceforge.
There are some open bugs so there will be at least one more release this year.
Next year it will probably be moved to .NET 3.5 and made able to route messages.
Comments: Josef Assad January 23, 2009 at 8:33 pm Fantastic! I keep on making the case that we in Ramböll have deeper open source experience than we have with proprietary stacks and technology culture, but that it’s just not visible.
Someone Googled for ‘better than logview4net’ and ended up on my blog. It must have been an anticlimax to look for something better and end up on the developers blog.
There is a java application called Chainsaw that is part of the Apace Logging Services. I don’t know about all it’s features but it inspired me to create logview4net.
I know there are some performance issues with some usage patterns. If you think you are on of those users please write a comment and use a WORKING email address so that I can try to fix your issues.
After some indications from a faithful (thanks Bill) user I found a perceived ‘hang’ in logview4net; If you load two large files (>500 lines) it will hide the progress bar for the second file. I have fixed that so now it doesn’t appear to hang while loading the files. It is still unusable until both files are loaded though.
I have to implement some kind of auto sizing of the buffer and then I’ll do a new release.
I have changed the license for logview4net from BSD to Artistic License 2.0. As far as I understand these licenses this means that you previously could do just about whatever you wanted with the logview4net and now your freedom is limited to your own organization. That is: You may still freely distribute the unmodified binaries, but you are only allowed to distribute modifications within your organization.
The reason for this change is that I don’t want anyone to repackage my stuff and make a lot of money from it.
Wow, the releases are coming fast now.
Today I released a new version of logview4net:
CHANGELOG: 8.02 Request:Show short filename on prefix-filename Fixed: It is not possible to change the buffersize in the viewer config window. Fixed: HighlightMatch only formatted the first occurance of the pattern in a message. Fixed: The textbox reverts to default format when enforcing the buffer size Added a Play Sound action that will play a PCM Wave File on pattern match.
Here’s a one week old post I forgot to publish:
I did some performance testing and fixing in logview4net today, but I threw away the baseline performance report. I managed to shave some processing time, but I only kept the previous report so I am not certain how much I saved. It’s a stupid mistake but hopefully I’ll not make it again now that I’ve told you about it. Save your baseline for future comparison when doing performance optimizations.
New year, new release.
This release incorporates the performanceÂ fixes that were maid last week after some user feedback.
I still have no intentions to turn logview4net into a full featured log parser, but now it can handle much bigger datasets than before. If I get some bright ideas it might get faster still. The problem is that I load all existing data into the textbox that shows the data. So if you add a file or SQL listener and there is lots of data already there and you choose to show it all; logview4net will treat each row as a separate message and show each message one at a time.
I recently got a message from a user who had performance issues with logview4net when using the pause function in combination with lots of incoming events. Since pause is probably mostly used in situations when there are lots of events I guess more users than Bill and I have noticed it before. I have two cores on my main machine so I usually just let it be until logview4net has recovered by it self.
I am thinking of releasing logview4net under a commercial license as well as the BSD license I am using now. This would enable users in organizations that dislike open source to use the application anyway.
Besides the political issues I need something else to motivate an organization to pay for something that is given away for free. There is at least one new listener coming up and I could definitively release updates earlier to commercial users.
Yesterday I slipped out a new version of logview4net. It was just a very small bugfix. I had lost the checkbox for adding a filename to the listener prefix in the settings for the folder listener.
Big ups to Paul who told me about it.
About a week ago I was offered help to translate logview4net to Russian. The offer came from a gentleman owning an open sourced project for translating .NET applications.
Of course I was thrilled by the offer. I had really thought about localizing it, but since English and Swedish is all I know I haven’t put it on top of my to do list. Most, if not all, Swedish users of logview4net are probably happy using it in English.
Today a made a new release of logview4net.
I got an error report from a user who had set up a UDP logger with log4net and got loads of weird characters in logview4net. I had hard coded Unicode and log4net was sending something else.
This led me to add a drop down list with available encoders to the Udp Listener. I might do the same for the file listeners in the near future.
The current job is about defining/refining and documenting a system that is a couple of years old. I was a big part in building it initially but it has grown without much control since then. As I see it, the main reason it is hard to get a grasp of it now is because there is (or has never been) a central role to consolidate the development. For each little project there has been a new project manager who only wanted to do his part at the lowest cost or him.
When I moved logview4net to SharpDevelop I got the dreaded CodeDomSerializerException in the WinForm designer. It complained about resources not existing.
Since everything worked in Visual Studio and the application compiles and runs I started looking for other things. After some digging around I found that the properties in the typed resource class was declared internal. I changed the modifiers to public instead and now the WinForm designer works again.
I just made a new release of logview4net.
New features are:
A StdOut / StdErr listener
A block ignore action
Goto jsiSoft.com to download it.
7.28 Fixed: Add an IgnoreBlock action that should have an IgnoreStart + IgnoreEnd pattern Fixed: Make it possible to ingore events on pause instead of caching them. Fixed: Make the cmd-line parser use the StdOut-listener for .exe-files Enabled the StdOut listener Fixed a dispose bug on all listeners.
For my upcoming release of logview4net I did the manifest magic to elevate the process to run as administrator. I did this because I kept getting SecurityExceptions when I wanted to monitor the EventLog.
I have however decided to remove the manifest so that a user would have to explicitly run the application as administrator to monitor the EventLog or other locked down resources. The reason being that I thought it was annoying to confirm the elevation when I didn’t need it and I felt like I was cheating.
In light of the recent controversy of using plugins in Visual Studio Express and getting some inspiration after listening to the DotNetRocks episode with Christopher Wille on SharpDevelop I thought I should give SharpDevlop a chance again. I am working on two utilities that I plan to release as shareware and as I do not want to rely on tools supplied by my employer I have been using Visual Studio Express until now.
Howard van Rooijen has created a template for creating listeners to Team Foundation Server events. This might come in handy since I was thinking of creating a TFS Listener for logview4net.
I am about to separate the SQL and EventLog listeners to an assembly for MS listeners. A TFS Listener is exactly what that would need.
Add: Share and store documents… Free.
There’s been a hectic couple of weeks. I’ve made three releases in two and a half week so the version number is ahead of the calendar. I finally got some response from users so I’m very inspired to make logview4net even better.
Please go here to download.
The latest changes are:
7.20 Added some command line configuration. Documented in the help file. Made it possible to associate the .l4n extension with logview4net
I will make a new release of logview4net this weekend.
I have added a listener for folders andÂ the applicationÂ will look for updates in the future. I have also started to move around stuff internally and begun implementing a dynamic form for configuring the listeners. Right now the Udp listener uses an almost done version of the dynamic form.
When the dynamic listener configurator works I will probably implement a new GUI with WPF instead of WinForms.
We’ve got chickenpox in the house so I guess I’ll be home from work a lot.
I’m restructuring logview4net so that it’ll be easier to write tests for the core functionality and easier to implement a new GUI in WPF.
you can find it here.
logview4net is a log viewer. It can monitor files, incomming UDP traffic, the EventLog, SQL-Server tables, Atom and RSS feeds.
logview4net needs the .Net 2.0 Runtime to execute.
FEATURES: Listens to a UDP port either in broadcast or single endpoint mode. Monitors an eventlog, uses events on the local machine and polling on remote machines. Monitors a log file. Doing a tail using polling. Monitors a table in a MS SQL-Server database.