Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ TraceEvent() [3/3]

void System.Diagnostics.TraceSource.TraceEvent ( TraceEventType eventType,
int id,
string? message )
inline

Definition at line 267 of file TraceSource.cs.

268 {
269 Initialize();
270 if (!_internalSwitch.ShouldTrace(eventType) || _listeners == null)
271 {
272 return;
273 }
274 TraceEventCache eventCache = new TraceEventCache();
275 if (TraceInternal.UseGlobalLock)
276 {
277 lock (TraceInternal.critSec)
278 {
279 for (int i = 0; i < _listeners.Count; i++)
280 {
281 TraceListener traceListener = _listeners[i];
282 traceListener.TraceEvent(eventCache, Name, eventType, id, message);
283 if (Trace.AutoFlush)
284 {
285 traceListener.Flush();
286 }
287 }
288 return;
289 }
290 }
291 for (int j = 0; j < _listeners.Count; j++)
292 {
293 TraceListener traceListener2 = _listeners[j];
294 if (!traceListener2.IsThreadSafe)
295 {
297 {
298 traceListener2.TraceEvent(eventCache, Name, eventType, id, message);
299 if (Trace.AutoFlush)
300 {
301 traceListener2.Flush();
302 }
303 }
304 }
305 else
306 {
307 traceListener2.TraceEvent(eventCache, Name, eventType, id, message);
308 if (Trace.AutoFlush)
309 {
310 traceListener2.Flush();
311 }
312 }
313 }
314 }
volatile TraceListenerCollection _listeners
volatile SourceSwitch _internalSwitch

References System.Diagnostics.TraceSource._internalSwitch, System.Diagnostics.TraceSource._listeners, System.Diagnostics.Trace.AutoFlush, System.Collections.Generic.Dictionary< TKey, TValue >.Count, System.Diagnostics.TraceInternal.critSec, System.Diagnostics.TraceSource.Initialize(), System.Diagnostics.TraceSource.Name, and System.Diagnostics.TraceInternal.UseGlobalLock.