UNPKG

log4js-appender-sentry

Version:

Sentry Appender for log4js-node

34 lines (33 loc) 1.29 kB
import type { User } from "@sentry/node"; import type { NodeClientOptions } from "@sentry/node/build/types/types"; import type { AppenderFunction, LayoutFunction, LayoutsParam, Levels } from "log4js"; export interface Config extends Partial<NodeClientOptions> { /** * The Data Source Name (DSN) for connecting to the Sentry server. * * @see https://<project_name>.sentry.io/settings/projects/node/keys/ * @see https://docs.sentry.io/product/sentry-basics/dsn-explainer/#the-parts-of-the-dsn */ dsn: string; /** * Sentry user data for scope setting */ user?: User; /** * Levels to be reported to Sentry. */ levels?: SentryAppenderLevels[]; } declare module "log4js" { interface Appenders { SentryAppender: { type: "log4js-appender-sentry"; } & Config; } } export type SentryAppenderLevels = keyof Pick<Levels, "WARN" | "ERROR" | "FATAL">; export declare function sentry(config: Config, levels: Levels, layout: LayoutFunction): AppenderFunction; export declare class ConfigError extends Error { constructor(msg: string, cause?: unknown); } export declare function configure(config: Config, layouts: LayoutsParam, _findAppender: () => AppenderFunction, levels: Levels): AppenderFunction;