KeyValuePair <Level, MessageTypes> ParseMsgTypeFilter(string [] typeFilters) { MessageTypes msgTypeFilter = MessageTypes.None; Level level = Level.None; foreach (string filter in typeFilters) { MessageTypes curFilter = MessageTypes.None; Level 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); 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)); }
IEnumerable <KeyValuePair <string, string []> > GetFilters(string [] filters, int nSkip) { foreach (string current in filters.Skip(nSkip)) { string[] filterParts = current.Split(new char[] { '+', ' ' }, StringSplitOptions.RemoveEmptyEntries); if (filterParts.Length < 2) { bHasError = true; InternalError.Print("The configuration string {0} did have an unmatched type severity or level filter part: {0}", current); } yield return(new KeyValuePair <string, string []>(filterParts[0], filterParts.Skip(1).ToArray())); } }
private void OpenOutputDevice(string outDevice) { string [] parts = outDevice.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); string deviceName = parts[0]; string deviceConfig = String.Join(" ", parts.Skip(1).ToArray()); switch (deviceName) { case "file": if (deviceConfig == "") { deviceConfig = DefaultTraceFileBaseName; } OutDevice = new TextWriterTraceListener(CreateTraceFile(deviceConfig)); break; case "debugoutput": OutDevice = new DefaultTraceListener(); break; case "console": OutDevice = new ConsoleTraceListener(); break; case "null": OutDevice = new NullTraceListener(); break; case "default": UseAppConfigListeners = true; OutDevice = new NullTraceListener(); break; default: InternalError.Print("The trace output device {0} is not supported.", outDevice); bHasError = true; break; } }