@maximai/maxim-js
Version:
Maxim AI JS SDK. Visit https://getmaxim.ai for more info.
49 lines (48 loc) • 1.39 kB
TypeScript
import { MaximLogsAPI } from "../apis/logs";
import { MaximCache } from "../cache/cache";
import { CommitLog } from "./components/types";
export type LogWriterConfig = {
baseUrl: string;
apiKey: string;
repositoryId: string;
autoFlush?: boolean;
flushInterval?: number;
isDebug?: boolean;
maxInMemoryLogs?: number;
};
export declare class LogWriter {
private readonly id;
private config;
private queue;
private attachmentQueue;
private mutex;
private readonly isDebug;
private flushInterval;
private readonly logsDir;
private logsAPIService;
private attachmentAPIService;
private readonly maxInMemoryLogs;
private readonly cache;
private readonly _raiseExceptions;
constructor(config: LogWriterConfig & {
cache: MaximCache;
raiseExceptions: boolean;
});
get writerConfig(): LogWriterConfig;
get raiseExceptions(): boolean;
get writerLogsAPIService(): MaximLogsAPI;
get writerCache(): MaximCache;
private isOnAWSLambda;
private hasAccessToFilesystem;
private writeToFile;
private flushLogFiles;
private uploadFile;
private uploadFileData;
private uploadAttachment;
private flushAttachments;
private flushLogs;
private getAttachmentKey;
commit(log: CommitLog): void;
flush(): Promise<void>;
cleanup(): Promise<void>;
}