diff --git a/src/App.native.tsx b/src/App.native.tsx index 318258aa71..2a12809912 100644 --- a/src/App.native.tsx +++ b/src/App.native.tsx @@ -1,5 +1,4 @@ import 'react-native-url-polyfill/auto' -import '#/lib/sentry' // must be near top import '#/lib/bitdrift' // must be near top import '#/view/icons' diff --git a/src/App.web.tsx b/src/App.web.tsx index 2142c26bdc..58754d8e46 100644 --- a/src/App.web.tsx +++ b/src/App.web.tsx @@ -1,4 +1,4 @@ -import '#/lib/sentry' // must be near top +import '#/logger/sentry/setup' // must be near top import '#/view/icons' import './style.css' diff --git a/src/logger/index.ts b/src/logger/index.ts index 8415d79a68..0ba9ff250d 100644 --- a/src/logger/index.ts +++ b/src/logger/index.ts @@ -12,6 +12,7 @@ import { Transport, } from '#/logger/types' import {enabledLogLevels} from '#/logger/util' +import {isWeb} from '#/platform/detection' export {LogLevel} export type {ConsoleTransportEntry, Transport} @@ -19,7 +20,9 @@ export type {ConsoleTransportEntry, Transport} const TRANSPORTS: Transport[] = (function configureTransports() { switch (process.env.NODE_ENV) { case 'production': { - return [sentryTransport, bitdriftTransport] + return [isWeb && sentryTransport, bitdriftTransport].filter( + Boolean, + ) as Transport[] } case 'test': { return [] @@ -144,4 +147,4 @@ export class Logger { * `logger.disable()` * `logger.enable()` */ -export const logger = Logger.create() +export const logger = Logger.create(Logger.Context.logger) diff --git a/src/logger/logContext.ts b/src/logger/logContext.ts index bb30094b15..448e0f0e37 100644 --- a/src/logger/logContext.ts +++ b/src/logger/logContext.ts @@ -6,6 +6,7 @@ * lowercase. */ export const LogContext = { + logger: 'logger', session: 'session', notifications: 'notifications', convo: 'convo', diff --git a/src/logger/sentry/index.ts b/src/logger/sentry/lib/index.ts similarity index 100% rename from src/logger/sentry/index.ts rename to src/logger/sentry/lib/index.ts diff --git a/src/logger/sentry/index.web.ts b/src/logger/sentry/lib/index.web.ts similarity index 100% rename from src/logger/sentry/index.web.ts rename to src/logger/sentry/lib/index.web.ts diff --git a/src/logger/sentry/setup/index.ts b/src/logger/sentry/setup/index.ts new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/lib/sentry.ts b/src/logger/sentry/setup/index.web.ts similarity index 90% rename from src/lib/sentry.ts rename to src/logger/sentry/setup/index.web.ts index b2695694dd..8fd619fe96 100644 --- a/src/lib/sentry.ts +++ b/src/logger/sentry/setup/index.web.ts @@ -32,7 +32,7 @@ const dist = `${Platform.OS}.${nativeBuildVersion}.${ init({ enabled: !__DEV__, autoSessionTracking: false, - dsn: 'https://05bc3789bf994b81bd7ce20c86ccd3ae@o4505071687041024.ingest.sentry.io/4505071690514432', + dsn: 'https://8fb55ba4807fca137eedfc8403ee27ba@o4505071687041024.ingest.us.sentry.io/4508807082278912', debug: false, // If `true`, Sentry will try to print out useful debugging information if something goes wrong with sending the event. Set it to `false` in production environment: process.env.NODE_ENV, dist, diff --git a/src/logger/transports/sentry.ts b/src/logger/transports/sentry.ts index 2623b3b2b7..c8ba400ae5 100644 --- a/src/logger/transports/sentry.ts +++ b/src/logger/transports/sentry.ts @@ -1,5 +1,5 @@ import {isNetworkError} from '#/lib/strings/errors' -import {Sentry} from '#/logger/sentry' +import {Sentry} from '#/logger/sentry/lib' import {LogLevel, Transport} from '#/logger/types' import {prepareMetadata} from '#/logger/util' @@ -45,14 +45,9 @@ export const sentryTransport: Transport = ( * level */ if (level === 'error' || level === 'warn' || level === 'log') { - const messageLevel = ({ - [LogLevel.Log]: 'log', - [LogLevel.Warn]: 'warning', - [LogLevel.Error]: 'error', - }[level] || 'log') as Sentry.Breadcrumb['level'] // Defer non-critical messages so they're sent in a batch queueMessageForSentry(`(${context}) message`, { - level: messageLevel, + level: severity, tags, extra: meta, }) diff --git a/src/logger/types.ts b/src/logger/types.ts index 24b5501532..82e78e3baf 100644 --- a/src/logger/types.ts +++ b/src/logger/types.ts @@ -1,5 +1,5 @@ import {LogContext} from '#/logger/logContext' -import type {Sentry} from '#/logger/sentry' +import type {Sentry} from '#/logger/sentry/lib' export enum LogLevel { Debug = 'debug',