UNPKG

@0xobelisk/graphql-server

Version:

Tookit for interacting with dubhe graphql server

80 lines 2.95 kB
import pino from 'pino'; export interface LoggerConfig { level?: string; service?: string; component?: string; enableFileLogging?: boolean; logsDir?: string; } export interface ComponentLoggerMethods { debug: (message: string, meta?: any) => void; info: (message: string, meta?: any) => void; warn: (message: string, meta?: any) => void; error: (message: string, error?: any, meta?: any) => void; } /** * High-performance logging system based on Pino */ export declare class Logger { private pinoInstance; private config; constructor(config?: LoggerConfig); /** * Ensure logs directory exists */ private ensureLogsDirectory; /** * Create Pino instance */ private createPinoInstance; /** * Setup exception handlers */ private setupExceptionHandlers; /** * Create component logger with context */ createComponentLogger(component: string): ComponentLoggerMethods; /** * Get raw Pino instance */ getPinoInstance(): pino.Logger; /** * Log performance metrics */ logPerformance(operation: string, startTime: number, meta?: any): void; /** * Log Express HTTP requests */ logExpress(method: string, path: string, statusCode: number, startTime: number, meta?: any): void; /** * Log database operations */ logDatabaseOperation(operation: string, table?: string, meta?: any): void; /** * Log WebSocket events */ logWebSocketEvent(event: string, clientCount?: number, meta?: any): void; /** * Log GraphQL queries */ logGraphQLQuery(operation: string, query?: string, variables?: any): void; } export declare const dbLogger: ComponentLoggerMethods; export declare const serverLogger: ComponentLoggerMethods; export declare const httpLogger: ComponentLoggerMethods; export declare const wsLogger: ComponentLoggerMethods; export declare const gqlLogger: ComponentLoggerMethods; export declare const subscriptionLogger: ComponentLoggerMethods; export declare const systemLogger: ComponentLoggerMethods; export declare const authLogger: ComponentLoggerMethods; export declare const perfLogger: ComponentLoggerMethods; export declare const createComponentLogger: (component: string) => ComponentLoggerMethods; export declare const logPerformance: (operation: string, startTime: number, meta?: any) => void; export declare const logExpress: (method: string, path: string, statusCode: number, startTime: number, meta?: any) => void; export declare const logDatabaseOperation: (operation: string, table?: string, meta?: any) => void; export declare const logWebSocketEvent: (event: string, clientCount?: number, meta?: any) => void; export declare const logGraphQLQuery: (operation: string, query?: string, variables?: any) => void; declare const _default: pino.Logger<never>; export default _default; //# sourceMappingURL=index.d.ts.map