2011-07-15 26 views
5

Tôi hiện đang sử dụng NLog để ghi nhật ký các sự kiện bảo mật từ ứng dụng ASP.NET MVC3 của tôi.Gửi đầu ra ELMAH qua NLog

Bây giờ chúng tôi có một yêu cầu khác để thêm lỗi ứng dụng vào nhật ký riêng biệt.

Vì chúng tôi đã sử dụng NLog (và yêu thích tính linh hoạt của các Mục tiêu), tôi muốn định cấu hình Elmah để chuyển lỗi vào NLog để ghi nhật ký.

Có ai đã thực hiện việc này & cẩn thận để chia sẻ không?

+2

Xem [câu trả lời này] (http://stackoverflow.com/questions/6610735/nlog-elmah-shared-library/6931091#6931091) cho một câu hỏi tương tự –

+1

@MarnixvanValen trả lời giải thích cách truyền lỗi từ NLog tới Elmah. Câu hỏi là về việc vượt qua ngoại lệ Elmah với NLog. –

Trả lời

0

Yêu cầu tương tự được viết cho Log4Net trong một blog

tôi đã dịch nó để NLog và cập nhật nó để giới thiệu NLog của:

public class NLogErrorLog : XmlFileErrorLog 
{ 
    private static Logger logger = LogManager.GetLogger("elmah"); 

    public NLogErrorLog(IDictionary config) : base(config) 
    { 
    } 


    public NLogErrorLog(string logPath) : base(logPath) 
    { 
    } 

    public override string Log(Error error) 
    { 
     //Write whatever you want to NLog 
     logger.Error(error.Exception, "Exception logged through ELMAH: " + error.Message); 
     return base.Log(error); 
    } 
} 

đăng ký trong web.config

<elmah> 
    <errorLog type="MyAssembly.NLogErrorLog, MyAssembly" logPath="~/App_Data" /> 
</elmah> 
Các vấn đề liên quan