Error log sync in Sunbird Desktop App
Overview:
Currently, Deskstop App has a logging system that stores the log in the file system. These logs have the type of log, error message, time-stamp. We can debug the errors locally by accessing the log files.
Problem statement:
As part of the error log sync to the server, the system should not have the repetitive/duplicate logs, and it should have the required data to make debugging easier. So we should have listed down some possible errors along with there unique CODE
and Identifier
Solution:
We will list all the possible scenarios where fatal errors might come. Code is a Unique key for error where ID is a combination of the CODE
and ID
, where ID
is an individual attribute for the error such as do_id, batchId. For better implementation, we can encode ID
with base64 Encoding.
The following are some Generic errors which may occur during the App lifecycle:
CODE | ID | |
---|---|---|
1 | CONTENT_IMPORT | ecar_filename |
2 | CONTENT_IMPORT_LOW_DISK_SPACE |
|
3 | CONTENT_IMPORT_ECAR_ADDED_ALREADY |
|
4 | CONTENT_EXPORT | content_do_id |
5 | CONTENT_DOWNLOAD | content_do_id |
6 | CONTENT_DOWNLOAD_LOW_DISK_SPACE | content_do_id |
7 | CONTENT_DOWNLOAD_EXTRACT_FAILED | content_do_id |
8 | CONTENT_DELETE | content_do_id |
9 | TELEMETRY_SYNC | batchId |
10 | TELEMETRY_IMPORT | file_path |
11 | TELEMETRY_EXPORT | batch_ID |
12 | REPORT_ISSUE |
|
13 | FORM_READ | type_subtype_action |
14 | CHANNEL_READ | channel_id |
15 | FAQ_READ | language_code |
16 | TENANT_INFO | tenant_id |
17 | CONTENT_READ | do_id |
18 | COURSE_HIERARCHY | do_id |
19 | DEVICE_PROFILE | device_profile_id |
20 | DIAL_ASSEMBLE | status (online/offline) |
21 | CONTENT_SEARCH | search_keyword |
22 | DESKTOP_UPDATE |
|
23 | SYSTEM_INFO |
|
24 | CHANGE_CONTENT_LOCATION |
|
25 | USER_CREATE |
|
26 | USER_READ | user_id |
27 | USER_UPDATE | user_id |
28 | LOCATION_SEARCH | location_keyword |
29 | LOCATION_SAVE | location_keyword |
30 | APP_START |
|
31 | APP_CRASH |
|
32 | ELECTRON_DIALOG | req_id (e.g. '/dialog/content/export') |
33 | CRASH_REPORTER |
|
34 | UNKNOWN |
|