예제 #1
0
        public void TestLogMessageParsing()
        {
            const string message = "<11>1 2015-06-13T14:44:30.0430-7:00 TS-JH2.dev.local AVSMProxySvc.exe 1192 - " +
                "[AventuraMetaData@41909 file=\"MessageClientImpl.cpp\" thread=\"1364\" line=\"456\" project=\"ThreadPool\" " +
                "SocketId=\"000000001BB29A40\"] Closing socket";

            var lm = new LogMessage(new RawMessage()
            {
                IpAddress = IPAddress.Parse("127.0.0.1"),
                Port = 9998,
                Message = message
            });

            //Verify Header Data
            Assert.IsTrue(lm.HostName == "TS-JH2.dev.local");
            Assert.IsTrue(lm.Process == "AVSMProxySvc.exe");
            Assert.IsTrue(lm.Pid == "1192");
            Assert.IsTrue(lm.Severity == "Error");
            Assert.IsTrue(lm.IpAddress == "127.0.0.1:9998");

            //Verify Metadata
            Assert.IsTrue(lm.Thread == "1364");
            Assert.IsTrue(lm.Project == "ThreadPool");
            Assert.IsTrue(lm.SocketId == "000000001BB29A40");
            Assert.IsTrue(lm.File == "MessageClientImpl.cpp(456)");

            //Verify Message
            Assert.IsTrue(lm.Message == "Closing socket");
        }
예제 #2
0
        private void PumpMessageQueue(object sender, ElapsedEventArgs e)
        {
            if(_messageQueue.IsEmpty) { return; }

            //Disable timer so we don't bind up the gui thread
            _messagePumpTimer.Enabled = false;

            RawMessage message;
            while (_messageQueue.TryDequeue(out message))
            {
                //Parse message and add it to the log
                var lm = new LogMessage(message);
                OnUiThread(() => LvLogMessages.AddLogMessage(lm));
            }

            _messagePumpTimer.Enabled = true;
        }
예제 #3
0
        private void BuildFilterColumns()
        {
            var lm = new LogMessage();
            var propertyList = new ObservableCollection<string>();
            foreach (var prop in lm.GetType().GetProperties())
            {
                propertyList.Add(prop.Name);
            }

            CmbFilterCol.ItemsSource = propertyList;
        }