UNPKG

@enact/webos

Version:

webOS support library

212 lines (200 loc) 6.87 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.warning = exports.perfLog = exports.notice = exports.info = exports.error = exports.emergency = exports.debug = exports.critical = exports.alert = void 0; /* eslint-disable no-console */ /** * Provides a wrapper around PmLogLib logging API * * @module webos/pmloglib * @exports emergency * @exports alert * @exports critical * @exports error * @exports warning * @exports notice * @exports info * @exports debug * @exports perfLog */ // Log level constants var levelEmergency = 0; var levelAlert = 1; var levelCritical = 2; var levelError = 3; var levelWarning = 4; var levelNotice = 5; var levelInfo = 6; var levelDebug = 7; var isObject = function isObject(obj) { return !!obj && typeof obj === 'object' && Object.prototype.toString.call(obj) !== '[object Array]'; }; // Log function stringifies and escapes keyVals, and passes to PmLogString var log = function log(level, messageId, keyVals, freeText) { if (typeof window !== 'undefined' && (window.webOSSystem || window.PalmSystem)) { var _window$webOSSystem; if (keyVals && !isObject(keyVals)) { level = levelError; keyVals = { msgid: messageId }; messageId = 'MISMATCHED_FMT'; freeText = null; console.warn('webOSLog called with invalid format: keyVals must be an object'); } if (!messageId && level !== levelDebug) { console.warn('webOSLog called with invalid format: messageId was empty'); } if (keyVals) { keyVals = JSON.stringify(keyVals); } var webOSSystem = (_window$webOSSystem = window.webOSSystem) !== null && _window$webOSSystem !== void 0 ? _window$webOSSystem : window.PalmSystem; if (webOSSystem.PmLogString) { if (level === levelDebug) { // debug only accepts 2 arguments webOSSystem.PmLogString(level, null, null, freeText); } else { webOSSystem.PmLogString(level, messageId, keyVals, freeText); } } else { console.error('Unable to send log: PmLogString not found in this version of webOSSystem'); } } }; /** * Logs with PmLogLib at the "emergency" level. * * @function * @param {String} messageId Short string that uniquely identifies the log message within a component * @param {Object} keyVals Key-value pairs to log * @param {String} freeText Text string to log * @returns {undefined} * @memberof webos/pmloglib * @public */ var emergency = exports.emergency = function emergency(messageId, keyVals, freeText) { log(levelEmergency, messageId, keyVals, freeText); }; /** * Logs with PmLogLib at the "alert" level. * * @function * @param {String} messageId Short string that uniquely identifies the log message within a component * @param {Object} keyVals Key-value pairs to log * @param {String} freeText Text string to log * @returns {undefined} * @memberof webos/pmloglib * @public */ var alert = exports.alert = function alert(messageId, keyVals, freeText) { log(levelAlert, messageId, keyVals, freeText); }; /** * Logs with PmLogLib at the "critical" level. * * @function * @param {String} messageId Short string that uniquely identifies the log message within a component * @param {Object} keyVals Key-value pairs to log * @param {String} freeText Text string to log * @returns {undefined} * @memberof webos/pmloglib * @public */ var critical = exports.critical = function critical(messageId, keyVals, freeText) { log(levelCritical, messageId, keyVals, freeText); }; /** * Logs with PmLogLib at the "error" level. * * @function * @param {String} messageId Short string that uniquely identifies the log message within a component * @param {Object} keyVals Key-value pairs to log * @param {String} freeText Text string to log * @returns {undefined} * @memberof webos/pmloglib * @public */ var error = exports.error = function error(messageId, keyVals, freeText) { log(levelError, messageId, keyVals, freeText); }; /** * Logs with PmLogLib at the "warning" level. * * @function * @param {String} messageId Short string that uniquely identifies the log message within a component * @param {Object} keyVals Key-value pairs to log * @param {String} freeText Text string to log * @returns {undefined} * @memberof webos/pmloglib * @public */ var warning = exports.warning = function warning(messageId, keyVals, freeText) { log(levelWarning, messageId, keyVals, freeText); }; /** * Logs with PmLogLib at the "notice" level. * * @function * @param {String} messageId Short string that uniquely identifies the log message within a component * @param {Object} keyVals Key-value pairs to log * @param {String} freeText Text string to log * @returns {undefined} * @memberof webos/pmloglib * @public */ var notice = exports.notice = function notice(messageId, keyVals, freeText) { log(levelNotice, messageId, keyVals, freeText); }; /** * Logs with PmLogLib at the "info" level. * * @function * @param {String} messageId Short string that uniquely identifies the log message within a component * @param {Object} keyVals Key-value pairs to log * @param {String} freeText Text string to log * @returns {undefined} * @memberof webos/pmloglib * @public */ var info = exports.info = function info(messageId, keyVals, freeText) { log(levelInfo, messageId, keyVals, freeText); }; /** * Logs with PmLogLib at the "debug" level. * * @function * @param {String} freeText Text string to log * @returns {undefined} * @memberof webos/pmloglib * @public */ var debug = exports.debug = function debug(freeText) { log(levelDebug, '', '', freeText); }; /** * Places a time-stamped performance log entry into the system log using the `PmLogInfoWithClock()` * method. * * @function * @param {String} messageId Short string that uniquely identifies the log message within a component. * @param {String} perfType A string that identifies the type of perf message * @param {String} perfGroup A string that identifies the group of the perf message * @returns {undefined} * @memberof webos/pmloglib * @public */ var perfLog = exports.perfLog = function perfLog(messageId, perfType, perfGroup) { if (typeof window !== 'undefined' && (window.webOSSystem || window.PalmSystem)) { var _window$webOSSystem2; if (!messageId) { console.warn('PmLogInfoWithClock called with invalid format: messageId was empty'); } var webOSSystem = (_window$webOSSystem2 = window.webOSSystem) !== null && _window$webOSSystem2 !== void 0 ? _window$webOSSystem2 : window.PalmSystem; if (webOSSystem.PmLogInfoWithClock) { webOSSystem.PmLogInfoWithClock(messageId, perfType ? perfType : '', perfGroup ? perfGroup : ''); } else { console.error('Unable to send log: PmLogInfoWithClock not found in this version of webOSSystem'); } } };