27 lines
800 B
TypeScript
27 lines
800 B
TypeScript
import Transport from "winston-transport";
|
|
import { S3ClientConfig } from "@aws-sdk/client-s3";
|
|
export interface LogGroup {
|
|
data: any[];
|
|
bucket: string;
|
|
bucketPath: string;
|
|
createdTime: Date;
|
|
isUpdated: boolean;
|
|
uploadTime?: Date;
|
|
}
|
|
export interface Config {
|
|
bucket: string;
|
|
bucketPath: ((groupId: string) => string) | string;
|
|
group?: (<T = any>(logInfo: T) => string) | string;
|
|
dataUploadInterval?: number;
|
|
maxDataSize?: number;
|
|
fileRotationInterval?: number;
|
|
gzip?: boolean;
|
|
}
|
|
export interface Options extends Transport.TransportStreamOptions {
|
|
/**
|
|
* @see https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-s3/interfaces/s3clientconfig.html
|
|
*/
|
|
s3ClientConfig: S3ClientConfig;
|
|
s3TransportConfig: Config;
|
|
}
|