7c36ea1158
* Remove enablement * Refactor context and filtering * Fix imports, simplify transports config * Migrate usages of debug context * Re-org, add colors and grouping to console logging * Remove temp default context * Remove manual prefix * Move colorizing out of console transport body * Reduce reuse * Pass through context * Ensure bitdrift is enabled in dev * Enable Sentry on web only * Clean up types * Docs * Format * Update tests * Clean up tests * No positional args * Revert Sentry changes * Clean up context, use it, pass metadata through to Bitdrift * Fix up debugging * Clean up metadata before passing to Bitdrift * Correct transports * Reserve context prop on metadata and include in transports * Update tests
83 lines
1.7 KiB
TypeScript
83 lines
1.7 KiB
TypeScript
/**
|
|
* 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',
|
|
ConversationAgent = 'conversation-agent',
|
|
DMsAgent = 'dms-agent',
|
|
}
|
|
|
|
export enum LogLevel {
|
|
Debug = 'debug',
|
|
Info = 'info',
|
|
Log = 'log',
|
|
Warn = 'warn',
|
|
Error = 'error',
|
|
}
|
|
|
|
export type Transport = (
|
|
level: LogLevel,
|
|
context: LogContext | undefined,
|
|
message: string | Error,
|
|
metadata: Metadata,
|
|
timestamp: number,
|
|
) => void
|
|
|
|
/**
|
|
* A union of some of Sentry's breadcrumb properties as well as Sentry's
|
|
* `captureException` parameter, `CaptureContext`.
|
|
*/
|
|
export type Metadata = {
|
|
/**
|
|
* Reserved for appending `LogContext` to logging payloads
|
|
*/
|
|
context?: undefined
|
|
|
|
/**
|
|
* Applied as Sentry breadcrumb types. Defaults to `default`.
|
|
*
|
|
* @see https://develop.sentry.dev/sdk/event-payloads/breadcrumbs/#breadcrumb-types
|
|
*/
|
|
type?:
|
|
| 'default'
|
|
| 'debug'
|
|
| 'error'
|
|
| 'navigation'
|
|
| 'http'
|
|
| 'info'
|
|
| 'query'
|
|
| 'transaction'
|
|
| 'ui'
|
|
| 'user'
|
|
|
|
/**
|
|
* Passed through to `Sentry.captureException`
|
|
*
|
|
* @see https://github.com/getsentry/sentry-javascript/blob/903addf9a1a1534a6cb2ba3143654b918a86f6dd/packages/types/src/misc.ts#L65
|
|
*/
|
|
tags?: {
|
|
[key: string]: number | string | boolean | null | undefined
|
|
}
|
|
|
|
/**
|
|
* Any additional data, passed through to Sentry as `extra` param on
|
|
* exceptions, or the `data` param on breadcrumbs.
|
|
*/
|
|
[key: string]: Serializable | Error | unknown
|
|
}
|
|
|
|
export type Serializable =
|
|
| string
|
|
| number
|
|
| boolean
|
|
| null
|
|
| undefined
|
|
| Serializable[]
|
|
| {
|
|
[key: string]: Serializable
|
|
}
|