UNPKG

@embrace-io/react-native

Version:
42 lines (41 loc) 1.99 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.logMessage = exports.logHandledError = exports.logError = exports.logWarning = exports.logInfo = void 0; const log_1 = require("../utils/log"); const EmbraceManagerModule_1 = require("../EmbraceManagerModule"); const logMessage = (message, severity = "error", // Android Native method is handling the null case // iOS Native method is waiting for a non-nullable object properties = {}, includeStacktrace = true) => { const stackTrace = // `"info"` are not supposed to send stack traces // this is also restricted in the Native layers includeStacktrace && severity !== "info" ? (0, log_1.generateStackTrace)() : ""; if (properties === null) { console.warn("[Embrace] `properties` is null. It should be an object of type `Properties`. Native layer will ignore this value."); } return EmbraceManagerModule_1.EmbraceManagerModule.logMessageWithSeverityAndProperties(message, severity, properties, stackTrace, includeStacktrace); }; exports.logMessage = logMessage; const logInfo = (message) => { // `"info"` logs are not supposed to send stack traces as per Product decision // this is also restricted in the Native layers return logMessage(message, "info", undefined, false); }; exports.logInfo = logInfo; const logWarning = (message, includeStacktrace = true) => { return logMessage(message, "warning", undefined, includeStacktrace); }; exports.logWarning = logWarning; const logError = (message, includeStacktrace = true) => { return logMessage(message, "error", undefined, includeStacktrace); }; exports.logError = logError; const logHandledError = (error, properties = {}) => { if (error instanceof Error) { const { stack, message } = error; return EmbraceManagerModule_1.EmbraceManagerModule.logHandledError(message, stack, properties); } return Promise.resolve(false); }; exports.logHandledError = logHandledError;