protected void OnLogged(LoggedEventArgs e) { if (Logged != null) { Logged(this, e); } }
protected override void OnLogged(object sender, LoggedEventArgs e) { var log = e.Data; if (log == null) { return; } if (log.Level < MinimumLogLevel) { return; } if (writer_ == null) { throw new InvalidOperationException("writer_がnullです。"); } string csvString = null; try{ CsvMaker cm = new CsvMaker(); cm.AddToken(log.Level); cm.AddToken(log.Tag); cm.AddToken(log.Time.ToString("yyyy/MM/dd HH:mm:ss.fff")); cm.AddToken(log.Message); cm.AddToken(log.Exception); // Exceptionがnullの時はコード情報出力しないようにしてる if (log.Exception != null || log.Level >= ECSLogLevel.Error) { cm.AddToken(log.File); cm.AddToken(log.Line); cm.AddToken(log.Member); } csvString = cm.ToString(); } catch (Exception ex) { throw new Exception("ログ情報からCSVへの変換に失敗しました。", ex); } writer_.WriteLine(csvString); }
void parentLogger__Logged(object sender, LoggedEventArgs e) { OnLogged(e); }
/// <summary> /// ログが完了したときに呼び出される。 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected abstract void OnLogged(object sender, LoggedEventArgs e);