ts-api-core
Version:
Nodejs api framework core
36 lines (35 loc) • 1.74 kB
TypeScript
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;
}