UNPKG

ts-api-core

Version:

Nodejs api framework core

36 lines (35 loc) 1.74 kB
import { BaseObject } from '../context/base.object'; import { RequestContext } from '../context/request.context'; import { DefaultSaveLogger } from '../base/logger'; import { ApiLogDTO } from '../model/api.log.dto'; import { LogLevel } from '../model/log.leval'; export declare abstract class MysqlLoggerWrapper extends BaseObject<RequestContext> implements MysqlLoggerWrapper { abstract save(log: ApiLogDTO): void; log(level: LogLevel, data: string | number | any[] | Record<string, any> | undefined): void; str(data: any | string | number): string; } /** 数据库日志 */ export declare class MysqlLogger extends DefaultSaveLogger { package: boolean; private readonly wrapper; private readonly onWritePackageLog?; private readonly onWriteLog?; private readonly level?; /** 数据库日志 */ constructor(options?: { /** 单行日志的那些日志级别需要保存 */ level?: LogLevel[]; /** 日志是否整体保存,默认 `true` */ logPackage: boolean; /** 自定义的 MySQL 日志 wrapper */ wrapper?: MysqlLoggerWrapper; /** 上下文对象 */ context?: RequestContext; /** 写整体保存日志, 当 `logPackage``true` 时会触发 */ onWritePackageLog?: (log: ApiLogDTO, wrapper: MysqlLoggerWrapper) => void; /** 写单行日志,当 `logPackage` 不为 `true` 时会触发 */ onWriteLog?: (level: LogLevel, data: string | number | any[] | Record<string, any> | undefined, wrapper: MysqlLoggerWrapper) => void; }); save(data: ApiLogDTO): void; log(level: LogLevel, data: string | number | any[] | Record<string, any> | undefined): void; }