Beispiel #1
0
 protected void OnLogged(LoggedEventArgs e)
 {
     if (Logged != null)
     {
         Logged(this, e);
     }
 }
Beispiel #2
0
        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);