Add a onLogMessage setting to BaseAPI.

This allows intercepting log messages,
for example to allow displaying them in
a user-visible interface.
This commit is contained in:
Rubén Herrero
2022-02-10 18:33:03 +01:00
parent 96337bf2fb
commit d25fabee28
10 changed files with 227 additions and 198 deletions

47
dist/scorm2004.min.js vendored
View File

@@ -512,6 +512,30 @@ var BaseAPI = /*#__PURE__*/function () {
}
return result;
},
onLogMessage: function onLogMessage(messageLevel, logMessage) {
switch (messageLevel) {
case global_constants.LOG_LEVEL_ERROR:
console.error(logMessage);
break;
case global_constants.LOG_LEVEL_WARNING:
console.warn(logMessage);
break;
case global_constants.LOG_LEVEL_INFO:
console.info(logMessage);
break;
case global_constants.LOG_LEVEL_DEBUG:
if (console.debug) {
console.debug(logMessage);
} else {
console.log(logMessage);
}
break;
}
}
}
});
@@ -850,28 +874,7 @@ var BaseAPI = /*#__PURE__*/function () {
logMessage = this.formatMessage(functionName, CMIElement, logMessage);
if (messageLevel >= this.apiLogLevel) {
switch (messageLevel) {
case global_constants.LOG_LEVEL_ERROR:
console.error(logMessage);
break;
case global_constants.LOG_LEVEL_WARNING:
console.warn(logMessage);
break;
case global_constants.LOG_LEVEL_INFO:
console.info(logMessage);
break;
case global_constants.LOG_LEVEL_DEBUG:
if (console.debug) {
console.debug(logMessage);
} else {
console.log(logMessage);
}
break;
}
this.settings.onLogMessage(messageLevel, logMessage);
}
}
/**