Colocate bitdrift in logger, use logger for transport
(cherry picked from commit cdd6941fd7)
This commit is contained in:
+1
-1
@@ -1,6 +1,6 @@
|
||||
import 'react-native-url-polyfill/auto'
|
||||
import '#/logger/sentry/setup'
|
||||
import '#/lib/bitdrift' // must be near top
|
||||
import '#/logger/bitdrift/setup'
|
||||
import '#/view/icons'
|
||||
|
||||
import React, {useEffect, useState} from 'react'
|
||||
|
||||
@@ -4,7 +4,6 @@ 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'
|
||||
@@ -102,11 +101,7 @@ export function logEvent<E extends keyof LogEvents>(
|
||||
if (Statsig.initializeCalled()) {
|
||||
Statsig.logEvent(eventName, null, fullMetadata)
|
||||
}
|
||||
// Intentionally bypass the logger abstraction to log rich objects.
|
||||
console.groupCollapsed(eventName)
|
||||
console.log(fullMetadata)
|
||||
console.groupEnd()
|
||||
bitdrift.info(eventName, fullMetadata)
|
||||
logger.info(eventName, fullMetadata)
|
||||
} catch (e) {
|
||||
// A log should never interrupt the calling code, whatever happens.
|
||||
logger.error('Failed to log an event', {message: e})
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
export {debug, error, info, warn} from '@bitdrift/react-native'
|
||||
@@ -1,9 +1,7 @@
|
||||
import {init, SessionStrategy} from '@bitdrift/react-native'
|
||||
import {Statsig} from 'statsig-react-native-expo'
|
||||
|
||||
import {initPromise} from './statsig/statsig'
|
||||
|
||||
export {debug, error, info, warn} from '@bitdrift/react-native'
|
||||
import {initPromise} from '#/lib/statsig/statsig'
|
||||
|
||||
const BITDRIFT_API_KEY = process.env.BITDRIFT_API_KEY
|
||||
|
||||
+4
-1
@@ -6,11 +6,14 @@ 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, bitdriftTransport].filter(Boolean) as Transport[]
|
||||
return [sentryTransport, isNative && bitdriftTransport].filter(
|
||||
Boolean,
|
||||
) as Transport[]
|
||||
}
|
||||
case 'test': {
|
||||
return []
|
||||
|
||||
@@ -1,18 +1,13 @@
|
||||
import {
|
||||
debug as bdDebug,
|
||||
error as bdError,
|
||||
info as bdInfo,
|
||||
warn as bdWarn,
|
||||
} from '#/lib/bitdrift'
|
||||
import {debug, error,info, warn} from '#/logger/bitdrift/lib'
|
||||
import {LogLevel, Transport} from '#/logger/types'
|
||||
import {prepareMetadata} from '#/logger/util'
|
||||
|
||||
const logFunctions = {
|
||||
[LogLevel.Debug]: bdDebug,
|
||||
[LogLevel.Info]: bdInfo,
|
||||
[LogLevel.Log]: bdInfo,
|
||||
[LogLevel.Warn]: bdWarn,
|
||||
[LogLevel.Error]: bdError,
|
||||
[LogLevel.Debug]: debug,
|
||||
[LogLevel.Info]: info,
|
||||
[LogLevel.Log]: info,
|
||||
[LogLevel.Warn]: warn,
|
||||
[LogLevel.Error]: error,
|
||||
} as const
|
||||
|
||||
export const bitdriftTransport: Transport = (
|
||||
|
||||
Reference in New Issue
Block a user