ts-logger-tools
Version:
`ts-logger-tools` 是一个基于 TypeScript 的日志工具包,旨在为 Node.js 应用程序提供强大的日志记录和管理功能。它支持多种日志类型,包括访问日志、应用日志,并且可以与 MongoDB 集成,用于日志的存储和查询。
30 lines (29 loc) • 1.4 kB
TypeScript
import { Filter } from "mongodb";
import { AccessLog, ApplicationLog, Sort } from "../base";
import { LogSyncer } from "../base/LogSyncer";
export declare class MongoDBLogSyncer extends LogSyncer {
private client;
private db;
private accessLogs;
private applicationLogs;
constructor(url: string, dbname: string);
connect(): Promise<void>;
private createIndexes;
syncAccessLog(log: AccessLog): Promise<void>;
syncLoginLog(log: ApplicationLog): Promise<void>;
syncApplicationLog(log: ApplicationLog): Promise<void>;
syncSecurityLog(log: ApplicationLog): Promise<void>;
syncTraceLog(log: ApplicationLog): Promise<void>;
queryAccessLogs(filter: Filter<AccessLog>, skip?: number, limit?: number, sort?: Sort): Promise<AccessLog[]>;
queryApplicationLogs(filter: Filter<ApplicationLog>, skip?: number, limit?: number, sort?: Sort): Promise<ApplicationLog[]>;
countAccessLogs(filter: Filter<AccessLog>): Promise<number>;
countApplicationLogs(filter: Filter<ApplicationLog>): Promise<number>;
countDistinctUsersAccessLogs(filter: Filter<AccessLog>): Promise<number>;
countDistinctUsersApplicationLogs(filter: Filter<ApplicationLog>): Promise<number>;
queryLogsByTraceId(traceId: string): Promise<{
accessLogs: AccessLog[];
applicationLogs: ApplicationLog[];
}>;
close(): Promise<void>;
private convertSort;
}