public void Write(LogInfoType logType, string log, int pipe_id) { var f_log = LogHelpper.Format(logType, log, pipe_id); lock (lock_object) { sw.WriteLine(f_log); sw.Flush(); } }
public void Write(LogInfoType logType, string log, int pipe_id) { var f_log = LogHelpper.Format(logType, log, pipe_id); lock (lock_object) { LogList.Enqueue(f_log); // 上限行数を超えていたら末尾のものを取り除く。 if (LogList.Count > MaxLine) { LogList.Dequeue(); } } // イベントハンドラが設定されていればcallbackしたいが、lock解除してからでないとdead lockになる。 ListAdded?.Invoke(f_log); }