@blyp/core 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +533 -0
- package/dist/client.js +1132 -0
- package/dist/client.js.map +1 -0
- package/dist/client.mjs +1125 -0
- package/dist/client.mjs.map +1 -0
- package/dist/connectors/betterstack/index.d.ts +7 -0
- package/dist/connectors/betterstack/sender.d.ts +5 -0
- package/dist/connectors/betterstack.js +1508 -0
- package/dist/connectors/betterstack.js.map +1 -0
- package/dist/connectors/betterstack.mjs +1483 -0
- package/dist/connectors/betterstack.mjs.map +1 -0
- package/dist/connectors/otlp/index.d.ts +5 -0
- package/dist/connectors/otlp/sender.d.ts +7 -0
- package/dist/connectors/otlp.js +1347 -0
- package/dist/connectors/otlp.js.map +1 -0
- package/dist/connectors/otlp.mjs +1344 -0
- package/dist/connectors/otlp.mjs.map +1 -0
- package/dist/connectors/posthog/index.d.ts +7 -0
- package/dist/connectors/posthog/sender.d.ts +11 -0
- package/dist/connectors/posthog.js +1503 -0
- package/dist/connectors/posthog.js.map +1 -0
- package/dist/connectors/posthog.mjs +1498 -0
- package/dist/connectors/posthog.mjs.map +1 -0
- package/dist/connectors/sentry/index.d.ts +5 -0
- package/dist/connectors/sentry/sender.d.ts +5 -0
- package/dist/connectors/sentry.js +1356 -0
- package/dist/connectors/sentry.js.map +1 -0
- package/dist/connectors/sentry.mjs +1333 -0
- package/dist/connectors/sentry.mjs.map +1 -0
- package/dist/connectors/shared.d.ts +8 -0
- package/dist/core/colors.d.ts +30 -0
- package/dist/core/config.d.ts +18 -0
- package/dist/core/errors.d.ts +8 -0
- package/dist/core/file-logger.d.ts +19 -0
- package/dist/core/helpers.d.ts +5 -0
- package/dist/core/index.d.ts +8 -0
- package/dist/core/log-reader.d.ts +5 -0
- package/dist/core/log-record.d.ts +14 -0
- package/dist/core/logger.d.ts +20 -0
- package/dist/core/primary-sink.d.ts +10 -0
- package/dist/core/runtime.d.ts +4 -0
- package/dist/core/sinks/database-primary-sink.d.ts +25 -0
- package/dist/core/sinks/file-primary-sink.d.ts +14 -0
- package/dist/core/structured-log.d.ts +3 -0
- package/dist/database/adapters/drizzle.d.ts +7 -0
- package/dist/database/adapters/prisma.d.ts +9 -0
- package/dist/database/helpers.d.ts +5 -0
- package/dist/database/index.d.ts +3 -0
- package/dist/database.js +24 -0
- package/dist/database.js.map +1 -0
- package/dist/database.mjs +21 -0
- package/dist/database.mjs.map +1 -0
- package/dist/elysia.js +4180 -0
- package/dist/elysia.js.map +1 -0
- package/dist/elysia.mjs +4152 -0
- package/dist/elysia.mjs.map +1 -0
- package/dist/expo.js +719 -0
- package/dist/expo.js.map +1 -0
- package/dist/expo.mjs +717 -0
- package/dist/expo.mjs.map +1 -0
- package/dist/express.js +4170 -0
- package/dist/express.js.map +1 -0
- package/dist/express.mjs +4141 -0
- package/dist/express.mjs.map +1 -0
- package/dist/fastify.js +4187 -0
- package/dist/fastify.js.map +1 -0
- package/dist/fastify.mjs +4158 -0
- package/dist/fastify.mjs.map +1 -0
- package/dist/frameworks/client/index.d.ts +3 -0
- package/dist/frameworks/client/logger.d.ts +4 -0
- package/dist/frameworks/elysia/index.d.ts +2 -0
- package/dist/frameworks/elysia/logger.d.ts +35 -0
- package/dist/frameworks/expo/index.d.ts +2 -0
- package/dist/frameworks/expo/logger.d.ts +3 -0
- package/dist/frameworks/expo/network.d.ts +7 -0
- package/dist/frameworks/express/index.d.ts +2 -0
- package/dist/frameworks/express/logger.d.ts +5 -0
- package/dist/frameworks/fastify/index.d.ts +2 -0
- package/dist/frameworks/fastify/logger.d.ts +4 -0
- package/dist/frameworks/hono/index.d.ts +2 -0
- package/dist/frameworks/hono/logger.d.ts +4 -0
- package/dist/frameworks/nestjs/constants.d.ts +2 -0
- package/dist/frameworks/nestjs/filter.d.ts +8 -0
- package/dist/frameworks/nestjs/helpers.d.ts +25 -0
- package/dist/frameworks/nestjs/index.d.ts +3 -0
- package/dist/frameworks/nestjs/interceptor.d.ts +8 -0
- package/dist/frameworks/nestjs/logger.d.ts +6 -0
- package/dist/frameworks/nestjs/middleware.d.ts +8 -0
- package/dist/frameworks/nestjs/module.d.ts +5 -0
- package/dist/frameworks/nextjs/index.d.ts +2 -0
- package/dist/frameworks/nextjs/logger.d.ts +3 -0
- package/dist/frameworks/shared/http.d.ts +10 -0
- package/dist/frameworks/shared/index.d.ts +5 -0
- package/dist/frameworks/shared/logger.d.ts +35 -0
- package/dist/frameworks/shared/request-context.d.ts +12 -0
- package/dist/frameworks/shared/request-logger.d.ts +4 -0
- package/dist/frameworks/standalone/index.d.ts +3 -0
- package/dist/frameworks/standalone/logger.d.ts +5 -0
- package/dist/frameworks/sveltekit/index.d.ts +2 -0
- package/dist/frameworks/sveltekit/logger.d.ts +3 -0
- package/dist/frameworks/tanstack-start/index.d.ts +2 -0
- package/dist/frameworks/tanstack-start/logger.d.ts +3 -0
- package/dist/frameworks/workers/index.d.ts +2 -0
- package/dist/frameworks/workers/logger.d.ts +3 -0
- package/dist/hono.js +4156 -0
- package/dist/hono.js.map +1 -0
- package/dist/hono.mjs +4128 -0
- package/dist/hono.mjs.map +1 -0
- package/dist/index.d.ts +47 -0
- package/dist/index.js +6581 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +6494 -0
- package/dist/index.mjs.map +1 -0
- package/dist/nestjs.js +4649 -0
- package/dist/nestjs.js.map +1 -0
- package/dist/nestjs.mjs +4621 -0
- package/dist/nestjs.mjs.map +1 -0
- package/dist/nextjs.js +4183 -0
- package/dist/nextjs.js.map +1 -0
- package/dist/nextjs.mjs +4155 -0
- package/dist/nextjs.mjs.map +1 -0
- package/dist/shared/client-log.d.ts +14 -0
- package/dist/shared/errors.d.ts +296 -0
- package/dist/shared/log-value.d.ts +3 -0
- package/dist/shared/once.d.ts +4 -0
- package/dist/shared/remote-delivery.d.ts +6 -0
- package/dist/shared/validation.d.ts +7 -0
- package/dist/standalone.js +3353 -0
- package/dist/standalone.js.map +1 -0
- package/dist/standalone.mjs +3324 -0
- package/dist/standalone.mjs.map +1 -0
- package/dist/sveltekit.js +4182 -0
- package/dist/sveltekit.js.map +1 -0
- package/dist/sveltekit.mjs +4154 -0
- package/dist/sveltekit.mjs.map +1 -0
- package/dist/tanstack-start.js +4182 -0
- package/dist/tanstack-start.js.map +1 -0
- package/dist/tanstack-start.mjs +4154 -0
- package/dist/tanstack-start.mjs.map +1 -0
- package/dist/types/connectors/betterstack.d.ts +54 -0
- package/dist/types/connectors/mode.d.ts +2 -0
- package/dist/types/connectors/otlp.d.ts +50 -0
- package/dist/types/connectors/posthog.d.ts +75 -0
- package/dist/types/connectors/sentry.d.ts +48 -0
- package/dist/types/core/config.d.ts +152 -0
- package/dist/types/core/errors.d.ts +16 -0
- package/dist/types/core/file-logger.d.ts +29 -0
- package/dist/types/core/helpers.d.ts +8 -0
- package/dist/types/core/index.d.ts +8 -0
- package/dist/types/core/log-reader.d.ts +4 -0
- package/dist/types/core/log-record.d.ts +1 -0
- package/dist/types/core/logger.d.ts +40 -0
- package/dist/types/core/structured-log.d.ts +57 -0
- package/dist/types/database.d.ts +73 -0
- package/dist/types/frameworks/client.d.ts +32 -0
- package/dist/types/frameworks/elysia.d.ts +33 -0
- package/dist/types/frameworks/expo.d.ts +44 -0
- package/dist/types/frameworks/express.d.ts +24 -0
- package/dist/types/frameworks/fastify.d.ts +22 -0
- package/dist/types/frameworks/hono.d.ts +13 -0
- package/dist/types/frameworks/http.d.ts +47 -0
- package/dist/types/frameworks/nestjs.d.ts +37 -0
- package/dist/types/frameworks/nextjs.d.ts +27 -0
- package/dist/types/frameworks/request-context.d.ts +8 -0
- package/dist/types/frameworks/request-logger.d.ts +8 -0
- package/dist/types/frameworks/shared.d.ts +154 -0
- package/dist/types/frameworks/standalone.d.ts +64 -0
- package/dist/types/frameworks/sveltekit.d.ts +37 -0
- package/dist/types/frameworks/tanstack-start.d.ts +28 -0
- package/dist/types/frameworks/workers.d.ts +33 -0
- package/dist/types/shared/client-log.d.ts +91 -0
- package/dist/types/shared/errors.d.ts +75 -0
- package/dist/types/shared/index.d.ts +4 -0
- package/dist/types/shared/once.d.ts +2 -0
- package/dist/types/shared/remote-delivery.d.ts +32 -0
- package/dist/workers.js +626 -0
- package/dist/workers.js.map +1 -0
- package/dist/workers.mjs +623 -0
- package/dist/workers.mjs.map +1 -0
- package/exports/client.js +3 -0
- package/exports/client.mjs +3 -0
- package/exports/connectors/betterstack.js +1 -0
- package/exports/connectors/betterstack.mjs +1 -0
- package/exports/connectors/otlp.js +1 -0
- package/exports/connectors/otlp.mjs +1 -0
- package/exports/connectors/posthog.js +1 -0
- package/exports/connectors/posthog.mjs +1 -0
- package/exports/connectors/sentry.js +1 -0
- package/exports/connectors/sentry.mjs +1 -0
- package/exports/database.js +1 -0
- package/exports/database.mjs +1 -0
- package/exports/expo.js +1 -0
- package/exports/expo.mjs +1 -0
- package/exports/frameworks/elysia.js +1 -0
- package/exports/frameworks/elysia.mjs +1 -0
- package/exports/frameworks/express.js +1 -0
- package/exports/frameworks/express.mjs +1 -0
- package/exports/frameworks/fastify.js +1 -0
- package/exports/frameworks/fastify.mjs +1 -0
- package/exports/frameworks/hono.js +1 -0
- package/exports/frameworks/hono.mjs +1 -0
- package/exports/frameworks/nestjs.js +1 -0
- package/exports/frameworks/nestjs.mjs +1 -0
- package/exports/frameworks/nextjs.js +1 -0
- package/exports/frameworks/nextjs.mjs +1 -0
- package/exports/frameworks/standalone.js +1 -0
- package/exports/frameworks/standalone.mjs +1 -0
- package/exports/frameworks/sveltekit.js +1 -0
- package/exports/frameworks/sveltekit.mjs +1 -0
- package/exports/frameworks/tanstack-start.js +1 -0
- package/exports/frameworks/tanstack-start.mjs +1 -0
- package/exports/workers.js +1 -0
- package/exports/workers.mjs +1 -0
- package/package.json +291 -0
- package/types/client.d.ts +34 -0
- package/types/connectors/betterstack.d.ts +1 -0
- package/types/connectors/otlp.d.ts +1 -0
- package/types/connectors/posthog.d.ts +1 -0
- package/types/connectors/sentry.d.ts +1 -0
- package/types/database.d.ts +1 -0
- package/types/expo.d.ts +17 -0
- package/types/frameworks/client.d.ts +160 -0
- package/types/frameworks/elysia.d.ts +1 -0
- package/types/frameworks/expo.d.ts +50 -0
- package/types/frameworks/express.d.ts +1 -0
- package/types/frameworks/fastify.d.ts +1 -0
- package/types/frameworks/hono.d.ts +1 -0
- package/types/frameworks/nestjs.d.ts +1 -0
- package/types/frameworks/nextjs.d.ts +1 -0
- package/types/frameworks/standalone.d.ts +1 -0
- package/types/frameworks/sveltekit.d.ts +1 -0
- package/types/frameworks/tanstack-start.d.ts +1 -0
- package/types/frameworks/workers.d.ts +115 -0
- package/types/index.d.ts +1 -0
- package/types/workers.d.ts +13 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { BlypConnectorsConfig, ResolvedBetterStackConnectorConfig } from '../core/config';
|
|
2
|
+
import type { LogRecord } from '../core/file-logger';
|
|
3
|
+
import type { BlypLogger } from '../core/logger';
|
|
4
|
+
import type { ConnectorMode } from './mode';
|
|
5
|
+
import type { SentryModuleLike } from './sentry';
|
|
6
|
+
export interface BetterStackLoggerConfig {
|
|
7
|
+
connectors?: BlypConnectorsConfig;
|
|
8
|
+
}
|
|
9
|
+
export interface BetterStackLogger extends BlypLogger {
|
|
10
|
+
}
|
|
11
|
+
export interface BetterStackExceptionCaptureOptions {
|
|
12
|
+
source?: BetterStackLogSource;
|
|
13
|
+
warnIfUnavailable?: boolean;
|
|
14
|
+
context?: Record<string, unknown>;
|
|
15
|
+
}
|
|
16
|
+
export interface BetterStackErrorTracker {
|
|
17
|
+
capture: (error: unknown, options?: BetterStackExceptionCaptureOptions) => void;
|
|
18
|
+
child: (bindings: Record<string, unknown>) => BetterStackErrorTracker;
|
|
19
|
+
}
|
|
20
|
+
export type BetterStackLogSource = 'server' | 'client';
|
|
21
|
+
export interface BetterStackSendOptions {
|
|
22
|
+
source?: BetterStackLogSource;
|
|
23
|
+
warnIfUnavailable?: boolean;
|
|
24
|
+
}
|
|
25
|
+
export interface BetterStackClientLike {
|
|
26
|
+
log: (message: string, level: string, context?: Record<string, unknown>) => Promise<unknown>;
|
|
27
|
+
flush: () => Promise<unknown>;
|
|
28
|
+
}
|
|
29
|
+
export interface BetterStackTestHooks {
|
|
30
|
+
createClient?: (config: ResolvedBetterStackConnectorConfig) => BetterStackClientLike;
|
|
31
|
+
module?: SentryModuleLike;
|
|
32
|
+
}
|
|
33
|
+
export interface BetterStackSender {
|
|
34
|
+
readonly enabled: boolean;
|
|
35
|
+
readonly ready: boolean;
|
|
36
|
+
readonly mode: ConnectorMode;
|
|
37
|
+
readonly serviceName: string;
|
|
38
|
+
readonly ingestingHost?: string;
|
|
39
|
+
readonly status: 'enabled' | 'missing';
|
|
40
|
+
readonly errorTracking: {
|
|
41
|
+
enabled: boolean;
|
|
42
|
+
ready: boolean;
|
|
43
|
+
status: 'enabled' | 'missing';
|
|
44
|
+
dsn?: string;
|
|
45
|
+
tracesSampleRate: number;
|
|
46
|
+
environment?: string;
|
|
47
|
+
release?: string;
|
|
48
|
+
};
|
|
49
|
+
shouldAutoForwardServerLogs: () => boolean;
|
|
50
|
+
shouldAutoCaptureExceptions: () => boolean;
|
|
51
|
+
send: (record: LogRecord, options?: BetterStackSendOptions) => void;
|
|
52
|
+
captureException: (error: unknown, options?: BetterStackExceptionCaptureOptions) => void;
|
|
53
|
+
flush: () => Promise<void>;
|
|
54
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { SeverityNumber } from '@opentelemetry/api-logs';
|
|
2
|
+
import type { BlypConnectorsConfig, ResolvedOTLPConnectorConfig } from '../core/config';
|
|
3
|
+
import type { LogRecord } from '../core/file-logger';
|
|
4
|
+
import type { BlypLogger } from '../core/logger';
|
|
5
|
+
import type { ConnectorMode } from './mode';
|
|
6
|
+
export interface OTLPLoggerConfig {
|
|
7
|
+
name: string;
|
|
8
|
+
connectors?: BlypConnectorsConfig;
|
|
9
|
+
}
|
|
10
|
+
export interface OTLPLogger extends BlypLogger {
|
|
11
|
+
}
|
|
12
|
+
export type OTLPLogSource = 'server' | 'client';
|
|
13
|
+
export interface OTLPTransport {
|
|
14
|
+
emit: (payload: OTLPNormalizedRecord) => void | Promise<void>;
|
|
15
|
+
flush?: () => Promise<void>;
|
|
16
|
+
shutdown?: () => Promise<void>;
|
|
17
|
+
}
|
|
18
|
+
export interface OTLPSendOptions {
|
|
19
|
+
source?: OTLPLogSource;
|
|
20
|
+
warnIfUnavailable?: boolean;
|
|
21
|
+
}
|
|
22
|
+
export interface OTLPNormalizedRecord {
|
|
23
|
+
body: string;
|
|
24
|
+
severityText: string;
|
|
25
|
+
severityNumber: SeverityNumber;
|
|
26
|
+
attributes: Record<string, unknown>;
|
|
27
|
+
resourceAttributes: {
|
|
28
|
+
'service.name': string;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export interface OTLPSender {
|
|
32
|
+
readonly name: string;
|
|
33
|
+
readonly enabled: boolean;
|
|
34
|
+
readonly ready: boolean;
|
|
35
|
+
readonly mode: ConnectorMode;
|
|
36
|
+
readonly serviceName: string;
|
|
37
|
+
readonly endpoint?: string;
|
|
38
|
+
readonly status: 'enabled' | 'missing';
|
|
39
|
+
send: (record: LogRecord, options?: OTLPSendOptions) => void;
|
|
40
|
+
flush: () => Promise<void>;
|
|
41
|
+
}
|
|
42
|
+
export interface OTLPRegistry {
|
|
43
|
+
get: (name: string) => OTLPSender;
|
|
44
|
+
getAutoForwardTargets: () => OTLPSender[];
|
|
45
|
+
send: (name: string, record: LogRecord, options?: OTLPSendOptions) => void;
|
|
46
|
+
flush: () => Promise<void>;
|
|
47
|
+
}
|
|
48
|
+
export interface OTLPTestHooks {
|
|
49
|
+
createTransport?: (config: ResolvedOTLPConnectorConfig) => OTLPTransport;
|
|
50
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import type { SeverityNumber } from '@opentelemetry/api-logs';
|
|
2
|
+
import type { BlypConnectorsConfig, ResolvedPostHogConnectorConfig } from '../core/config';
|
|
3
|
+
import type { LogRecord } from '../core/file-logger';
|
|
4
|
+
import type { BlypLogger } from '../core/logger';
|
|
5
|
+
import type { ConnectorMode } from './mode';
|
|
6
|
+
export interface PostHogLoggerConfig {
|
|
7
|
+
connectors?: BlypConnectorsConfig;
|
|
8
|
+
}
|
|
9
|
+
export interface PostHogLogger extends BlypLogger {
|
|
10
|
+
}
|
|
11
|
+
export interface PostHogExceptionCaptureOptions {
|
|
12
|
+
distinctId?: string;
|
|
13
|
+
properties?: Record<string, unknown>;
|
|
14
|
+
}
|
|
15
|
+
export interface PostHogErrorTracker {
|
|
16
|
+
capture: (error: unknown, options?: PostHogExceptionCaptureOptions) => void;
|
|
17
|
+
child: (bindings: Record<string, unknown>) => PostHogErrorTracker;
|
|
18
|
+
}
|
|
19
|
+
export type PostHogSource = 'server' | 'client';
|
|
20
|
+
export interface PostHogLogTransport {
|
|
21
|
+
emit: (payload: PostHogNormalizedRecord) => void | Promise<void>;
|
|
22
|
+
flush?: () => Promise<void>;
|
|
23
|
+
shutdown?: () => Promise<void>;
|
|
24
|
+
}
|
|
25
|
+
export interface PostHogExceptionClient {
|
|
26
|
+
captureException: (error: unknown, distinctId?: string, additionalProperties?: Record<string | number, unknown>) => void | Promise<void>;
|
|
27
|
+
shutdown?: () => Promise<void>;
|
|
28
|
+
}
|
|
29
|
+
export interface PostHogSendOptions {
|
|
30
|
+
source?: PostHogSource;
|
|
31
|
+
warnIfUnavailable?: boolean;
|
|
32
|
+
}
|
|
33
|
+
export interface PostHogCaptureExceptionOptions {
|
|
34
|
+
source?: PostHogSource;
|
|
35
|
+
warnIfUnavailable?: boolean;
|
|
36
|
+
distinctId?: string;
|
|
37
|
+
properties?: Record<string, unknown>;
|
|
38
|
+
}
|
|
39
|
+
export interface PostHogNormalizedRecord {
|
|
40
|
+
body: string;
|
|
41
|
+
severityText: string;
|
|
42
|
+
severityNumber: SeverityNumber;
|
|
43
|
+
attributes: Record<string, unknown>;
|
|
44
|
+
resourceAttributes: {
|
|
45
|
+
'service.name': string;
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
export interface PostHogSender {
|
|
49
|
+
readonly enabled: boolean;
|
|
50
|
+
readonly ready: boolean;
|
|
51
|
+
readonly mode: ConnectorMode;
|
|
52
|
+
readonly serviceName: string;
|
|
53
|
+
readonly host: string;
|
|
54
|
+
readonly status: 'enabled' | 'missing';
|
|
55
|
+
readonly errorTracking: {
|
|
56
|
+
enabled: boolean;
|
|
57
|
+
ready: boolean;
|
|
58
|
+
mode: ConnectorMode;
|
|
59
|
+
status: 'enabled' | 'missing';
|
|
60
|
+
enableExceptionAutocapture: boolean;
|
|
61
|
+
};
|
|
62
|
+
shouldAutoForwardServerLogs: () => boolean;
|
|
63
|
+
shouldAutoCaptureExceptions: () => boolean;
|
|
64
|
+
send: (record: LogRecord, options?: PostHogSendOptions) => void;
|
|
65
|
+
captureException: (error: unknown, options?: PostHogCaptureExceptionOptions) => void;
|
|
66
|
+
flush: () => Promise<void>;
|
|
67
|
+
}
|
|
68
|
+
export interface PostHogTestHooks {
|
|
69
|
+
createTransport?: (config: ResolvedPostHogConnectorConfig) => PostHogLogTransport;
|
|
70
|
+
createExceptionClient?: (config: ResolvedPostHogConnectorConfig) => PostHogExceptionClient;
|
|
71
|
+
}
|
|
72
|
+
export interface NormalizedPostHogException {
|
|
73
|
+
error: Error;
|
|
74
|
+
properties: Record<string, unknown>;
|
|
75
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { Scope } from '@sentry/node';
|
|
2
|
+
import type { BlypConnectorsConfig } from '../core/config';
|
|
3
|
+
import type { LogRecord } from '../core/file-logger';
|
|
4
|
+
import type { BlypLogger } from '../core/logger';
|
|
5
|
+
import type { ConnectorMode } from './mode';
|
|
6
|
+
export interface SentryLoggerConfig {
|
|
7
|
+
connectors?: BlypConnectorsConfig;
|
|
8
|
+
}
|
|
9
|
+
export interface SentryLogger extends BlypLogger {
|
|
10
|
+
}
|
|
11
|
+
export type SentryLogSource = 'server' | 'client';
|
|
12
|
+
export interface SentrySendOptions {
|
|
13
|
+
source?: SentryLogSource;
|
|
14
|
+
warnIfUnavailable?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface SentryClientLike {
|
|
17
|
+
getOptions?: () => {
|
|
18
|
+
dsn?: unknown;
|
|
19
|
+
environment?: unknown;
|
|
20
|
+
release?: unknown;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export interface SentryModuleLike {
|
|
24
|
+
init: (options: Record<string, unknown>) => unknown;
|
|
25
|
+
getClient: () => SentryClientLike | undefined;
|
|
26
|
+
captureException: (error: unknown) => unknown;
|
|
27
|
+
flush: (timeout?: number) => PromiseLike<boolean>;
|
|
28
|
+
withScope: (callback: (scope: Scope) => void) => void;
|
|
29
|
+
logger: {
|
|
30
|
+
debug: (message: string, attributes?: Record<string, unknown>) => void;
|
|
31
|
+
info: (message: string, attributes?: Record<string, unknown>) => void;
|
|
32
|
+
warn: (message: string, attributes?: Record<string, unknown>) => void;
|
|
33
|
+
error: (message: string, attributes?: Record<string, unknown>) => void;
|
|
34
|
+
fatal: (message: string, attributes?: Record<string, unknown>) => void;
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
export interface SentryTestHooks {
|
|
38
|
+
module?: SentryModuleLike;
|
|
39
|
+
}
|
|
40
|
+
export interface SentrySender {
|
|
41
|
+
readonly enabled: boolean;
|
|
42
|
+
readonly ready: boolean;
|
|
43
|
+
readonly mode: ConnectorMode;
|
|
44
|
+
readonly status: 'enabled' | 'missing';
|
|
45
|
+
shouldAutoForwardServerLogs: () => boolean;
|
|
46
|
+
send: (record: LogRecord, options?: SentrySendOptions) => void;
|
|
47
|
+
flush: () => Promise<void>;
|
|
48
|
+
}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import type { ConnectorMode } from '../connectors/mode';
|
|
2
|
+
import type { BlypDestination, DatabaseLoggerConfig, ResolvedDatabaseLoggerConfig } from '../database';
|
|
3
|
+
export type { ConnectorMode } from '../connectors/mode';
|
|
4
|
+
export type { BlypDestination, DatabaseAdapterConfig, DatabaseAdapterKind, DatabaseDeliveryConfig, DatabaseDialect, DatabaseLoggerConfig, DatabaseRetryConfig, DrizzleDatabaseAdapterConfig, PrismaDatabaseAdapterConfig, ResolvedDatabaseDeliveryConfig, ResolvedDatabaseLoggerConfig, ResolvedDatabaseRetryConfig, } from '../database';
|
|
5
|
+
export interface LogRotationConfig {
|
|
6
|
+
enabled?: boolean;
|
|
7
|
+
maxSizeBytes?: number;
|
|
8
|
+
maxArchives?: number;
|
|
9
|
+
compress?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export interface LogFileConfig {
|
|
12
|
+
enabled?: boolean;
|
|
13
|
+
dir?: string;
|
|
14
|
+
archiveDir?: string;
|
|
15
|
+
format?: 'ndjson';
|
|
16
|
+
rotation?: LogRotationConfig;
|
|
17
|
+
}
|
|
18
|
+
export interface ClientLoggingConfig {
|
|
19
|
+
enabled?: boolean;
|
|
20
|
+
path?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface PostHogConnectorConfig {
|
|
23
|
+
enabled?: boolean;
|
|
24
|
+
mode?: ConnectorMode;
|
|
25
|
+
projectKey?: string;
|
|
26
|
+
host?: string;
|
|
27
|
+
serviceName?: string;
|
|
28
|
+
errorTracking?: PostHogErrorTrackingConfig;
|
|
29
|
+
}
|
|
30
|
+
export interface BetterStackConnectorConfig {
|
|
31
|
+
enabled?: boolean;
|
|
32
|
+
mode?: ConnectorMode;
|
|
33
|
+
sourceToken?: string;
|
|
34
|
+
ingestingHost?: string;
|
|
35
|
+
serviceName?: string;
|
|
36
|
+
errorTracking?: BetterStackErrorTrackingConfig;
|
|
37
|
+
}
|
|
38
|
+
export interface BetterStackErrorTrackingConfig {
|
|
39
|
+
enabled?: boolean;
|
|
40
|
+
dsn?: string;
|
|
41
|
+
tracesSampleRate?: number;
|
|
42
|
+
environment?: string;
|
|
43
|
+
release?: string;
|
|
44
|
+
}
|
|
45
|
+
export interface PostHogErrorTrackingConfig {
|
|
46
|
+
enabled?: boolean;
|
|
47
|
+
mode?: ConnectorMode;
|
|
48
|
+
enableExceptionAutocapture?: boolean;
|
|
49
|
+
}
|
|
50
|
+
export interface ResolvedPostHogErrorTrackingConfig {
|
|
51
|
+
enabled: boolean;
|
|
52
|
+
mode: ConnectorMode;
|
|
53
|
+
enableExceptionAutocapture: boolean;
|
|
54
|
+
ready: boolean;
|
|
55
|
+
status: 'enabled' | 'missing';
|
|
56
|
+
}
|
|
57
|
+
export interface ResolvedPostHogConnectorConfig {
|
|
58
|
+
enabled: boolean;
|
|
59
|
+
mode: ConnectorMode;
|
|
60
|
+
projectKey?: string;
|
|
61
|
+
host: string;
|
|
62
|
+
serviceName: string;
|
|
63
|
+
errorTracking: ResolvedPostHogErrorTrackingConfig;
|
|
64
|
+
}
|
|
65
|
+
export interface ResolvedBetterStackConnectorConfig {
|
|
66
|
+
enabled: boolean;
|
|
67
|
+
mode: ConnectorMode;
|
|
68
|
+
sourceToken?: string;
|
|
69
|
+
ingestingHost?: string;
|
|
70
|
+
serviceName: string;
|
|
71
|
+
errorTracking: ResolvedBetterStackErrorTrackingConfig;
|
|
72
|
+
ready: boolean;
|
|
73
|
+
status: 'enabled' | 'missing';
|
|
74
|
+
}
|
|
75
|
+
export interface ResolvedBetterStackErrorTrackingConfig {
|
|
76
|
+
enabled: boolean;
|
|
77
|
+
dsn?: string;
|
|
78
|
+
tracesSampleRate: number;
|
|
79
|
+
environment?: string;
|
|
80
|
+
release?: string;
|
|
81
|
+
ready: boolean;
|
|
82
|
+
status: 'enabled' | 'missing';
|
|
83
|
+
}
|
|
84
|
+
export interface SentryConnectorConfig {
|
|
85
|
+
enabled?: boolean;
|
|
86
|
+
mode?: ConnectorMode;
|
|
87
|
+
dsn?: string;
|
|
88
|
+
environment?: string;
|
|
89
|
+
release?: string;
|
|
90
|
+
}
|
|
91
|
+
export interface ResolvedSentryConnectorConfig {
|
|
92
|
+
enabled: boolean;
|
|
93
|
+
mode: ConnectorMode;
|
|
94
|
+
dsn?: string;
|
|
95
|
+
environment?: string;
|
|
96
|
+
release?: string;
|
|
97
|
+
ready: boolean;
|
|
98
|
+
status: 'enabled' | 'missing';
|
|
99
|
+
}
|
|
100
|
+
export interface OTLPConnectorConfig {
|
|
101
|
+
name: string;
|
|
102
|
+
enabled?: boolean;
|
|
103
|
+
mode?: ConnectorMode;
|
|
104
|
+
endpoint?: string;
|
|
105
|
+
headers?: Record<string, string>;
|
|
106
|
+
auth?: string;
|
|
107
|
+
serviceName?: string;
|
|
108
|
+
}
|
|
109
|
+
export interface ResolvedOTLPConnectorConfig {
|
|
110
|
+
name: string;
|
|
111
|
+
enabled: boolean;
|
|
112
|
+
mode: ConnectorMode;
|
|
113
|
+
endpoint?: string;
|
|
114
|
+
headers: Record<string, string>;
|
|
115
|
+
auth?: string;
|
|
116
|
+
serviceName: string;
|
|
117
|
+
ready: boolean;
|
|
118
|
+
status: 'enabled' | 'missing';
|
|
119
|
+
}
|
|
120
|
+
export interface BlypConnectorsConfig {
|
|
121
|
+
betterstack?: BetterStackConnectorConfig;
|
|
122
|
+
posthog?: PostHogConnectorConfig;
|
|
123
|
+
sentry?: SentryConnectorConfig;
|
|
124
|
+
otlp?: OTLPConnectorConfig[];
|
|
125
|
+
}
|
|
126
|
+
export interface BlypConfig {
|
|
127
|
+
pretty: boolean;
|
|
128
|
+
level: string;
|
|
129
|
+
destination?: BlypDestination;
|
|
130
|
+
logDir?: string;
|
|
131
|
+
file?: LogFileConfig;
|
|
132
|
+
database?: DatabaseLoggerConfig;
|
|
133
|
+
clientLogging?: ClientLoggingConfig;
|
|
134
|
+
connectors?: BlypConnectorsConfig;
|
|
135
|
+
}
|
|
136
|
+
export interface ResolvedBlypConnectorsConfig {
|
|
137
|
+
betterstack: ResolvedBetterStackConnectorConfig;
|
|
138
|
+
posthog: ResolvedPostHogConnectorConfig;
|
|
139
|
+
sentry: ResolvedSentryConnectorConfig;
|
|
140
|
+
otlp: ResolvedOTLPConnectorConfig[];
|
|
141
|
+
}
|
|
142
|
+
export interface ResolvedBlypConfig extends BlypConfig {
|
|
143
|
+
destination: BlypDestination;
|
|
144
|
+
file: Required<LogFileConfig>;
|
|
145
|
+
database?: ResolvedDatabaseLoggerConfig;
|
|
146
|
+
clientLogging: Required<ClientLoggingConfig>;
|
|
147
|
+
connectors: ResolvedBlypConnectorsConfig;
|
|
148
|
+
}
|
|
149
|
+
export interface ConfigFileMatch {
|
|
150
|
+
path: string;
|
|
151
|
+
type: 'json' | 'jiti';
|
|
152
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ErrorLogLevel, ErrorLoggerLike } from '../shared/errors';
|
|
2
|
+
export interface CreateErrorInput {
|
|
3
|
+
status?: number;
|
|
4
|
+
message?: string;
|
|
5
|
+
code?: string | number;
|
|
6
|
+
why?: string;
|
|
7
|
+
fix?: string;
|
|
8
|
+
link?: string;
|
|
9
|
+
details?: Record<string, unknown>;
|
|
10
|
+
cause?: unknown;
|
|
11
|
+
logger?: ErrorLoggerLike;
|
|
12
|
+
logLevel?: ErrorLogLevel;
|
|
13
|
+
skipLogging?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface CreateErrorOverrides extends Omit<CreateErrorInput, 'status'> {
|
|
16
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export interface LogRecord {
|
|
2
|
+
timestamp: string;
|
|
3
|
+
level: string;
|
|
4
|
+
message: string;
|
|
5
|
+
caller?: string;
|
|
6
|
+
data?: unknown;
|
|
7
|
+
bindings?: Record<string, unknown>;
|
|
8
|
+
[key: string]: unknown;
|
|
9
|
+
}
|
|
10
|
+
export interface StreamState {
|
|
11
|
+
activePath: string;
|
|
12
|
+
archivePrefix: string;
|
|
13
|
+
bytes: number;
|
|
14
|
+
queue: string[];
|
|
15
|
+
processing: boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface FileLoggerDependencies {
|
|
18
|
+
gzip?: (input: Buffer) => Buffer;
|
|
19
|
+
warn?: (message: string, error?: unknown) => void;
|
|
20
|
+
}
|
|
21
|
+
export interface ResolvedFileLoggerConfig {
|
|
22
|
+
enabled: boolean;
|
|
23
|
+
dir: string;
|
|
24
|
+
archiveDir: string;
|
|
25
|
+
rotationEnabled: boolean;
|
|
26
|
+
maxSizeBytes: number;
|
|
27
|
+
maxArchives: number;
|
|
28
|
+
compress: boolean;
|
|
29
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type LogMethodName = 'success' | 'critical' | 'warning' | 'info' | 'debug' | 'error' | 'warn' | 'table';
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { BetterStackSender } from '../connectors/betterstack';
|
|
2
|
+
import type { PostHogSender } from '../connectors/posthog';
|
|
3
|
+
import type { SentrySender } from '../connectors/sentry';
|
|
4
|
+
import type { OTLPRegistry } from '../connectors/otlp';
|
|
5
|
+
import type { BlypPrimarySink } from '../../core/primary-sink';
|
|
6
|
+
import type { StructuredLog, StructuredLogPayload } from './structured-log';
|
|
7
|
+
export interface BlypLogger {
|
|
8
|
+
success: (message: unknown, ...args: unknown[]) => void;
|
|
9
|
+
critical: (message: unknown, ...args: unknown[]) => void;
|
|
10
|
+
warning: (message: unknown, ...args: unknown[]) => void;
|
|
11
|
+
info: (message: unknown, ...args: unknown[]) => void;
|
|
12
|
+
debug: (message: unknown, ...args: unknown[]) => void;
|
|
13
|
+
error: (message: unknown, ...args: unknown[]) => void;
|
|
14
|
+
warn: (message: unknown, ...args: unknown[]) => void;
|
|
15
|
+
table: (message: string, data?: unknown) => void;
|
|
16
|
+
flush: () => Promise<void>;
|
|
17
|
+
shutdown: () => Promise<void>;
|
|
18
|
+
createStructuredLog: (groupId: string, initial?: Record<string, unknown>) => StructuredLog;
|
|
19
|
+
child: (bindings: Record<string, unknown>) => BlypLogger;
|
|
20
|
+
}
|
|
21
|
+
export type InternalLoggerSource = 'root' | 'request-scoped' | 'structured-flush';
|
|
22
|
+
export interface StructuredLogFactoryOptions {
|
|
23
|
+
initialFields?: Record<string, unknown>;
|
|
24
|
+
resolveDefaultFields?: () => Record<string, unknown>;
|
|
25
|
+
onCreate?: () => void;
|
|
26
|
+
onEmit?: (payload: StructuredLogPayload) => void;
|
|
27
|
+
}
|
|
28
|
+
export interface LoggerFactoryHandle {
|
|
29
|
+
bindings: Record<string, unknown>;
|
|
30
|
+
betterstack: BetterStackSender;
|
|
31
|
+
posthog: PostHogSender;
|
|
32
|
+
sentry: SentrySender;
|
|
33
|
+
otlp: OTLPRegistry;
|
|
34
|
+
sink: BlypPrimarySink;
|
|
35
|
+
create: (source: InternalLoggerSource, bindings?: Record<string, unknown>) => BlypLogger;
|
|
36
|
+
writeStructured: (payload: StructuredLogPayload, message: string, source?: InternalLoggerSource) => void;
|
|
37
|
+
}
|
|
38
|
+
export type InternalBlypLogger = BlypLogger & {
|
|
39
|
+
[k: symbol]: LoggerFactoryHandle;
|
|
40
|
+
};
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
export type StructuredLogLevel = 'debug' | 'info' | 'warn' | 'warning' | 'error' | 'success' | 'critical' | 'table';
|
|
2
|
+
export interface StructuredLogError {
|
|
3
|
+
message: string;
|
|
4
|
+
code?: string | number;
|
|
5
|
+
type?: string;
|
|
6
|
+
stack?: string;
|
|
7
|
+
why?: string;
|
|
8
|
+
fix?: string;
|
|
9
|
+
link?: string;
|
|
10
|
+
details?: Record<string, unknown>;
|
|
11
|
+
cause?: unknown;
|
|
12
|
+
}
|
|
13
|
+
export interface StructuredLogEvent {
|
|
14
|
+
level: StructuredLogLevel;
|
|
15
|
+
message: string;
|
|
16
|
+
timestamp: string;
|
|
17
|
+
data?: unknown;
|
|
18
|
+
}
|
|
19
|
+
export type StructuredLogPayload<TFields extends Record<string, unknown> = Record<string, unknown>> = TFields & {
|
|
20
|
+
groupId: string;
|
|
21
|
+
timestamp: string;
|
|
22
|
+
level: StructuredLogLevel;
|
|
23
|
+
method?: string;
|
|
24
|
+
path?: string;
|
|
25
|
+
status?: number;
|
|
26
|
+
duration?: number;
|
|
27
|
+
events?: StructuredLogEvent[];
|
|
28
|
+
error?: StructuredLogError;
|
|
29
|
+
};
|
|
30
|
+
export interface StructuredLogEmitOptions {
|
|
31
|
+
response?: Response | {
|
|
32
|
+
status: number;
|
|
33
|
+
};
|
|
34
|
+
status?: number;
|
|
35
|
+
error?: unknown;
|
|
36
|
+
level?: StructuredLogLevel;
|
|
37
|
+
message?: string;
|
|
38
|
+
}
|
|
39
|
+
export interface StructuredLog<TFields extends Record<string, unknown> = Record<string, unknown>> {
|
|
40
|
+
set<TNextFields extends Record<string, unknown>>(fields: TNextFields): StructuredLog<TFields & TNextFields>;
|
|
41
|
+
debug(message: unknown, ...args: unknown[]): StructuredLog<TFields>;
|
|
42
|
+
info(message: unknown, ...args: unknown[]): StructuredLog<TFields>;
|
|
43
|
+
warn(message: unknown, ...args: unknown[]): StructuredLog<TFields>;
|
|
44
|
+
warning(message: unknown, ...args: unknown[]): StructuredLog<TFields>;
|
|
45
|
+
error(message: unknown, ...args: unknown[]): StructuredLog<TFields>;
|
|
46
|
+
success(message: unknown, ...args: unknown[]): StructuredLog<TFields>;
|
|
47
|
+
critical(message: unknown, ...args: unknown[]): StructuredLog<TFields>;
|
|
48
|
+
table(message: string, data?: unknown): StructuredLog<TFields>;
|
|
49
|
+
emit(options?: StructuredLogEmitOptions): StructuredLogPayload<TFields>;
|
|
50
|
+
}
|
|
51
|
+
export interface CreateStructuredLogOptions {
|
|
52
|
+
initialFields?: Record<string, unknown>;
|
|
53
|
+
resolveDefaultFields?: () => Record<string, unknown>;
|
|
54
|
+
write(payload: StructuredLogPayload<Record<string, unknown>>, message: string): void;
|
|
55
|
+
onCreate?: () => void;
|
|
56
|
+
onEmit?: (payload: StructuredLogPayload<Record<string, unknown>>) => void;
|
|
57
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import type { LogRecord } from './core/file-logger';
|
|
2
|
+
export type BlypDestination = 'file' | 'database';
|
|
3
|
+
export type DatabaseDialect = 'postgres' | 'mysql';
|
|
4
|
+
export type DatabaseAdapterKind = 'prisma' | 'drizzle';
|
|
5
|
+
export interface DatabaseRetryConfig {
|
|
6
|
+
maxRetries?: number;
|
|
7
|
+
backoffMs?: number;
|
|
8
|
+
}
|
|
9
|
+
export interface DatabaseDeliveryConfig {
|
|
10
|
+
strategy?: 'immediate' | 'batch';
|
|
11
|
+
batchSize?: number;
|
|
12
|
+
flushIntervalMs?: number;
|
|
13
|
+
maxQueueSize?: number;
|
|
14
|
+
overflowStrategy?: 'drop-oldest' | 'drop-new';
|
|
15
|
+
flushTimeoutMs?: number;
|
|
16
|
+
retry?: DatabaseRetryConfig;
|
|
17
|
+
}
|
|
18
|
+
export interface ResolvedDatabaseRetryConfig {
|
|
19
|
+
maxRetries: number;
|
|
20
|
+
backoffMs: number;
|
|
21
|
+
}
|
|
22
|
+
export interface ResolvedDatabaseDeliveryConfig {
|
|
23
|
+
strategy: 'immediate' | 'batch';
|
|
24
|
+
batchSize: number;
|
|
25
|
+
flushIntervalMs: number;
|
|
26
|
+
maxQueueSize: number;
|
|
27
|
+
overflowStrategy: 'drop-oldest' | 'drop-new';
|
|
28
|
+
flushTimeoutMs: number;
|
|
29
|
+
retry: ResolvedDatabaseRetryConfig;
|
|
30
|
+
}
|
|
31
|
+
export interface PrismaDatabaseAdapterConfig {
|
|
32
|
+
type: 'prisma';
|
|
33
|
+
client: unknown;
|
|
34
|
+
model?: string;
|
|
35
|
+
}
|
|
36
|
+
export interface DrizzleDatabaseAdapterConfig {
|
|
37
|
+
type: 'drizzle';
|
|
38
|
+
db: unknown;
|
|
39
|
+
table: unknown;
|
|
40
|
+
}
|
|
41
|
+
export type DatabaseAdapterConfig = PrismaDatabaseAdapterConfig | DrizzleDatabaseAdapterConfig;
|
|
42
|
+
export interface DatabaseLoggerConfig {
|
|
43
|
+
dialect?: DatabaseDialect;
|
|
44
|
+
adapter?: DatabaseAdapterConfig;
|
|
45
|
+
delivery?: DatabaseDeliveryConfig;
|
|
46
|
+
}
|
|
47
|
+
export interface ResolvedDatabaseLoggerConfig {
|
|
48
|
+
dialect?: DatabaseDialect;
|
|
49
|
+
adapter?: DatabaseAdapterConfig;
|
|
50
|
+
delivery: ResolvedDatabaseDeliveryConfig;
|
|
51
|
+
ready: boolean;
|
|
52
|
+
status: 'enabled' | 'missing';
|
|
53
|
+
}
|
|
54
|
+
export interface DatabaseLogRow {
|
|
55
|
+
id: string;
|
|
56
|
+
timestamp: Date;
|
|
57
|
+
level: string;
|
|
58
|
+
message: string;
|
|
59
|
+
caller: string | null;
|
|
60
|
+
type: string | null;
|
|
61
|
+
groupId: string | null;
|
|
62
|
+
method: string | null;
|
|
63
|
+
path: string | null;
|
|
64
|
+
status: number | null;
|
|
65
|
+
duration: number | null;
|
|
66
|
+
hasError: boolean;
|
|
67
|
+
data: unknown | null;
|
|
68
|
+
bindings: Record<string, unknown> | null;
|
|
69
|
+
error: Record<string, unknown> | null;
|
|
70
|
+
events: unknown[] | null;
|
|
71
|
+
record: LogRecord;
|
|
72
|
+
createdAt: Date;
|
|
73
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { ClientConnectorRequest, ClientLogBrowserContext, ClientLogDeviceContext, ClientLogEvent, ClientLogLevel, ClientLogPageContext, RemoteDeliveryConfig, RemoteDeliveryDropContext, RemoteDeliveryFailureContext, RemoteDeliveryFailureReason, RemoteDeliveryRetryContext, RemoteDeliverySuccessContext } from '../shared/client-log';
|
|
2
|
+
import type { ErrorLogLevel, ErrorLoggerLike, ParseErrorOptions, ParseableErrorPayload, BlypErrorCode, BlypErrorCodeDefinition, BlypErrorLike } from '../shared/errors';
|
|
3
|
+
export interface ClientLoggerState {
|
|
4
|
+
readonly pageId: string;
|
|
5
|
+
readonly sessionId: string;
|
|
6
|
+
readonly bindings: Record<string, unknown>;
|
|
7
|
+
readonly delivery?: {
|
|
8
|
+
enqueue: (event: ClientLogEvent) => void;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
export interface ClientLoggerConfig {
|
|
12
|
+
endpoint?: string;
|
|
13
|
+
headers?: Record<string, string>;
|
|
14
|
+
credentials?: RequestCredentials;
|
|
15
|
+
localConsole?: boolean;
|
|
16
|
+
remoteSync?: boolean;
|
|
17
|
+
connector?: ClientConnectorRequest;
|
|
18
|
+
metadata?: Record<string, unknown> | (() => Record<string, unknown>);
|
|
19
|
+
delivery?: RemoteDeliveryConfig;
|
|
20
|
+
}
|
|
21
|
+
export interface ClientLogger {
|
|
22
|
+
success: (message: unknown, ...args: unknown[]) => void;
|
|
23
|
+
critical: (message: unknown, ...args: unknown[]) => void;
|
|
24
|
+
warning: (message: unknown, ...args: unknown[]) => void;
|
|
25
|
+
info: (message: unknown, ...args: unknown[]) => void;
|
|
26
|
+
debug: (message: unknown, ...args: unknown[]) => void;
|
|
27
|
+
error: (message: unknown, ...args: unknown[]) => void;
|
|
28
|
+
warn: (message: unknown, ...args: unknown[]) => void;
|
|
29
|
+
table: (message: string, data?: unknown) => void;
|
|
30
|
+
child: (bindings: Record<string, unknown>) => ClientLogger;
|
|
31
|
+
}
|
|
32
|
+
export type { ClientLogBrowserContext, ClientConnectorRequest, ClientLogDeviceContext, ClientLogEvent, ClientLogLevel, ClientLogPageContext, RemoteDeliveryConfig, RemoteDeliveryDropContext, RemoteDeliveryFailureContext, RemoteDeliveryFailureReason, RemoteDeliveryRetryContext, RemoteDeliverySuccessContext, ErrorLogLevel, ErrorLoggerLike, ParseErrorOptions, ParseableErrorPayload, BlypErrorCode, BlypErrorCodeDefinition, BlypErrorLike, };
|