Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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()));
            }
        }
Exemplo n.º 3
0
        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;
            }
        }