示例#1
0
 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);
 }
示例#2
0
        /// <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;
        }
示例#3
0
 public void Store(NeithLog log)
 {
     var key = CreateKey(log);
     if (key == null) return;
     Index.Add(CreateKey(log), new IndexValue() { UtcTime = log.UtcTime });
 }
示例#4
0
 public NeithLogEventArgs(NeithLog log)
 {
     Log = log;
 }
示例#5
0
 /// <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));
 }
示例#6
0
 private void OnCollect(NeithLog log)
 {
     if (Collect == null) return;
     Collect(this, new NeithLogEventArgs(log));
 }
示例#7
0
 /// <summary>
 /// ログの格納
 /// </summary>
 /// <param name="neithLog"></param>
 public void Store(NeithLog log)
 {
     Dic.Add(log.UtcTime, log);
     foreach (var index in Indexes) index.Store(log);
 }
示例#8
0
 /// <summary>
 /// 受信データを保存し、イベントを発行します。
 /// </summary>
 /// <param name="log"></param>
 public void OnReceive(NeithLog log)
 {
     if (Receive == null) return;
     Receive(this, new NeithLogEventArgs(log));
 }
示例#9
0
 public NeithLogVM(NeithLog item)
 {
     this.item = item;
 }