internal TracerConfig(string cfg)
{
if (string.IsNullOrEmpty(cfg))
{
return;
}
var source = new TraceSource(TraceEnvVarName, SourceLevels.All);
this.myListeners = source.Listeners;
var parser = new TraceCfgParser(cfg);
var newListener = parser.OutDevice;
this.myFilters = parser.Filters;
this.myNotFilters = parser.NotFilters;
if (newListener != null)
{
// when the App.config _Trace source should be used we do not replace
// anything
if (!parser.UseAppConfigListeners)
{
this.myListeners.Clear();
this.myListeners.Add(newListener);
}
}
else
{
this.myListeners = null;
}
}