Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
NetEventSource.cs
Go to the documentation of this file.
5
6namespace System.Net;
7
8[EventSource(Name = "Private.InternalDiagnostics.System.Net.NameResolution")]
9internal sealed class NetEventSource : EventSource
10{
11 public static class Keywords
12 {
13 public const EventKeywords Default = (EventKeywords)1L;
14
15 public const EventKeywords Debug = (EventKeywords)2L;
16 }
17
18 public static readonly System.Net.NetEventSource Log = new System.Net.NetEventSource();
19
20 [NonEvent]
21 public static void Info(object thisOrContextObject, FormattableString formattableString = null, [CallerMemberName] string memberName = null)
22 {
23 if (Log.IsEnabled())
24 {
25 Log.Info(IdOf(thisOrContextObject), memberName, (formattableString != null) ? Format(formattableString) : "");
26 }
27 }
28
29 [NonEvent]
30 public static void Info(object thisOrContextObject, object message, [CallerMemberName] string memberName = null)
31 {
32 if (Log.IsEnabled())
33 {
34 Log.Info(IdOf(thisOrContextObject), memberName, Format(message).ToString());
35 }
36 }
37
38 [Event(4, Level = EventLevel.Informational, Keywords = (EventKeywords)1L)]
39 private void Info(string thisOrContextObject, string memberName, string message)
40 {
41 WriteEvent(4, thisOrContextObject, memberName ?? "(?)", message);
42 }
43
44 [NonEvent]
45 public static void Error(object thisOrContextObject, FormattableString formattableString, [CallerMemberName] string memberName = null)
46 {
47 if (Log.IsEnabled())
48 {
49 Log.ErrorMessage(IdOf(thisOrContextObject), memberName, Format(formattableString));
50 }
51 }
52
53 [NonEvent]
54 public static void Error(object thisOrContextObject, object message, [CallerMemberName] string memberName = null)
55 {
56 if (Log.IsEnabled())
57 {
58 Log.ErrorMessage(IdOf(thisOrContextObject), memberName, Format(message).ToString());
59 }
60 }
61
62 [Event(5, Level = EventLevel.Error, Keywords = (EventKeywords)1L)]
63 private void ErrorMessage(string thisOrContextObject, string memberName, string message)
64 {
65 WriteEvent(5, thisOrContextObject, memberName ?? "(?)", message);
66 }
67
68 [NonEvent]
69 public static string IdOf(object value)
70 {
71 if (value == null)
72 {
73 return "(null)";
74 }
75 return value.GetType().Name + "#" + GetHashCode(value);
76 }
77
78 [NonEvent]
79 public static int GetHashCode(object value)
80 {
81 return value?.GetHashCode() ?? 0;
82 }
83
84 [NonEvent]
85 public static object Format(object value)
86 {
87 if (value == null)
88 {
89 return "(null)";
90 }
91 string text = null;
92 if (text != null)
93 {
94 return text;
95 }
96 if (value is Array array)
97 {
98 return $"{array.GetType().GetElementType()}[{((Array)value).Length}]";
99 }
101 {
102 return $"{collection.GetType().Name}({collection.Count})";
103 }
104 if (value is SafeHandle safeHandle)
105 {
106 return $"{safeHandle.GetType().Name}:{safeHandle.GetHashCode()}(0x{safeHandle.DangerousGetHandle():X})";
107 }
108 if (value is IntPtr)
109 {
110 return $"0x{value:X}";
111 }
112 string text2 = value.ToString();
113 if (text2 == null || text2 == value.GetType().FullName)
114 {
115 return IdOf(value);
116 }
117 return value;
118 }
119
120 [NonEvent]
121 private static string Format(FormattableString s)
122 {
123 switch (s.ArgumentCount)
124 {
125 case 0:
126 return s.Format;
127 case 1:
128 return string.Format(s.Format, Format(s.GetArgument(0)));
129 case 2:
130 return string.Format(s.Format, Format(s.GetArgument(0)), Format(s.GetArgument(1)));
131 case 3:
132 return string.Format(s.Format, Format(s.GetArgument(0)), Format(s.GetArgument(1)), Format(s.GetArgument(2)));
133 default:
134 {
135 object[] arguments = s.GetArguments();
136 object[] array = new object[arguments.Length];
137 for (int i = 0; i < arguments.Length; i++)
138 {
139 array[i] = Format(arguments[i]);
140 }
141 return string.Format(s.Format, array);
142 }
143 }
144 }
145}
static readonly System.Net.NetEventSource Log
void ErrorMessage(string thisOrContextObject, string memberName, string message)
static void Info(object thisOrContextObject, FormattableString formattableString=null, [CallerMemberName] string memberName=null)
static void Error(object thisOrContextObject, object message, [CallerMemberName] string memberName=null)
void Info(string thisOrContextObject, string memberName, string message)
static string IdOf(object value)
static string Format(FormattableString s)
static void Error(object thisOrContextObject, FormattableString formattableString, [CallerMemberName] string memberName=null)
static int GetHashCode(object value)
unsafe void WriteEvent(int eventId, int arg1, int arg2, int arg3, string arg4, string arg5)
static void Info(object thisOrContextObject, object message, [CallerMemberName] string memberName=null)
static object Format(object value)