[APP-1782] Migrate to new analytics APIs (#9735)

* Migrate logEvent to useAnalytics

* Migrate logger.metric to useAnalytics

* Migrate tricky spot, fix types

* Migrate remaining tricky spot

* Missed one

* Remove metric() from logger

* Migrate useGate to useAnalytics

* Remove all other StatSig mentions

* Update event payload

* Update logger tests

* Mock expo method
This commit is contained in:
Eric Bailey
2026-01-21 19:31:39 -06:00
committed by GitHub
parent 82706fbd19
commit 66af8f1fbf
149 changed files with 985 additions and 1112 deletions
+16 -16
View File
@@ -45,7 +45,7 @@ describe('general functionality', () => {
logger.addTransport(mockTransport)
const extra = {foo: true}
const extra = {foo: true, metadata: {}}
logger.warn('message', extra)
expect(mockTransport).toHaveBeenCalledWith(
@@ -71,7 +71,7 @@ describe('general functionality', () => {
LogLevel.Warn,
undefined,
'a',
{},
{metadata: {}},
timestamp,
)
@@ -81,7 +81,7 @@ describe('general functionality', () => {
LogLevel.Warn,
undefined,
'b',
{},
{metadata: {}},
timestamp,
)
@@ -91,7 +91,7 @@ describe('general functionality', () => {
LogLevel.Warn,
undefined,
'c',
{},
{metadata: {}},
timestamp,
)
@@ -256,7 +256,7 @@ describe('general functionality', () => {
LogLevel.Warn,
undefined,
'warn',
{},
{metadata: {}},
timestamp,
)
})
@@ -276,7 +276,7 @@ describe('create', () => {
LogLevel.Info,
Logger.Context.Default,
message,
{},
{metadata: {}},
timestamp,
)
})
@@ -300,7 +300,7 @@ describe('debug contexts', () => {
LogLevel.Debug,
'specific',
message,
{},
{metadata: {}},
timestamp,
)
})
@@ -323,7 +323,7 @@ describe('debug contexts', () => {
LogLevel.Debug,
'namespace:foo',
message,
{},
{metadata: {}},
timestamp,
)
})
@@ -345,7 +345,7 @@ describe('debug contexts', () => {
LogLevel.Debug,
'namespace:bar:baz',
message,
{},
{metadata: {}},
timestamp,
)
})
@@ -367,7 +367,7 @@ describe('supports levels', () => {
LogLevel.Debug,
undefined,
message,
{},
{metadata: {}},
timestamp,
)
@@ -376,7 +376,7 @@ describe('supports levels', () => {
LogLevel.Info,
undefined,
message,
{},
{metadata: {}},
timestamp,
)
@@ -385,7 +385,7 @@ describe('supports levels', () => {
LogLevel.Warn,
undefined,
message,
{},
{metadata: {}},
timestamp,
)
@@ -395,7 +395,7 @@ describe('supports levels', () => {
LogLevel.Error,
undefined,
e,
{},
{metadata: {}},
timestamp,
)
})
@@ -418,7 +418,7 @@ describe('supports levels', () => {
LogLevel.Info,
undefined,
message,
{},
{metadata: {}},
timestamp,
)
})
@@ -444,7 +444,7 @@ describe('supports levels', () => {
LogLevel.Warn,
undefined,
message,
{},
{metadata: {}},
timestamp,
)
})
@@ -474,7 +474,7 @@ describe('supports levels', () => {
LogLevel.Error,
undefined,
e,
{},
{metadata: {}},
timestamp,
)
})
+1 -17
View File
@@ -10,7 +10,6 @@ import {
type Transport,
} from '#/logger/types'
import {enabledLogLevels} from '#/logger/util'
import {type Events as Metrics} from '#/analytics/metrics/types'
import {ENV} from '#/env'
const TRANSPORTS: Transport[] = (function configureTransports() {
@@ -97,21 +96,6 @@ export class Logger {
this.transport({level: LogLevel.Error, message: error, metadata})
}
metric<E extends keyof Metrics>(
event: E & string,
metadata: Metrics[E],
_: {
/**
* Optionally also send to StatSig
*/
statsig?: boolean
} = {statsig: true},
) {
for (const transport of this.transports) {
transport(LogLevel.Info, LogContext.Metric, event, metadata, Date.now())
}
}
addTransport(transport: Transport) {
this.transports.push(transport)
return () => {
@@ -139,7 +123,7 @@ export class Logger {
const timestamp = Date.now()
const meta: Metadata = {
...metadata,
inherited: this.inheritedMetadata,
metadata: this.inheritedMetadata,
}
// send every log to syslog
+8
View File
@@ -24,6 +24,14 @@ export function prepareMetadata(
if (value instanceof Error) {
value = value.toString()
}
if (
typeof value === 'object' &&
value !== null &&
Object.keys(value).length === 0 &&
value.constructor === Object
) {
return acc
}
return {...acc, [key]: value}
}, {})
}