log4js-appender-sentry
Version:
Sentry Appender for log4js-node
34 lines (33 loc) • 1.29 kB
TypeScript
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;