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* {
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)) {
yield msg;
}
var today = now.toString().substring(0, 10);
for (var msg in fetchLogsForDate(today)) {
yield msg;
}
}
static Iterable<LogMessage> fetchLogsForDate(String date) sync* {
var filePath = p.join(logFolderPath, '$date.jsonl');
var file = File(filePath);
static Iterable<LogMessage> fetchLogsForDate(DateTime date) sync* {
var file = File(filePathForDate(date));
if (!file.existsSync()) {
return;
}
@ -149,6 +147,19 @@ class Log {
var date = dt.toString().substring(0, 10);
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 {

View File

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