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

◆ TraceData() [2/2]

void System.Diagnostics.TraceSource.TraceData ( TraceEventType eventType,
int id,
params object??[] data )
inline

Definition at line 417 of file TraceSource.cs.

418 {
419 Initialize();
420 if (!_internalSwitch.ShouldTrace(eventType) || _listeners == null)
421 {
422 return;
423 }
424 TraceEventCache eventCache = new TraceEventCache();
425 if (TraceInternal.UseGlobalLock)
426 {
427 lock (TraceInternal.critSec)
428 {
429 for (int i = 0; i < _listeners.Count; i++)
430 {
431 TraceListener traceListener = _listeners[i];
432 traceListener.TraceData(eventCache, Name, eventType, id, data);
433 if (Trace.AutoFlush)
434 {
435 traceListener.Flush();
436 }
437 }
438 return;
439 }
440 }
441 for (int j = 0; j < _listeners.Count; j++)
442 {
443 TraceListener traceListener2 = _listeners[j];
444 if (!traceListener2.IsThreadSafe)
445 {
447 {
448 traceListener2.TraceData(eventCache, Name, eventType, id, data);
449 if (Trace.AutoFlush)
450 {
451 traceListener2.Flush();
452 }
453 }
454 }
455 else
456 {
457 traceListener2.TraceData(eventCache, Name, eventType, id, data);
458 if (Trace.AutoFlush)
459 {
460 traceListener2.Flush();
461 }
462 }
463 }
464 }
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.