0
点赞
收藏
分享

微信扫一扫

【web前端】CSS语法

香小蕉 03-23 22:00 阅读 2
awsjava

安装包

        <dependency>
            <groupId>software.amazon.awssdk</groupId>
            <artifactId>cloudwatchlogs</artifactId>
            <version>2.16.60</version>
        </dependency>

使用

        HashMap<String, Object> map = new HashMap<>();
        map.put("key1", "val1");
        map.put("key2", "val2");
        CloudWatchLog.putLog(map);

工具类

public class CloudWatchLog {
    private static final String accessKey = "<your key>";
    private static final String secretKey = "<your secret>";
    private static final String region = "us-west-1";
    // 日志组的名称
    private static final String groupName = "klover-test";
    // 日志流的名称
    private static final String streamName = "klover";

    private static CloudWatchLogsClient slsClient;

    static {
        AwsBasicCredentials credentials = AwsBasicCredentials.create(
                accessKey,
                secretKey
        );
        slsClient = CloudWatchLogsClient.builder()
                .region(Region.of(region))
                .credentialsProvider(() -> credentials)
                .build();
    }

    /**
     * 上传日志
     *
     * @param params 参数
     */
    public static void putLog(Map<String, Object> params) {
        DescribeLogStreamsRequest logStreamRequest = DescribeLogStreamsRequest.builder()
                .logGroupName(groupName)
                .logStreamNamePrefix(streamName)
                .build();

        DescribeLogStreamsResponse describeLogStreamsResponse = slsClient.describeLogStreams(logStreamRequest);

        // Assume that a single stream is returned since a specific stream name was
        // specified in the previous request.
        String sequenceToken = describeLogStreamsResponse.logStreams().getFirst().uploadSequenceToken();

        // Build an input log message to put to CloudWatch.
        InputLogEvent inputLogEvent = InputLogEvent.builder()
                .message(JsonUtil.toJSONString(params))
                .timestamp(System.currentTimeMillis())
                .build();

        // Specify the request parameters.
        // Sequence token is required so that the log can be written to the
        // latest location in the stream.
        PutLogEventsRequest putLogEventsRequest = PutLogEventsRequest.builder()
                .logEvents(Collections.singletonList(inputLogEvent))
                .logGroupName(groupName)
                .logStreamName(streamName)
                .sequenceToken(sequenceToken)
                .build();

        slsClient.putLogEvents(putLogEventsRequest);
    }
}

点击查看完整代码示例(觉得有用,帮忙在githup项目star一下)

举报

相关推荐

0 条评论