public string CreateKey(NeithLog log) { var key = GetKeyFunc(log); if (string.IsNullOrWhiteSpace(key)) return null; key = key.Replace('\u0001', ' '); var buf = BitConverter.GetBytes(log.UtcTime.ToBinary()); return key + '\u0001' + Convert.ToBase64String(buf); }
/// <summary> /// ログ情報を解析して追加データを登録します。 /// </summary> /// <param name="log"></param> /// <returns></returns> public NeithLog SetAnalyzeData(NeithLog log) { log.Analyzer = Name; var who = log.Actor; var message = log.LogText; var numType = log.Type.Substring(10).HexToInt32(); var mType = numType.ToMessageType(); if (mType == FFXILogMessageType.UNNONE) { log.Category = string.Format("{0}:{1}", mType, numType); } else { log.Category = mType.ToString(); } log.Message = FFXIVLog.GetLogString(mType, numType, who, message); return log; }
public void Store(NeithLog log) { var key = CreateKey(log); if (key == null) return; Index.Add(CreateKey(log), new IndexValue() { UtcTime = log.UtcTime }); }
public NeithLogEventArgs(NeithLog log) { Log = log; }
/// <summary> /// 要素を追加します。 /// </summary> /// <param name="list"></param> /// <param name="item"></param> public static void Add(this ICollection<NeithLogVM> list, NeithLog item) { list.Add(new NeithLogVM(item)); }
private void OnCollect(NeithLog log) { if (Collect == null) return; Collect(this, new NeithLogEventArgs(log)); }
/// <summary> /// ログの格納 /// </summary> /// <param name="neithLog"></param> public void Store(NeithLog log) { Dic.Add(log.UtcTime, log); foreach (var index in Indexes) index.Store(log); }
/// <summary> /// 受信データを保存し、イベントを発行します。 /// </summary> /// <param name="log"></param> public void OnReceive(NeithLog log) { if (Receive == null) return; Receive(this, new NeithLogEventArgs(log)); }
public NeithLogVM(NeithLog item) { this.item = item; }