Aralıklı log4net RollingFileAppender kilitli dosya sorunu | Netgez.com
SORU
4 Ocak 2010, PAZARTESÄ°


Aralıklı log4net RollingFileAppender kilitli dosya sorunu

Günlük dosyalarında günlüğe almıyor sayede geliştirme ve üretim makinelerde aralıklı bir sorun görüyoruz.

Geliştirme ve hata ayıklama Visual Studio kullanarak çalıştırırken VS çıktı penceresinde aşağıdaki log4net hata mesajları alıyoruz:

log4net:ERROR [RollingFileAppender] Unable to acquire lock on file C:\folder\file.log.

İşlem dosyasına erişemiyor 'C:\folder\file.log' başka bir işlem tarafından kullanılmakta olduğu için.

log4net:ERROR XmlConfigurator: Failed to find configuration section 'log4net' in the application's .config file.
Check your .config file for the <log4net> and <configSections> elements.

Yapılandırma bölümü gibi görünmelidir:

<section
  name="log4net"
  type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />

Konu için geçerli bizim çözüm son günlük dosyasını yeniden adlandırın. Elbette bu başarısız olmasını bekleriz (söz konusu dosya kilidi nedeniyle), ama normalde yok. Bir ya da iki kez yeniden bir kilit nedeniyle başarısız oldu . ben^>aspnet_wp.exesüreç.

Log4net yapılandırması bölümü aşağıda gösterilmiştir:

<log4net>
  <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
    <file value="C:\folder\file.log"/>
    <appendToFile value="true" />
    <datePattern value="yyyyMMdd" />
    <rollingStyle value="Date" />
    <maximumFileSize value="10MB" />
    <maxSizeRollBackups value="100" />
    <layout type="log4net.Layout.PatternLayout">
      <header value="[Header]
"/>
      <footer value="[Footer]
"/>
      <conversionPattern value="Úte %-5level %logger ${COMPUTERNAME} %property{UserHostAddress} [%property{SessionID}] - %message%newline"/>
    </layout>
  </appender>
  <root>
    <level value="INFO"/>
    <appender-ref ref="RollingLogFileAppender"/>
  </root>
</log4net>

Belirtildiği gibi, bu makinelerde zaman zaman görüyoruz, ama sorun olunca da devam etmektedir.

CEVAP
4 Ocak 2010, PAZARTESÄ°


Eklemeyi deneyin

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

<appender /> eleman. Orada bazı performans etkisi nedeniyle bu demektir log4net olacak kilit dosyası, yazmak için, ve kilidini açmak için her yazma işlemi (karşıt olarak varsayılan davranış, hangi edinir ve tutar üzerine kilitlemek için uzun bir süre).

Bir ima varsayılan davranış olduğu kullanıyorsanız bunun altında bir Web sitesi olması idam altında birden fazla işçi çalışan süreçleri üzerinde aynı makine, her biri-ecek denemek ve elde tutmak üzerine kilit süresiz ve iki tanesi de sadece kaybedecek. En az kilitlemek için kilitleme modelini değiştirerek bu sorunu geçici olarak çalışır.

Hata ayıklama (zaman, yeni işçi süreçler ve iplik kaba bir yol sonlandırmaları çok tam olarak gerçekleşmesi muhtemel olan şeyler yapılıyor.)

Ä°yi ÅŸanslar!

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VÄ°DEO

Rastgele Yazarlar

  • girleffect

    girleffect

    20 Mayıs 2008
  • Drakinen

    Drakinen

    1 EYLÃœL 2008
  • steeletraining

    steeletraini

    28 NÄ°SAN 2010