UNPKG

lakutata

Version:

An IoC-based universal application framework.

169 lines (161 loc) 5.58 kB
import { QueryRunner } from './TypeDef.internal.40.js'; import './TypeDef.internal.30.js'; /** * Performs logging of the events in TypeORM. */ interface Logger { /** * Logs query and parameters used in it. */ logQuery(query: string, parameters?: any[], queryRunner?: QueryRunner): any; /** * Logs query that is failed. */ logQueryError(error: string | Error, query: string, parameters?: any[], queryRunner?: QueryRunner): any; /** * Logs query that is slow. */ logQuerySlow(time: number, query: string, parameters?: any[], queryRunner?: QueryRunner): any; /** * Logs events from the schema build process. */ logSchemaBuild(message: string, queryRunner?: QueryRunner): any; /** * Logs events from the migrations run process. */ logMigration(message: string, queryRunner?: QueryRunner): any; /** * Perform logging using given logger, or by default to the console. * Log has its own level and message. */ log(level: "log" | "info" | "warn", message: any, queryRunner?: QueryRunner): any; } /** * Log level. */ type LogLevel = "query" | "schema" | "error" | "warn" | "info" | "log" | "migration"; /** * Log message. */ type LogMessage = { type?: LogMessageType; prefix?: string; message: string | number; format?: LogMessageFormat; parameters?: any[]; additionalInfo?: Record<string, any>; }; /** * Log message format. */ type LogMessageFormat = "sql"; /** * Log message type. */ type LogMessageType = "log" | "info" | "warn" | "error" | "query" | "query-error" | "query-slow" | "schema-build" | "migration"; /** * Options for prepare log messages */ type PrepareLogMessagesOptions = { highlightSql: boolean; formatSql: boolean; appendParameterAsComment: boolean; addColonToPrefix: boolean; }; /** * Logging options. */ type LoggerOptions = boolean | "all" | LogLevel[]; /** * File logging option. */ type FileLoggerOptions = { /** * Specify custom path for log file, relative to application root */ logPath: string; }; declare abstract class AbstractLogger implements Logger { protected options?: LoggerOptions | undefined; constructor(options?: LoggerOptions | undefined); /** * Logs query and parameters used in it. */ logQuery(query: string, parameters?: any[], queryRunner?: QueryRunner): void; /** * Logs query that is failed. */ logQueryError(error: string, query: string, parameters?: any[], queryRunner?: QueryRunner): void; /** * Logs query that is slow. */ logQuerySlow(time: number, query: string, parameters?: any[], queryRunner?: QueryRunner): void; /** * Logs events from the schema build process. */ logSchemaBuild(message: string, queryRunner?: QueryRunner): void; /** * Logs events from the migration run process. */ logMigration(message: string, queryRunner?: QueryRunner): void; /** * Perform logging using given logger, or by default to the console. * Log has its own level and message. */ log(level: "log" | "info" | "warn", message: any, queryRunner?: QueryRunner): void; /** * Check is logging for level or message type is enabled. */ protected isLogEnabledFor(type?: LogLevel | LogMessageType): boolean; /** * Write log to specific output. */ protected abstract writeLog(level: LogLevel, message: LogMessage | string | number | (LogMessage | string | number)[], queryRunner?: QueryRunner): void; /** * Prepare and format log messages */ protected prepareLogMessages(logMessage: LogMessage | string | number | (LogMessage | string | number)[], options?: Partial<PrepareLogMessagesOptions>, queryRunner?: QueryRunner): LogMessage[]; /** * Converts parameters to a string. * Sometimes parameters can have circular objects and therefor we are handle this case too. */ protected stringifyParams(parameters: any[]): string | any[]; } /** * Performs logging of the events in TypeORM. * This version of logger uses console to log events and use syntax highlighting. */ declare class AdvancedConsoleLogger extends AbstractLogger { /** * Write log to specific output. */ protected writeLog(level: LogLevel, logMessage: LogMessage | LogMessage[], queryRunner?: QueryRunner): void; } /** * Performs logging of the events in TypeORM. * This version of logger uses console to log events and does not use syntax highlighting. */ declare class SimpleConsoleLogger extends AbstractLogger { /** * Write log to specific output. */ protected writeLog(level: LogLevel, logMessage: LogMessage | LogMessage[], queryRunner?: QueryRunner): void; } /** * Performs logging of the events in TypeORM. * This version of logger logs everything into ormlogs.log file. */ declare class FileLogger extends AbstractLogger { private fileLoggerOptions?; constructor(options?: LoggerOptions, fileLoggerOptions?: FileLoggerOptions | undefined); /** * Write log to specific output. */ protected writeLog(level: LogLevel, logMessage: LogMessage | LogMessage[], queryRunner?: QueryRunner): void; /** * Writes given strings into the log file. */ protected write(strings: string | string[]): void; } export { AbstractLogger, AdvancedConsoleLogger, FileLogger, SimpleConsoleLogger }; export type { FileLoggerOptions, LogLevel, LogMessage, LogMessageFormat, LogMessageType, Logger, LoggerOptions, PrepareLogMessagesOptions };