@datadog/browser-logs
Version:
70 lines (59 loc) • 1.61 kB
text/typescript
import type { ErrorSource, RawErrorCause, TimeStamp, ErrorHandling } from '@datadog/browser-core'
import type { StatusType } from './domain/logger/isAuthorized'
export type RawLogsEvent =
| RawConsoleLogsEvent
| RawNetworkLogsEvent
| RawLoggerLogsEvent
| RawAgentLogsEvent
| RawReportLogsEvent
| RawRuntimeLogsEvent
interface Error {
message?: string
kind?: string
stack?: string
fingerprint?: string
causes?: RawErrorCause[]
handling: ErrorHandling | undefined
}
interface CommonRawLogsEvent {
date: TimeStamp
message: string
status: StatusType
error?: Error
origin: ErrorSource
}
export interface RawConsoleLogsEvent extends CommonRawLogsEvent {
origin: typeof ErrorSource.CONSOLE
}
export interface RawLoggerLogsEvent extends CommonRawLogsEvent {
origin: typeof ErrorSource.LOGGER
}
export interface RawNetworkLogsEvent extends CommonRawLogsEvent {
origin: typeof ErrorSource.NETWORK
status: typeof StatusType.error
error: Error
http: {
method: 'POST' | 'GET' | 'HEAD' | 'PUT' | 'DELETE' | 'PATCH'
status_code: number
url: string
[k: string]: unknown
}
}
export interface RawReportLogsEvent extends CommonRawLogsEvent {
origin: typeof ErrorSource.REPORT
}
export interface RawRuntimeLogsEvent extends CommonRawLogsEvent {
origin: typeof ErrorSource.SOURCE
status: typeof StatusType.error
error: Error
}
export interface RawAgentLogsEvent extends CommonRawLogsEvent {
origin: typeof ErrorSource.AGENT
status: typeof StatusType.error
}
export interface CommonContext {
view?: {
referrer: string
url: string
}
}