bu modda izin verilmeyen okuyun:Log4Net Rekürsif kilit satın almalar böyle görünen bir özel log4net appender var
log4net:ERROR Exception while logging
System.Threading.LockRecursionException: Recursive read lock acquisitions not allowed in this mode.
at System.Threading.ReaderWriterLockSlim.TryEnterReadLockCore(TimeoutTracker timeout)
at System.Threading.ReaderWriterLockSlim.TryEnterReadLock(TimeoutTracker timeout)
at System.Threading.ReaderWriterLockSlim.EnterReadLock()
at log4net.Util.ReaderWriterLock.AcquireReaderLock()
at log4net.Repository.Hierarchy.Logger.CallAppenders(LoggingEvent loggingEvent)
at log4net.Repository.Hierarchy.Logger.ForcedLog(Type callerStackBoundaryDeclaringType, Level level, Object message, Exception exception)
at log4net.Repository.Hierarchy.Logger.Log(Type callerStackBoundaryDeclaringType, Level level, Object message, Exception exception)
: Arada
public class MyAppender : AppenderSkeleton
{
protected override void Append(LoggingEvent loggingEvent)
{
try
{
if (loggingEvent.Level == Level.Error || loggingEvent.Level == Level.Fatal)
{
DoWork(RenderLoggingEvent(loggingEvent));
}
}
catch
{
// silently fail
}
}
}
, ben çıktıda bu durum göreceksiniz
Appender iyi çalışıyor gibi görünüyor ve benim app herhangi bir hata göstermiyor ama bu mesajlar sooo can sıkıcı. Temiz çalışan yazılımları seviyorum ve bu temiz değil = (
Uygulamacı uygulamam tamam mı? Bu hatayı önlemek için ekleyebileceğim bazı yapılandırmalar var mı? Gooog'lardan bulabildiğim en yakın cevap log4net bug hata raporundan geliyor. GetAppender'ları aramamayayım, bu yüzden benim kullanım durumum için geçerli değil.Tüm yardımlar değerlendirilecekti
DoWork' ne yapar? – Rob
@Rob, hatayı bir servis otobüsüne gönderir – Drew
Hiç başarısız mı? (Benim şu an yaptığım şey, "DoWork" un kendisi bir şeyleri kaydedebilir) – Rob