Bug Report: Send logs for today and yesterday

This commit is contained in:
Vishesh Handa
2020-11-07 15:31:16 +01:00
parent 5e74f75ebd
commit 071f15b067
2 changed files with 18 additions and 8 deletions

View File

@ -115,22 +115,20 @@ class Log {
} }
static Iterable<LogMessage> fetchLogs() sync* { static Iterable<LogMessage> fetchLogs() sync* {
var now = DateTime.now(); var today = DateTime.now();
var yesterday = now.add(-1.days).toString().substring(0, 10); var yesterday = today.add(-1.days);
for (var msg in fetchLogsForDate(yesterday)) { for (var msg in fetchLogsForDate(yesterday)) {
yield msg; yield msg;
} }
var today = now.toString().substring(0, 10);
for (var msg in fetchLogsForDate(today)) { for (var msg in fetchLogsForDate(today)) {
yield msg; yield msg;
} }
} }
static Iterable<LogMessage> fetchLogsForDate(String date) sync* { static Iterable<LogMessage> fetchLogsForDate(DateTime date) sync* {
var filePath = p.join(logFolderPath, '$date.jsonl'); var file = File(filePathForDate(date));
var file = File(filePath);
if (!file.existsSync()) { if (!file.existsSync()) {
return; return;
} }
@ -149,6 +147,19 @@ class Log {
var date = dt.toString().substring(0, 10); var date = dt.toString().substring(0, 10);
return p.join(logFolderPath, '$date.jsonl'); return p.join(logFolderPath, '$date.jsonl');
} }
static List<String> filePathsForDates(int n) {
var today = DateTime.now();
var l = <String>[];
for (var i = 0; i < n; i++) {
var fp = filePathForDate(today - Duration(days: i * -1));
if (File(fp).existsSync()) {
l.add(fp);
}
}
return l;
}
} }
class LogMessage { class LogMessage {

View File

@ -164,14 +164,13 @@ class AppDrawer extends StatelessWidget {
onTap: () async { onTap: () async {
var platform = Platform.operatingSystem; var platform = Platform.operatingSystem;
var versionText = await getVersionString(); var versionText = await getVersionString();
var appLogsFilePath = Log.filePathForDate(DateTime.now());
final Email email = Email( final Email email = Email(
body: body:
"Hey!\n\nI found a bug in GitJournal - \n \n\nVersion: $versionText\nPlatform: $platform", "Hey!\n\nI found a bug in GitJournal - \n \n\nVersion: $versionText\nPlatform: $platform",
subject: 'GitJournal Bug', subject: 'GitJournal Bug',
recipients: ['bugs@gitjournal.io'], recipients: ['bugs@gitjournal.io'],
attachmentPaths: [appLogsFilePath], attachmentPaths: Log.filePathsForDates(2),
); );
await FlutterEmailSender.send(email); await FlutterEmailSender.send(email);