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

◆ TraceData() [1/2]

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

Definition at line 367 of file TraceSource.cs.

368 {
369 Initialize();
370 if (!_internalSwitch.ShouldTrace(eventType) || _listeners == null)
371 {
372 return;
373 }
374 TraceEventCache eventCache = new TraceEventCache();
375 if (TraceInternal.UseGlobalLock)
376 {
377 lock (TraceInternal.critSec)
378 {
379 for (int i = 0; i < _listeners.Count; i++)
380 {
381 TraceListener traceListener = _listeners[i];
382 traceListener.TraceData(eventCache, Name, eventType, id, data);
383 if (Trace.AutoFlush)
384 {
385 traceListener.Flush();
386 }
387 }
388 return;
389 }
390 }
391 for (int j = 0; j < _listeners.Count; j++)
392 {
393 TraceListener traceListener2 = _listeners[j];
394 if (!traceListener2.IsThreadSafe)
395 {
397 {
398 traceListener2.TraceData(eventCache, Name, eventType, id, data);
399 if (Trace.AutoFlush)
400 {
401 traceListener2.Flush();
402 }
403 }
404 }
405 else
406 {
407 traceListener2.TraceData(eventCache, Name, eventType, id, data);
408 if (Trace.AutoFlush)
409 {
410 traceListener2.Flush();
411 }
412 }
413 }
414 }
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.