@webda/aws
Version:
Webda AWS Services implementation
82 lines (81 loc) • 2.04 kB
TypeScript
import { Service, ServiceParameters } from "@webda/core";
import { WorkerLogLevel } from "@webda/workout";
import { CloudFormationContributor } from "..js";
declare const CloudWatchLoggerParameters_base: {
new (...args: any[]): {
endpoint?: string;
credentials?: {
accessKeyId: string;
secretAccessKey: string;
sessionToken?: string;
};
region?: string;
type: string;
url?: string;
openapi?: import("@webda/core/lib/router").OpenAPIWebdaDefinition;
};
} & typeof ServiceParameters;
/**
* Send webda log to CloudWatch
*/
export declare class CloudWatchLoggerParameters extends CloudWatchLoggerParameters_base {
/**
* logGroupName to send logStream to
*/
logGroupName: string;
logStreamNamePrefix?: string;
kmsKeyId: string;
tags: any;
logLevel: WorkerLogLevel;
singlePush: boolean;
CloudFormation: any;
CloudFormationSkip: boolean;
}
/**
* Output log to a CloudWatch Stream
*
* @WebdaModda
*/
export default class CloudWatchLogger<T extends CloudWatchLoggerParameters = CloudWatchLoggerParameters> extends Service<T> implements CloudFormationContributor {
_logGroupName: string;
_logStreamName: string;
_seqToken: string;
_logStream: any;
_cloudwatch: any;
_bufferedLogs: any[];
/**
* Load the parameters
*
* @param params
*/
loadParameters(params: any): CloudWatchLoggerParameters;
/**
* @inheritdoc
*/
init(): Promise<this>;
/**
* Send logs to CloudWatch
*
* @param copy
* @returns
*/
sendLogs(copy?: boolean): Promise<void>;
/**
* @inheritdoc
*/
_log(level: any, ...args: any[]): void;
/**
* @inheritdoc
*/
getARNPolicy(accountId: string): {
Sid: string;
Effect: string;
Action: string[];
Resource: string[];
};
/**
* @inheritdoc
*/
getCloudFormation(): {};
}
export { CloudWatchLogger };