Clean up types
This commit is contained in:
@@ -50,7 +50,7 @@ const DEFAULT_HANDLER_OPTIONS = {
|
||||
let storedPayload: NotificationPayload | undefined
|
||||
let prevDate = 0
|
||||
|
||||
const logger = Logger.create(Logger.Context.notifications)
|
||||
const logger = Logger.create(Logger.Context.Notifications)
|
||||
|
||||
export function useNotificationsHandler() {
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
@@ -14,7 +14,7 @@ const SERVICE_DID = (serviceUrl?: string) =>
|
||||
? 'did:web:api.staging.bsky.dev'
|
||||
: 'did:web:api.bsky.app'
|
||||
|
||||
const logger = Logger.create(Logger.Context.notifications)
|
||||
const logger = Logger.create(Logger.Context.Notifications)
|
||||
|
||||
async function registerPushToken(
|
||||
agent: BskyAgent,
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
import {expect, test} from '@jest/globals'
|
||||
|
||||
import {ConsoleTransportEntry, LogLevel} from '#/logger'
|
||||
import {add, getEntries} from '#/logger/logDump'
|
||||
import {add, ConsoleTransportEntry,getEntries} from '#/logger/logDump'
|
||||
import {LogContext,LogLevel} from '#/logger/types'
|
||||
|
||||
test('works', () => {
|
||||
const items: ConsoleTransportEntry[] = [
|
||||
{
|
||||
id: '1',
|
||||
level: LogLevel.Debug,
|
||||
context: 'convo',
|
||||
context: LogContext.Default,
|
||||
message: 'hello',
|
||||
metadata: {},
|
||||
timestamp: Date.now(),
|
||||
@@ -16,7 +16,7 @@ test('works', () => {
|
||||
{
|
||||
id: '2',
|
||||
level: LogLevel.Debug,
|
||||
context: 'convo',
|
||||
context: LogContext.Default,
|
||||
message: 'hello',
|
||||
metadata: {},
|
||||
timestamp: Date.now(),
|
||||
@@ -24,7 +24,7 @@ test('works', () => {
|
||||
{
|
||||
id: '3',
|
||||
level: LogLevel.Debug,
|
||||
context: 'convo',
|
||||
context: LogContext.Default,
|
||||
message: 'hello',
|
||||
metadata: {},
|
||||
timestamp: Date.now(),
|
||||
|
||||
@@ -2,8 +2,9 @@ import {beforeAll, describe, expect, jest, test} from '@jest/globals'
|
||||
import * as Sentry from '@sentry/react-native'
|
||||
import {nanoid} from 'nanoid/non-secure'
|
||||
|
||||
import {Logger, LogLevel} from '#/logger'
|
||||
import {Logger} from '#/logger'
|
||||
import {sentryTransport} from '#/logger/transports/sentry'
|
||||
import {LogLevel} from '#/logger/types'
|
||||
|
||||
jest.mock('#/env', () => ({
|
||||
/*
|
||||
@@ -240,7 +241,7 @@ describe('create', () => {
|
||||
test('create', () => {
|
||||
const timestamp = Date.now()
|
||||
const message = nanoid()
|
||||
const logger = Logger.create('notifications')
|
||||
const logger = Logger.create(Logger.Context.Default)
|
||||
|
||||
logger.addTransport(mockTransport)
|
||||
logger.info(message, {})
|
||||
|
||||
+5
-14
@@ -1,22 +1,13 @@
|
||||
import {nanoid} from 'nanoid/non-secure'
|
||||
|
||||
import {LogContext} from '#/logger/logContext'
|
||||
import {add} from '#/logger/logDump'
|
||||
import {bitdriftTransport} from '#/logger/transports/bitdrift'
|
||||
import {consoleTransport} from '#/logger/transports/console'
|
||||
import {sentryTransport} from '#/logger/transports/sentry'
|
||||
import {
|
||||
ConsoleTransportEntry,
|
||||
LogLevel,
|
||||
Metadata,
|
||||
Transport,
|
||||
} from '#/logger/types'
|
||||
import {LogContext, LogLevel, Metadata, Transport} from '#/logger/types'
|
||||
import {enabledLogLevels} from '#/logger/util'
|
||||
import {isWeb} from '#/platform/detection'
|
||||
|
||||
export {LogLevel}
|
||||
export type {ConsoleTransportEntry, Transport}
|
||||
|
||||
const TRANSPORTS: Transport[] = (function configureTransports() {
|
||||
switch (process.env.NODE_ENV) {
|
||||
case 'production': {
|
||||
@@ -38,13 +29,13 @@ export class Logger {
|
||||
static Context = LogContext
|
||||
|
||||
level: LogLevel
|
||||
context: keyof typeof LogContext | undefined = undefined
|
||||
context: LogContext | undefined = undefined
|
||||
contextFilter: string = ''
|
||||
|
||||
protected debugContextRegexes: RegExp[] = []
|
||||
protected transports: Transport[] = []
|
||||
|
||||
static create(context?: keyof typeof LogContext) {
|
||||
static create(context?: LogContext) {
|
||||
const logger = new Logger({
|
||||
level: (process.env.EXPO_PUBLIC_LOG_LEVEL || LogLevel.Info) as LogLevel,
|
||||
context,
|
||||
@@ -62,7 +53,7 @@ export class Logger {
|
||||
contextFilter = process.env.EXPO_PUBLIC_LOG_DEBUG || '',
|
||||
}: {
|
||||
level?: LogLevel
|
||||
context?: keyof typeof LogContext
|
||||
context?: LogContext
|
||||
contextFilter?: string
|
||||
} = {}) {
|
||||
this.context = context
|
||||
@@ -147,4 +138,4 @@ export class Logger {
|
||||
* `logger.disable()`
|
||||
* `logger.enable()`
|
||||
*/
|
||||
export const logger = Logger.create(Logger.Context.logger)
|
||||
export const logger = Logger.create(Logger.Context.Default)
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
/**
|
||||
* *Do not import this directly.* Instead, use the shortcut reference `logger.DebugContext`.
|
||||
*
|
||||
* Add debug contexts here. Although convention typically calls for enums ito
|
||||
* be capitalized, for parity with the `LOG_DEBUG` env var, please use all
|
||||
* lowercase.
|
||||
*/
|
||||
export const LogContext = {
|
||||
logger: 'logger',
|
||||
session: 'session',
|
||||
notifications: 'notifications',
|
||||
convo: 'convo',
|
||||
} as const
|
||||
+10
-1
@@ -1,4 +1,13 @@
|
||||
import type {ConsoleTransportEntry} from '#/logger'
|
||||
import type {LogContext, LogLevel, Metadata} from '#/logger/types'
|
||||
|
||||
export type ConsoleTransportEntry = {
|
||||
id: string
|
||||
timestamp: number
|
||||
level: LogLevel
|
||||
context: LogContext | undefined
|
||||
message: string | Error
|
||||
metadata: Metadata
|
||||
}
|
||||
|
||||
let entries: ConsoleTransportEntry[] = []
|
||||
|
||||
|
||||
+13
-11
@@ -1,6 +1,17 @@
|
||||
import {LogContext} from '#/logger/logContext'
|
||||
import type {Sentry} from '#/logger/sentry/lib'
|
||||
|
||||
/**
|
||||
* DO NOT IMPORT THIS DIRECTLY
|
||||
*
|
||||
* Logger contexts, defined here and used via `Logger.Context.*` static prop.
|
||||
*/
|
||||
export enum LogContext {
|
||||
Default = 'logger',
|
||||
Session = 'session',
|
||||
Notifications = 'notifications',
|
||||
Convo = 'convo',
|
||||
}
|
||||
|
||||
export enum LogLevel {
|
||||
Debug = 'debug',
|
||||
Info = 'info',
|
||||
@@ -11,7 +22,7 @@ export enum LogLevel {
|
||||
|
||||
export type Transport = (
|
||||
level: LogLevel,
|
||||
context: keyof typeof LogContext | undefined,
|
||||
context: LogContext | undefined,
|
||||
message: string | Error,
|
||||
metadata: Metadata,
|
||||
timestamp: number,
|
||||
@@ -61,12 +72,3 @@ export type Metadata = {
|
||||
*/
|
||||
[key: string]: unknown
|
||||
} & Parameters<typeof Sentry.captureException>[1]
|
||||
|
||||
export type ConsoleTransportEntry = {
|
||||
id: string
|
||||
timestamp: number
|
||||
level: LogLevel
|
||||
context: keyof typeof LogContext | undefined
|
||||
message: string | Error
|
||||
metadata: Metadata
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ import {MessagesEventBus} from '#/state/messages/events/agent'
|
||||
import {MessagesEventBusError} from '#/state/messages/events/types'
|
||||
import {DM_SERVICE_HEADERS} from '#/state/queries/messages/const'
|
||||
|
||||
const logger = Logger.create(Logger.Context.convo)
|
||||
const logger = Logger.create(Logger.Context.Convo)
|
||||
|
||||
export function isConvoItemMessage(
|
||||
item: ConvoItem,
|
||||
|
||||
@@ -19,7 +19,7 @@ import {
|
||||
import {DM_SERVICE_HEADERS} from '#/state/queries/messages/const'
|
||||
|
||||
const LOGGER_CONTEXT = 'MessagesEventBus'
|
||||
const logger = Logger.create(Logger.Context.convo)
|
||||
const logger = Logger.create(Logger.Context.Convo)
|
||||
|
||||
export class MessagesEventBus {
|
||||
private id: string
|
||||
|
||||
Reference in New Issue
Block a user