2015-04-29 47 views

回答

3

自定義接收器可以在幾行代碼中執行此操作。

class ErrorDetector : ILogEventSink { 
    volatile bool _errorDetected; 
    public bool ErrorDetected { get { return _errorDetected; } } 
    public void Emit(LogEvent evt) { 
     if (evt.Level == LogEventLevel.Error || 
      evt.Level == LogEventLevel.Fatal) { 
      _errorDetected = true; 
     } 
    } 
} 

然後:

var detector = new ErrorDetector(); 
var log = new LoggerConfiguration() 
    .WriteTo.Sink(detector) 
    .CreateLogger(); 

// Later 
if (detector.ErrorDetected) { ... 
相關問題