private KeyValuePair <Level, MessageTypes> ParseMsgTypeFilter(string[] typeFilters)
{
var msgTypeFilter = MessageTypes.None;
var level = Level.None;
foreach (var filter in typeFilters)
{
var curFilter = MessageTypes.None;
var curLevel = Level.None;
if (!myFlagTranslator.TryGetValue(filter.Trim(), out curFilter))
{
if (!myLevelTranslator.TryGetValue(filter.Trim(), out curLevel))
{
InternalError.Print("The trace message type filter string {0} was not expected.", filter);
this.bHasError = true;
}
else
{
level |= curLevel;
}
}
else
{
msgTypeFilter |= curFilter;
}
}
// if nothing was enabled we do enable full tracing by default
msgTypeFilter = (msgTypeFilter == MessageTypes.None) ? MessageTypes.All : msgTypeFilter;
level = (level == Level.None) ? Level.All : level;
return(new KeyValuePair <Level, MessageTypes>(level, msgTypeFilter));
}