Exemple #1
0
        private void UpdateMessageList(JsonValue value)
        {
            if (value == null || value.ValueType != JsonValueType.Object)
            {
                return;
            }
            var valueObj  = value.GetObject();
            var eventsArr = valueObj.GetNamedArray("Events");
            var newEvents = new List <TraceEntry>();

            foreach (var evtValue in eventsArr)
            {
                if (evtValue.ValueType != JsonValueType.Object)
                {
                    continue;
                }
                var evtObj = evtValue.GetObject();
                if (!evtObj.ContainsKey("TaskName") || evtObj.GetNamedString("TaskName") != "Log")
                {
                    continue;
                }
                var fileTime  = evtObj.GetNamedNumber("Timestamp");
                var timeStamp = DateTime.FromFileTime((long)fileTime);
                newEvents.Add(new TraceEntry()
                {
                    TimeStamp = timeStamp.ToString("u"),
                    Level     = (TraceLevel)evtObj.GetNamedNumber("Level"),
                    Message   = evtObj.GetNamedString("msg").Trim('"'),
                });
            }

            var task = Dispatcher.RunAsync(CoreDispatcherPriority.Low, () =>
            {
                foreach (var item in newEvents)
                {
                    Items.Add(item);
                }

                LogScroller.UpdateLayout();
                LogScroller.ChangeView(0, LogScroller.ScrollableHeight, null);
            });
        }
Exemple #2
0
 private void LogBox_TextChanged(object sender, TextChangedEventArgs e)
 {
     LogScroller.ChangeView(0.0f, LogScroller.ExtentHeight, 1.0f);
 }