I ran into the same problem and ended up using MinimalLock, mainly
because it worked.  There may be a better way.

 

Here is my code:

 

<log4net>

  <appender name="RollingFile"
type="log4net.Appender.RollingFileAppender">

 

    <file               value="logs\SynchroV4.log"/>

    <appendToFile       value="true" />

    <maximumFileSize    value="2048KB" />

    <maxSizeRollBackups value="-1" />

    <countDirection     value="1" />

    <lockingModel       type="log4net.Appender.FileAppender+MinimalLock"
/>

 

    <layout type="log4net.Layout.PatternLayout">

      <conversionPattern value="%date [%thread] %-5level %logger -
%message%newline" />

    </layout>

  </appender>

 

  <root>

    <!-- Levels (from lowest to highest):  ALL | DEBUG | INFO | WARN |
ERROR | FATAL | OFF | -->

    <level value="INFO" />

    <appender-ref ref="RollingFile" />

  </root>

</log4net>

 

Hope this helps.

 

Randall Price

 

Secure Enterprise Technology Initiatives

Microsoft Implementation Group

Virginia Tech Information Technology

1700 Pratt Drive

Blacksburg, VA  24060

 

Email:      [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> 

Phone:     (540) 231-4396 

 

From: Beyers Cronje [mailto:[EMAIL PROTECTED] 
Sent: Monday, February 18, 2008 5:46 AM
To: [email protected]
Subject: RollingLogFileAppender

 

Hi all,

Quick question. I am using a RollingLogFileAppender on a webservice.
Logging works 100%, but whenever I try to open the log file for reading
in another process I get a sharing violation on the log file. I open the
file with:

FileStream file = new FileStream(fileName, FileMode.Open,
FileAccess.Read, FileShare.Read);

Would I have to enable MinimalLock, or is there a way to use
ExclusiveLock and have another process read from the log file ?

Kind regards

Beyers Cronje

Reply via email to