@datadog/browser-logs
Version:
55 lines (54 loc) • 1.71 kB
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;
};
}
export {};