ASP.NET web sitemizin günlük iletilerini günlüğe kaydetmek için log4net kullanıyorum ve son zamanlarda hatanın oluştuğu sayfa/işleyici hakkında bilgi eklemek istedim. Ben Global.asax aşağıdaki satırı ekleyin nedenle karar:Bir ASP.NET isteğine özgü log4net içerik özelliği nasıl ayarlanır?
void Application_BeginRequest(object sender, EventArgs e)
{
log4net.ThreadContext.Properties["page"] = HttpContext.Current.Request.AppRelativeCurrentExecutionFilePath;
}
ve benzeri akıllıca benim dönüşüm modeline %property{page}
eklendi:
<conversionPattern value="%newline%date %-5level %property{page} - %message%newline%newline%newline" />
Bu tek istekleri için iyi çalıştı. Ancak, günlüklerimde sayfa özelliğinin bir ASP.NET isteği sırasında değişebileceğini farkettim. Bir ASHX işleyicisine giriş yaptım ve işlemenin ortasında sayfa özelliği, bir ASPX sayfasına işaret eden farklı bir değere dönüşecektir. ASP.NET'e gelen başka bir istek olduğunu ve BeginRequest
'un çalıştırıldığını ve log4net.ThreadContext
'daki statik sayfa özelliğinin başka bir değere değiştirildiğini belirttim.
Şimdi, istek başına sayfa özelliğini korumak istiyorum; böylece, oturum açma sayfası yolunu sürekli olarak günlüğe kaydedebilirim. Bir cevap bulmaya çalıştım ama hiçbir şeyle çıkmadım. Bu sorunu çözmek için önerilen yol nedir? Eminim bu, web sunucusu olay günlüğünün çok temel bir işlevselliğidir.
Bu bir dahidir. –