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

◆ TraceEvent() [2/3]

void System.Diagnostics.TraceSource.TraceEvent ( TraceEventType eventType,
int id,
string? format,
params object??[] args )
inline

Definition at line 317 of file TraceSource.cs.

318 {
319 Initialize();
320 if (!_internalSwitch.ShouldTrace(eventType) || _listeners == null)
321 {
322 return;
323 }
324 TraceEventCache eventCache = new TraceEventCache();
325 if (TraceInternal.UseGlobalLock)
326 {
327 lock (TraceInternal.critSec)
328 {
329 for (int i = 0; i < _listeners.Count; i++)
330 {
331 TraceListener traceListener = _listeners[i];
332 traceListener.TraceEvent(eventCache, Name, eventType, id, format, args);
333 if (Trace.AutoFlush)
334 {
335 traceListener.Flush();
336 }
337 }
338 return;
339 }
340 }
341 for (int j = 0; j < _listeners.Count; j++)
342 {
343 TraceListener traceListener2 = _listeners[j];
344 if (!traceListener2.IsThreadSafe)
345 {
347 {
348 traceListener2.TraceEvent(eventCache, Name, eventType, id, format, args);
349 if (Trace.AutoFlush)
350 {
351 traceListener2.Flush();
352 }
353 }
354 }
355 else
356 {
357 traceListener2.TraceEvent(eventCache, Name, eventType, id, format, args);
358 if (Trace.AutoFlush)
359 {
360 traceListener2.Flush();
361 }
362 }
363 }
364 }
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.format, System.Diagnostics.TraceSource.Initialize(), System.Diagnostics.TraceSource.Name, and System.Diagnostics.TraceInternal.UseGlobalLock.