mirror of
https://github.com/GitJournal/GitJournal.git
synced 2025-06-29 10:17:16 +08:00
Bug Report: Send logs for today and yesterday
This commit is contained in:
@ -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 {
|
||||||
|
@ -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);
|
||||||
|
Reference in New Issue
Block a user