A game about forced loneliness, made by TACStudios
1using System;
2using System.Text.RegularExpressions;
3
4namespace UnityEngine.TestTools.Logging
5{
6 [Serializable]
7 internal class LogMatch
8 {
9 [SerializeField]
10 private bool m_UseRegex;
11 [SerializeField]
12 private string m_Message;
13 [SerializeField]
14 private string m_MessageRegex;
15 [SerializeField]
16 private string m_LogType;
17
18 public string Message
19 {
20 get { return m_Message; }
21 set
22 {
23 m_Message = value;
24 m_UseRegex = false;
25 }
26 }
27
28 public Regex MessageRegex
29 {
30 get
31 {
32 if (!m_UseRegex)
33 {
34 return null;
35 }
36
37 return new Regex(m_MessageRegex);
38 }
39 set
40 {
41 if (value != null)
42 {
43 m_MessageRegex = value.ToString();
44 m_UseRegex = true;
45 }
46 else
47 {
48 m_MessageRegex = null;
49 m_UseRegex = false;
50 }
51 }
52 }
53
54 public LogType? LogType
55 {
56 get
57 {
58 if (!string.IsNullOrEmpty(m_LogType))
59 {
60 return Enum.Parse(typeof(LogType), m_LogType) as LogType ? ;
61 }
62
63 return null;
64 }
65 set
66 {
67 if (value != null)
68 {
69 m_LogType = value.Value.ToString();
70 }
71 else
72 {
73 m_LogType = null;
74 }
75 }
76 }
77
78 public bool Matches(LogEvent log)
79 {
80 if (LogType != null && LogType != log.LogType)
81 {
82 return false;
83 }
84
85 if (m_UseRegex)
86 {
87 return MessageRegex.IsMatch(log.Message);
88 }
89
90 return Message.Equals(log.Message);
91 }
92
93 public override string ToString()
94 {
95 if (m_UseRegex)
96 return string.Format("[{0}] Regex: {1}", LogType, MessageRegex);
97 return string.Format("[{0}] {1}", LogType, Message);
98 }
99 }
100}