Exemple #1
0
 public async Task<IStorageFile> PackageToTempFileAsync(LogReadQuery query, int maxPayloadMb = 5 * (1024 * 1024))
 {
     var result = await ReadLogEntriesAsync(query);
     return await PackageToTempFileAsync(result, maxPayloadMb);
 }
Exemple #2
0
        public async Task<ReadLogEntriesResult> ReadLogEntriesAsync(LogReadQuery query)
        {
            var builder = new StringBuilder();
            var args = new List<object>();
            builder.Append("select * from logeventinfoitem where level in (");
            bool first = true;
            if (query.IsTraceEnabled)
                AppendLevel(builder, args, LogLevel.Trace, ref first);
            if (query.IsDebugEnabled)
                AppendLevel(builder, args, LogLevel.Debug, ref first);
            if (query.IsInfoEnabled)
                AppendLevel(builder, args, LogLevel.Info, ref first);
            if (query.IsWarnEnabled)
                AppendLevel(builder, args, LogLevel.Warn, ref first);
            if (query.IsErrorEnabled)
                AppendLevel(builder, args, LogLevel.Error, ref first);
            if (query.IsFatalEnabled)
                AppendLevel(builder, args, LogLevel.Fatal, ref first);
            builder.Append(")");
            if (query.FromDateTimeUtc != DateTime.MinValue)
            {
                builder.Append(" and datetimeutc >= ?");
                args.Add(query.FromDateTimeUtc);
            }
            builder.Append(" order by itemid desc");
            if (query.Top > 0)
            {
                builder.Append(" limit ");
                builder.Append(query.Top);
            }

            // create...
            var conn = this.GetConnection();
            var events = (await conn.QueryAsync<LogEventInfoItem>(builder.ToString(), args.ToArray())).ToList();

            // get the unique sessions...
            var sessionIds = new List<int>();
            foreach (var theEvent in events)
            {
                if (!(sessionIds.Contains(theEvent.SessionId)))
                    sessionIds.Add(theEvent.SessionId);
            }

            // load...
            var headers = await SessionHeaderItem.GetByIdsAsync(conn, sessionIds);
            return new ReadLogEntriesResult(events, headers);
        }
Exemple #3
0
        public async Task <ReadLogEntriesResult> ReadLogEntriesAsync(LogReadQuery query)
        {
            var builder = new StringBuilder();
            var args    = new List <object>();

            builder.Append("select * from logeventinfoitem where level in (");
            bool first = true;

            if (query.IsTraceEnabled)
            {
                AppendLevel(builder, args, LogLevel.Trace, ref first);
            }
            if (query.IsDebugEnabled)
            {
                AppendLevel(builder, args, LogLevel.Debug, ref first);
            }
            if (query.IsInfoEnabled)
            {
                AppendLevel(builder, args, LogLevel.Info, ref first);
            }
            if (query.IsWarnEnabled)
            {
                AppendLevel(builder, args, LogLevel.Warn, ref first);
            }
            if (query.IsErrorEnabled)
            {
                AppendLevel(builder, args, LogLevel.Error, ref first);
            }
            if (query.IsFatalEnabled)
            {
                AppendLevel(builder, args, LogLevel.Fatal, ref first);
            }
            builder.Append(")");
            if (query.FromDateTimeUtc != DateTime.MinValue)
            {
                builder.Append(" and datetimeutc >= ?");
                args.Add(query.FromDateTimeUtc);
            }
            builder.Append(" order by itemid desc");
            if (query.Top > 0)
            {
                builder.Append(" limit ");
                builder.Append(query.Top);
            }

            // create...
            var conn   = this.GetConnection();
            var events = (await conn.QueryAsync <LogEventInfoItem>(builder.ToString(), args.ToArray())).ToList();

            // get the unique sessions...
            var sessionIds = new List <int>();

            foreach (var theEvent in events)
            {
                if (!(sessionIds.Contains(theEvent.SessionId)))
                {
                    sessionIds.Add(theEvent.SessionId);
                }
            }

            // load...
            var headers = await SessionHeaderItem.GetByIdsAsync(conn, sessionIds);

            return(new ReadLogEntriesResult(events, headers));
        }
Exemple #4
0
        public async Task <IStorageFile> PackageToTempFileAsync(LogReadQuery query, int maxPayloadMb = 5 *(1024 * 1024))
        {
            var result = await ReadLogEntriesAsync(query);

            return(await PackageToTempFileAsync(result, maxPayloadMb));
        }
        private async void HandleReadSQLiteValues(object sender, RoutedEventArgs e)
        {
            // read some values back...
            var query = new LogReadQuery();
            query.SetLevels(LogLevel.Trace, LogLevel.Fatal);
            var file = await this.SQLiteTarget.PackageToTempFileAsync(query);

            // replace...
            if (this.FileToShare != null)
                await this.FileToShare.DeleteAsync();
            this.FileToShare = file;


            var manager = DataTransferManager.GetForCurrentView();
            manager.DataRequested += manager_DataRequested;

            // share...
            DataTransferManager.ShowShareUI();

            manager.DataRequested -= manager_DataRequested;
        }