RollingFileAppender in IIS-hosted application

2004-11-22 Thread Warrick Flower \(DSL AK\)








Hi,

 

After doing a build of log4net from the CVS source we
had difficulty with the RollingFileAppender failing to log after a rollover. 
The problem was occurring in a IIS-hosted web app, but we hadn’t had any trouble
with the 1.2 release of log4net.

 

After turning on internal debugging, I tracked the problem
down to relative file names.  At application startup, the following was
put in the internal log:

 

log4net: XmlConfigurator:
Loading Appender [MainRollingFileAppender] type:
[log4net.Appender.RollingFileAppender]

log4net: XmlConfigurator:
Setting Property [File] to String value [.\\ServicesLog.txt]

log4net: XmlConfigurator:
Setting Property [AppendToFile] to Boolean value [True]

log4net: XmlConfigurator:
Setting Property [RollingStyle] to RollingMode value [Size]

log4net: XmlConfigurator:
Setting Property [MaxSizeRollBackups] to Int32 value [5]

log4net: XmlConfigurator:
Setting Property [MaximumFileSize] to String value [2MB]

…

log4net: RollingFileAppender:
Searched for existing files in [c:\windows\system32\inetsrv]

log4net: RollingFileAppender:
curSizeRollBackups starts at [0]

log4net: FileAppender:
Opening file for writing [C:\Inetpub\wwwroot\Christmas.ServiceHost_andrewha\ServicesLog.txt]
append [True]

 

When it came to rollover, the following was logged:

 

log4net: RollingFileAppender:
rolling over count [2098121]

log4net: RollingFileAppender:
maxSizeRollBackups [5]

log4net: RollingFileAppender:
curSizeRollBackups [0]

log4net: RollingFileAppender:
countDirection [-1]

log4net: RollingFileAppender:
Deleted file
[C:\Inetpub\wwwroot\Christmas.ServiceHost_andrewha\ServicesLog.txt.1]

log4net: RollingFileAppender:
Moving [C:\Inetpub\wwwroot\Christmas.ServiceHost_andrewha\ServicesLog.txt]
-> [C:\Inetpub\wwwroot\Christmas.ServiceHost_andrewha\ServicesLog.txt.1]

log4net: FileAppender:
Opening file for writing [.\\ServicesLog.txt] append [False]

log4net:ERROR [RollingFileAppender]
OpenFile(.\\ServicesLog.txt,False) call failed.

System.UnauthorizedAccessException:
Access to the path "c:\windows\system32\inetsrv\ServicesLog.txt" is
denied.

   at System.IO.__Error.WinIOError(Int32
errorCode, String str)

   at System.IO.FileStream..ctor(String
path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize,
Boolean useAsync, String msgPath, Boolean bFromProxy)

   at System.IO.FileStream..ctor(String
path, FileMode mode, FileAccess access, FileShare share)

   at
log4net.Appender.FileAppender.OpenFile(String fileName, Boolean append)

   at log4net.Appender.RollingFileAppender.OpenFile(String
fileName, Boolean append)

   at
log4net.Appender.FileAppender.SafeOpenFile(String fileName, Boolean append)

log4net:ERROR [RollingFileAppender]
Failed in DoAppend

 

Changing the line:

 

SafeOpenFile(m_baseFileName, false); 

 

to:

 

SafeOpenFile(ConvertToFullPath(m_baseFileName), false);

 

in the RollingFileAppender RollOverSize() and RollOverTime() methods seems to have fixed it.  I don’t have access to
CVS here at work, but if someone else is having a similar problem this may be
of help.

 

Warrick Flower

Technical Consultant
DATACOM SYSTEMS LTD, Auckland 
( Work: +64 9 366 1150 extn 8245 (Mob: +64 21 171 5764

* [EMAIL PROTECTED]

 








RE: RollingFileAppender in IIS-hosted application

2004-11-29 Thread Warrick Flower \(DSL AK\)
Hi,

With the new version it is working fine.

Thanks for the great work!

Warrick.

Ps. Any chance of http-downloadable source drops for log4net?

-Original Message-
From: Nicko Cadell [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, 23 November 2004 11:40 a.m.
To: Log4NET Dev
Subject: RE: RollingFileAppender in IIS-hosted application

Thanks for the report.

I think this issue was fixed a few days ago in version 1.11 of 
logging-log4net/src/Appender/RollingFileAppender.cs (17th November).

Can you confirm if you are seeing this behaviour with a more recent
version.

Many thanks,
Nicko

> -Original Message-
> From: Warrick Flower (DSL AK) [mailto:[EMAIL PROTECTED] 
> Sent: 22 November 2004 21:06
> To: log4net-dev@logging.apache.org
> Subject: RollingFileAppender in IIS-hosted application
> 
> Hi,
> 
>  
> 
> After doing a build of log4net from the CVS source we had 
> difficulty with the RollingFileAppender failing to log after 
> a rollover.  The problem was occurring in a IIS-hosted web 
> app, but we hadn't had any trouble with the 1.2 release of log4net.
> 
>  
> 
> After turning on internal debugging, I tracked the problem 
> down to relative file names.  At application startup, the 
> following was put in the internal log:
> 
>  
> 
> log4net: XmlConfigurator: Loading Appender 
> [MainRollingFileAppender] type: [log4net.Appender.RollingFileAppender]
> 
> log4net: XmlConfigurator: Setting Property [File] to String 
> value [.\\ServicesLog.txt]
> 
> log4net: XmlConfigurator: Setting Property [AppendToFile] to 
> Boolean value [True]
> 
> log4net: XmlConfigurator: Setting Property [RollingStyle] to 
> RollingMode value [Size]
> 
> log4net: XmlConfigurator: Setting Property 
> [MaxSizeRollBackups] to Int32 value [5]
> 
> log4net: XmlConfigurator: Setting Property [MaximumFileSize] 
> to String value [2MB]
> 
> ...
> 
> log4net: RollingFileAppender: Searched for existing files in 
> [c:\windows\system32\inetsrv]
> 
> log4net: RollingFileAppender: curSizeRollBackups starts at [0]
> 
> log4net: FileAppender: Opening file for writing 
> [C:\Inetpub\wwwroot\Christmas.ServiceHost_andrewha\ServicesLog
> .txt] append [True]
> 
>  
> 
> When it came to rollover, the following was logged:
> 
>  
> 
> log4net: RollingFileAppender: rolling over count [2098121]
> 
> log4net: RollingFileAppender: maxSizeRollBackups [5]
> 
> log4net: RollingFileAppender: curSizeRollBackups [0]
> 
> log4net: RollingFileAppender: countDirection [-1]
> 
> log4net: RollingFileAppender: Deleted file 
> [C:\Inetpub\wwwroot\Christmas.ServiceHost_andrewha\ServicesLog.txt.1]
> 
> log4net: RollingFileAppender: Moving 
> [C:\Inetpub\wwwroot\Christmas.ServiceHost_andrewha\ServicesLog
> .txt] -> 
> [C:\Inetpub\wwwroot\Christmas.ServiceHost_andrewha\ServicesLog.txt.1]
> 
> log4net: FileAppender: Opening file for writing 
> [.\\ServicesLog.txt] append [False]
> 
> log4net:ERROR [RollingFileAppender] 
> OpenFile(.\\ServicesLog.txt,False) call failed.
> 
> System.UnauthorizedAccessException: Access to the path 
> "c:\windows\system32\inetsrv\ServicesLog.txt" is denied.
> 
>at System.IO.__Error.WinIOError(Int32 errorCode, String str)
> 
>at System.IO.FileStream..ctor(String path, FileMode mode, 
> FileAccess access, FileShare share, Int32 bufferSize, Boolean 
> useAsync, String msgPath, Boolean bFromProxy)
> 
>at System.IO.FileStream..ctor(String path, FileMode mode, 
> FileAccess access, FileShare share)
> 
>at log4net.Appender.FileAppender.OpenFile(String fileName, 
> Boolean append)
> 
>at log4net.Appender.RollingFileAppender.OpenFile(String 
> fileName, Boolean append)
> 
>at log4net.Appender.FileAppender.SafeOpenFile(String 
> fileName, Boolean append)
> 
> log4net:ERROR [RollingFileAppender] Failed in DoAppend
> 
>  
> 
> Changing the line:
> 
>  
> 
> SafeOpenFile(m_baseFileName, false); 
> 
>  
> 
> to:
> 
>  
> 
> SafeOpenFile(ConvertToFullPath(m_baseFileName), false);
> 
>  
> 
> in the RollingFileAppender RollOverSize() and RollOverTime() 
> methods seems to have fixed it.  I don't have access to CVS 
> here at work, but if someone else is having a similar problem 
> this may be of help.
> 
>  
> 
> Warrick Flower
> 
> Technical Consultant
> DATACOM SYSTEMS LTD, Auckland
> * Work: +64 9 366 1150 extn 8245 *Mob: +64 21 171 5764
> 
> * [EMAIL PROTECTED]
> 
>  
> 
>