From 7989d323987e82ceb6c30902121fb73a1bf9a415 Mon Sep 17 00:00:00 2001 From: Eric Bailey Date: Fri, 28 Feb 2025 12:10:13 -0600 Subject: [PATCH] Revert "Colocate bitdrift in logger, use logger for transport (#7859)" This reverts commit 1617eb5d66bebe73815affa5fa20ac8cc6913400. --- jest/jestSetup.js | 2 +- src/App.native.tsx | 2 +- .../bitdrift/setup/index.ts => lib/bitdrift.ts} | 4 +++- .../lib/index.web.ts => lib/bitdrift.web.ts} | 0 src/lib/statsig/statsig.tsx | 7 ++++++- src/logger/bitdrift/lib/index.ts | 1 - src/logger/bitdrift/setup/index.web.ts | 0 src/logger/index.ts | 5 +---- src/logger/transports/bitdrift.ts | 17 +++++++++++------ 9 files changed, 23 insertions(+), 15 deletions(-) rename src/{logger/bitdrift/setup/index.ts => lib/bitdrift.ts} (87%) rename src/{logger/bitdrift/lib/index.web.ts => lib/bitdrift.web.ts} (100%) delete mode 100644 src/logger/bitdrift/lib/index.ts delete mode 100644 src/logger/bitdrift/setup/index.web.ts diff --git a/jest/jestSetup.js b/jest/jestSetup.js index d303225f6c..c3160df3bc 100644 --- a/jest/jestSetup.js +++ b/jest/jestSetup.js @@ -119,5 +119,5 @@ jest.mock('statsig-react-native-expo', () => ({ }, })) -jest.mock('../src/logger/bitdrift/lib', () => ({})) +jest.mock('../src/lib/bitdrift', () => ({})) jest.mock('../src/lib/statsig/statsig', () => ({})) diff --git a/src/App.native.tsx b/src/App.native.tsx index 9c31672557..63284d5d5e 100644 --- a/src/App.native.tsx +++ b/src/App.native.tsx @@ -1,6 +1,6 @@ import 'react-native-url-polyfill/auto' import '#/logger/sentry/setup' -import '#/logger/bitdrift/setup' +import '#/lib/bitdrift' // must be near top import '#/view/icons' import React, {useEffect, useState} from 'react' diff --git a/src/logger/bitdrift/setup/index.ts b/src/lib/bitdrift.ts similarity index 87% rename from src/logger/bitdrift/setup/index.ts rename to src/lib/bitdrift.ts index d6af3fe24b..98f2dd11e2 100644 --- a/src/logger/bitdrift/setup/index.ts +++ b/src/lib/bitdrift.ts @@ -1,7 +1,9 @@ import {init, SessionStrategy} from '@bitdrift/react-native' import {Statsig} from 'statsig-react-native-expo' -import {initPromise} from '#/lib/statsig/statsig' +import {initPromise} from './statsig/statsig' + +export {debug, error, info, warn} from '@bitdrift/react-native' const BITDRIFT_API_KEY = process.env.BITDRIFT_API_KEY diff --git a/src/logger/bitdrift/lib/index.web.ts b/src/lib/bitdrift.web.ts similarity index 100% rename from src/logger/bitdrift/lib/index.web.ts rename to src/lib/bitdrift.web.ts diff --git a/src/lib/statsig/statsig.tsx b/src/lib/statsig/statsig.tsx index a64c710ea6..fb85e43560 100644 --- a/src/lib/statsig/statsig.tsx +++ b/src/lib/statsig/statsig.tsx @@ -4,6 +4,7 @@ import {AppState, AppStateStatus} from 'react-native' import {Statsig, StatsigProvider} from 'statsig-react-native-expo' import {BUNDLE_DATE, BUNDLE_IDENTIFIER, IS_TESTFLIGHT} from '#/lib/app-info' +import * as bitdrift from '#/lib/bitdrift' import {logger} from '#/logger' import {isWeb} from '#/platform/detection' import * as persisted from '#/state/persisted' @@ -101,7 +102,11 @@ export function logEvent( if (Statsig.initializeCalled()) { Statsig.logEvent(eventName, null, fullMetadata) } - logger.info(eventName, fullMetadata) + // Intentionally bypass the logger abstraction to log rich objects. + console.groupCollapsed(eventName) + console.log(fullMetadata) + console.groupEnd() + bitdrift.info(eventName, fullMetadata) } catch (e) { // A log should never interrupt the calling code, whatever happens. logger.error('Failed to log an event', {message: e}) diff --git a/src/logger/bitdrift/lib/index.ts b/src/logger/bitdrift/lib/index.ts deleted file mode 100644 index fccd2c57a2..0000000000 --- a/src/logger/bitdrift/lib/index.ts +++ /dev/null @@ -1 +0,0 @@ -export {debug, error, info, warn} from '@bitdrift/react-native' diff --git a/src/logger/bitdrift/setup/index.web.ts b/src/logger/bitdrift/setup/index.web.ts deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/src/logger/index.ts b/src/logger/index.ts index 410d29bb3e..70b7ee8bea 100644 --- a/src/logger/index.ts +++ b/src/logger/index.ts @@ -6,14 +6,11 @@ import {consoleTransport} from '#/logger/transports/console' import {sentryTransport} from '#/logger/transports/sentry' import {LogContext, LogLevel, Metadata, Transport} from '#/logger/types' import {enabledLogLevels} from '#/logger/util' -import {isNative} from '#/platform/detection' const TRANSPORTS: Transport[] = (function configureTransports() { switch (process.env.NODE_ENV) { case 'production': { - return [sentryTransport, isNative && bitdriftTransport].filter( - Boolean, - ) as Transport[] + return [sentryTransport, bitdriftTransport].filter(Boolean) as Transport[] } case 'test': { return [] diff --git a/src/logger/transports/bitdrift.ts b/src/logger/transports/bitdrift.ts index cf125c6e24..6e335f29c5 100644 --- a/src/logger/transports/bitdrift.ts +++ b/src/logger/transports/bitdrift.ts @@ -1,13 +1,18 @@ -import {debug, error, info, warn} from '#/logger/bitdrift/lib' +import { + debug as bdDebug, + error as bdError, + info as bdInfo, + warn as bdWarn, +} from '#/lib/bitdrift' import {LogLevel, Transport} from '#/logger/types' import {prepareMetadata} from '#/logger/util' const logFunctions = { - [LogLevel.Debug]: debug, - [LogLevel.Info]: info, - [LogLevel.Log]: info, - [LogLevel.Warn]: warn, - [LogLevel.Error]: error, + [LogLevel.Debug]: bdDebug, + [LogLevel.Info]: bdInfo, + [LogLevel.Log]: bdInfo, + [LogLevel.Warn]: bdWarn, + [LogLevel.Error]: bdError, } as const export const bitdriftTransport: Transport = (