Mở rộng trên câu trả lời trước -
Để thêm một dấu vết người nghe cho các dấu vết log4net.Internal.Debug, thêm video này vào ứng dụng cấu hình của bạn:
<system.diagnostics>
<trace autoflush="true">
<listeners>
<add
name="textWriterTraceListener"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="c:\temp\log4net.txt" />
</listeners>
</trace>
</system.diagnostics>
Thay thế giá trị thuộc tính initializeData trên với bạn đường dẫn tệp nhật ký mong muốn. Hãy chắc chắn rằng ứng dụng hoặc quá trình máy chủ ASP.NET có quyền ghi vào tệp này.
Một điều bạn có thể làm là kiểm tra các thư được trả về từ cấu hình log4net khi khởi động. Kể từ log4net phiên bản 1.2.11, phương thức XmlConfigurator.Configure() trả về một ICollection chứa các chuỗi liệt kê các vấn đề gặp phải trong quá trình cấu hình.
Vì vậy, nếu bạn đã có một cái gì đó như thế này:
XmlConfigurator.Configure();
thay đổi nó để
ICollection configMessages = XmlConfigurator.Configure();
và kiểm tra configMessages trong một trình gỡ lỗi, hoặc in chúng ra nơi nào đó, ví dụ
foreach (string msg in configMessages)
{
Console.WriteLine(msg);
}
Nếu mọi thứ khác không thành công, hãy tải xuống nguồn log4, thêm dự án vào giải pháp của bạn và tham khảo dự án thay vì log4net.dll. Bây giờ bạn có thể bước vào các cuộc gọi log4net trong trình gỡ lỗi.
Nguồn
2010-08-26 12:31:11
Sau khi tìm hiểu thêm một chút (theo con trỏ của bạn để bật gỡ lỗi nội bộ, có vẻ như việc bật trình lắng nghe cho System.Diagnostics.Trace cũng được yêu cầu –
Cũng cần lưu ý rằng appSettings cần phải đi trước hệ thống.thuộc tính chẩn đoán. – Dan