2011-10-12 29 views
9

Özel hatalarım devre dışı bırakıldığında, Elmah, gerçekleşen tüm özel durumları alıp veritabanımda oturum açıp bana e-posta gönderiyor.Özel hatalar etkinleştirildiğinde Elmah tetiklenmiyor

<customErrors mode="RemoteOnly" defaultRedirect="~/Home/Error"> 
</customErrors> 

Elmalı çalışmasını durdurur:

Ancak, ikinci Ben benim web.config değiştirin. Artık veritabanına veya herhangi bir şeye özel durumları günlüğe kaydetmiyor, tek gördüğüm özel hata eylemi gerçekleştiriliyor.

Özel hata iletilerini nasıl alabilirim ve yine de elmah log istisnaları olabilir mi? Şu anda Elmah'ın dışında başka bir istisna yapıyorum.

cevap

18

Figured out out! Ben Global.asax yılında filters.Add(new HandleErrorAttribute()); vardı çünkü bu oluşmasını edildi

nedeni oldu. Neden böyle olduğunu bilmiyorum, ancak özel hatalar etkinleştirildiğinde bunun başarısız olmasına neden olan şey buydu. Bu çizgiyi kaldırmak, Elmah'ın özel hatalarla düzgün çalışmasına neden oldu. this answer tarafından açıklandığı gibi

Ayrıca oturum açmak için ELMAH söylüyorum "ele" hatalar da çalışır.

Gerçekten de ya seçeneklerin tüm sonuçlarını bilmiyorum. Tüm hatalar için sadece bir "genel" hata sayfası varsa

+0

, sahip olduğu çıkarabilmnz için bir HandleErrorAttribute ekledi gerekir ve yok. –

+2

Standart filtrenin kaldırılması, web.config özel hata yönlendirme işlemini durduracak gibi görünüyor. Elmah'ın "işlenmiş" hatalarını günlüğe kaydetmesini söylemek kesinlikle daha iyi bir çözüm. – Owen

+0

@owen ELMAH'a ele alınan özel durum kayıtlarını nasıl bildirirsiniz? –