Windows Azure Diagnostics and log files that are kept open, such as Tomcat logs

When transferring custom log files, Windows Azure Diagnostics runtime currently seems to require exclusive locks to the files being transferred. As the result, it doesn't work with log files that are kept open (in shared access mode), such as in case of Tomcat logs.

I developed a simple solution for this scenario. The programing model has been designed to be easily pluggable into existing diagnostic configuration code and also to be easily removed when Windows Azure Diagnostics runtime starts supporting log files that are kept open.

You can find it here