Friday, June 12, 2009

Log4Net - The process cannot access the file because it is being used by another process

Jag har under en lite väl lång tid bankat huvudet i väggen när jag försökt göra det möjligt att hämta hem Log4Net-loggfiler via FTP. Trots att jag hade specat lockingModel value="MinimalLock" i configen för mina appenders fick jag felmeddelandet "The process cannot access the file [sökväg till loggfilen] because it is being used by another process". Inte heller lyckades jag skapa en ASP.NET sida som visade innehållet trots att jag vid öppnande av filen angav FileAccess.Read och FileShare.Read.

Till slut visade det sig att lösningen låg i att i configen av appendersen använda typen "log4net.Appender.RollingFileAppender+MinimalLock" eller "log4net.Appender.FileAppender+MinimalLock" istället för bara "log4net.Appender.RollingFileAppender" respektive "log4net.Appender.FileAppender".

Vet inte om jag ska känna mig dum eller sur med tanke på den enkla lösningen... :)