Skip to content

Commit dd3511e

Browse files
committed
improvement to logger
1 parent bd64a39 commit dd3511e

File tree

1 file changed

+32
-9
lines changed

1 file changed

+32
-9
lines changed

src/lib/main.js

Lines changed: 32 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ import { keydownState } from "handlers/keyboard";
5252
import { initFileList } from "lib/fileList";
5353
import { addedFolder } from "lib/openFolder";
5454
import { getEncoding, initEncodings } from "utils/encodings";
55+
import constants from "./constants";
5556

5657
const previousVersionCode = Number.parseInt(localStorage.versionCode, 10);
5758

@@ -107,6 +108,19 @@ async function onDeviceReady() {
107108
window.IS_FREE_VERSION = isFreePackage;
108109
window.log = logger.log.bind(logger);
109110

111+
// Capture synchronous errors
112+
window.addEventListener("error", function (event) {
113+
const errorMsg = `Error: ${event.message}, Source: ${event.filename}, Line: ${event.lineno}, Column: ${event.colno}, Stack: ${event.error?.stack || "N/A"}`;
114+
window.log("error", errorMsg);
115+
});
116+
// Capture unhandled promise rejections
117+
window.addEventListener("unhandledrejection", function (event) {
118+
window.log(
119+
"error",
120+
`Unhandled rejection: ${event.reason ? event.reason.message : "Unknown reason"}\nStack: ${event.reason ? event.reason.stack : "No stack available"}`,
121+
);
122+
});
123+
110124
startAd();
111125

112126
try {
@@ -185,22 +199,31 @@ async function onDeviceReady() {
185199
oldResolveURL.call(this, Url.safe(url), ...args);
186200
};
187201

188-
setTimeout(() => {
189-
if (document.body.classList.contains("loading"))
202+
setTimeout(async () => {
203+
if (document.body.classList.contains("loading")) {
190204
window.log("warn", "App is taking unexpectedly long time!");
191-
document.body.setAttribute(
192-
"data-small-msg",
193-
"This is taking unexpectedly long time!",
194-
);
205+
document.body.setAttribute(
206+
"data-small-msg",
207+
"This is taking unexpectedly long time!",
208+
);
209+
// share the log file (but currently doesn't work)
210+
// system.fileAction(
211+
// Url.join(DATA_STORAGE, constants.LOG_FILE_NAME),
212+
// constants.LOG_FILE_NAME,
213+
// "SEND",
214+
// "text/plain",
215+
// () => {
216+
// toast(strings["no app found to handle this file"]);
217+
// },
218+
// );
219+
}
195220
}, 1000 * 10);
196221

197222
acode.setLoadingMessage("Loading settings...");
198-
window.log("info", "Loading Settings...");
199223
await settings.init();
200224
themes.init();
201225

202226
acode.setLoadingMessage("Loading language...");
203-
window.log("info", "Loading language...");
204227
await lang.set(settings.value.lang);
205228

206229
try {
@@ -346,7 +369,7 @@ async function loadApp() {
346369
});
347370
//#endregion
348371

349-
window.log("info", "App started!");
372+
window.log("info", "Started app and services...");
350373

351374
new EditorFile();
352375

0 commit comments

Comments
 (0)