public async Task<IStorageFile> PackageToTempFileAsync(LogReadQuery query, int maxPayloadMb = 5 * (1024 * 1024)) { var result = await ReadLogEntriesAsync(query); return await PackageToTempFileAsync(result, maxPayloadMb); }
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); }
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)); }
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; }