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