* update fastlane * update dev dependencies * update to eslint 9+ * update testing-library * update react-intl * update bottom-sheet * update expo * update reanimated * upgrade msgpack * upgrade datepicker * upgrade react-navigation * update sentry * update FlasList * update fuse.js moment-timezone node-html-parser and semver * update gesture-handler * update image-picker * update react-native-keychain * update react-native-localize * update react-native-navigation * update watermelonDB * update react-native-permissions * update react-native-safe-area-context and react-native-screens * update react-native-share and react-native-svg * update react-native-video and react-native-webrtc * update @mattermost/rnutils * update @mattermost/rnshare * update @mattermost/hardware-keyboard * fix isMainActivity * update android dependencies * fix upload file progress indicator * fix entry update config & license * revert to stable version of @sentry/react-native * update react-intl again * update moment-timezone * upgrade @react-native-camera-roll/camera-roll * update @react-native-clipboard/clipboard * update @react-navigation again * update @shopify/flash-list * update eslint * update expo again * update html-entities * update mime-db * update react-native-permissions * Revert "update react-intl again" This reverts commit e8e6d5a60dfa56b82b810cbbd7cdffec7697ffc7. * Revert "update react-intl" This reverts commit c77f329bb38910aeeba03869b72d77a8b0e00ba1. * update react-native-keychain * update and patch react-intl * mend * feedback during review 1
42 lines
1.2 KiB
TypeScript
42 lines
1.2 KiB
TypeScript
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
// See LICENSE.txt for license information.
|
|
|
|
import Config from '@assets/config.json';
|
|
import keyMirror from '@utils/key_mirror';
|
|
|
|
const SentryLevels = keyMirror({debug: null, info: null, warning: null, error: null});
|
|
|
|
export function logError(...args: any[]) {
|
|
// eslint-disable-next-line no-console
|
|
console.error(...args);
|
|
addBreadcrumb(SentryLevels.error, ...args);
|
|
}
|
|
|
|
export function logWarning(...args: any[]) {
|
|
// eslint-disable-next-line no-console
|
|
console.warn(...args);
|
|
addBreadcrumb(SentryLevels.warning, ...args);
|
|
}
|
|
|
|
export function logInfo(...args: any[]) {
|
|
// eslint-disable-next-line no-console
|
|
console.log(...args);
|
|
addBreadcrumb(SentryLevels.info, ...args);
|
|
}
|
|
|
|
export function logDebug(...args: any[]) {
|
|
// eslint-disable-next-line no-console
|
|
console.debug(...args);
|
|
addBreadcrumb(SentryLevels.debug, ...args);
|
|
}
|
|
|
|
const addBreadcrumb = (logLevel: keyof typeof SentryLevels, ...args: any[]) => {
|
|
if (Config.SentryEnabled) {
|
|
const Sentry = require('@sentry/react-native');
|
|
Sentry.addBreadcrumb({
|
|
level: logLevel,
|
|
message: args.join(','),
|
|
type: 'console-log',
|
|
});
|
|
}
|
|
};
|