nicko       2005/05/02 14:30:22

  Modified:    xdocs/src/release faq.xml
  Log:
  Updated FAQ to include information on FileAppender MinimalLock model
  
  Revision  Changes    Path
  1.5       +20 -12    logging-log4net/xdocs/src/release/faq.xml
  
  Index: faq.xml
  ===================================================================
  RCS file: /home/cvs/logging-log4net/xdocs/src/release/faq.xml,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- faq.xml   2 May 2005 21:12:42 -0000       1.4
  +++ faq.xml   2 May 2005 21:30:22 -0000       1.5
  @@ -620,29 +620,37 @@
   
                                <section id="single-file" name="How do I get 
multiple process to log to the same file?">
                                        <p>
  -                                             The <span 
class="code">FileAppender</span> holds a write lock on the log
  -                                             file while it is logging. This 
prevents other processes from writing to the
  -                                             file, therefore it is not 
possible to have multiple processes log directly 
  -                                             to the same log file, even if 
they are on the same machine.
  -                                     </p>
  -                                     <p>
  -                                             You may have each process log 
to a <span class="code">RemotingAppender</span>. 
  -                                             The receiving <span 
class="code">RemoteLoggingServerPlugin</span> (or 
  -                                             <span 
class="code">IRemoteLoggingSink</span>) can receive all the events and 
  -                                             send them to a single log file.
  +                                             By default the <span 
class="code">FileAppender</span> holds an exclusive write 
  +                                             lock on the log file while it 
is logging. This prevents other processes from 
  +                                             writing to the file. The <span 
class="code">FileAppender</span> can be configured
  +                                             to use a different locking 
model, <span class="code">MinimalLock</span>, that
  +                                             only acquires the write lock 
while a log is being written. This allows multiple
  +                                             processes to interleave writes 
to the same file, albeit with a loss in performance.
  +                                             See the <a 
href="config-examples.html#fileappender">FileAppender config examples</a>
  +                                             for an example <span 
class="code">MinimalLock</span> configuration.
  +                                     </p>
  +                                     <p>
  +                                             While the <span 
class="code">MinimalLock</span> model may be used to interleave
  +                                             writes to a single file it may 
not be the optimal solution, especially when
  +                                             logging from multiple machines. 
Alternatively you may have one or more processes
  +                                             log to <span 
class="code">RemotingAppenders</span>. 
  +                                             Using the <span 
class="code">RemoteLoggingServerPlugin</span> (or 
  +                                             <span 
class="code">IRemoteLoggingSink</span>) a process can receive all the events 
and 
  +                                             log them to a single log file.
                                        </p>
                                </section>
                                <p><a href="#top">Back to Top</a></p>
                                
   
  -                             <section id="distributed" name="If I have many 
processes across multiple hosts (possibly across multiple time zones) logging 
to the same file using the method above, what happens to timestamps?">
  +                             <section id="distributed" name="If I have many 
processes across multiple hosts (possibly across multiple time zones) logging 
to the same file using the RemotingAppender, what happens to timestamps?">
                                        <p>
                                                The timestamp is created when 
the logging event is created. That is so say, 
                                                when the <span 
class="code">Debug</span>, <span class="code">Info</span>, 
                                                <span class="code">Warn</span>, 
<span class="code">Error</span>
                                                or <span 
class="code">Fatal</span> method is invoked. This is unaffected by the time at 
                                                which they may arrive at a 
remote server. Since the timestamps are 
  -                                             stored in UTC format inside the 
event, they all appear in the same time zone as 
  +                                             transmitted in UTC format by 
the <span class="code">RemotingAppender</span>, 
  +                                             they all appear in the same 
time zone as 
                                                the host creating the logfile. 
Since the clocks of various machines may not be 
                                                synchronized, this may account 
for time interval inconsistencies between events 
                                                generated on different hosts.
  
  
  

Reply via email to