java调用阿里云日志SDK 查询日志

参考: https://help.aliyun.com/document_detail/277466.html

maven依赖

        <dependency>
            <groupId>com.aliyun.openservices</groupId>
            <artifactId>aliyun-log</artifactId>
            <version>0.6.33</version>
        </dependency>

 

service层

package com.server.Ali.aliyunlog;


import com.aliyun.openservices.log.Client;
import com.aliyun.openservices.log.common.LogContent;
import com.aliyun.openservices.log.common.LogItem;
import com.aliyun.openservices.log.common.QueriedLog;
import com.aliyun.openservices.log.exception.LogException;
import com.aliyun.openservices.log.response.GetLogsResponse;
import org.springframework.stereotype.Service;

@Service
public class SLSQuickStart {
    //配置AccessKey、服务入口、Project名称、Logstore名称等相关信息。
    //阿里云访问密钥AccessKey。更多信息,请参见访问密钥。阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维。
    static String accessId = "---";
    static String accessKey = "---";
    //日志服务的服务入口。更多信息,请参见服务入口。
    //此处以杭州为例,其它地域请根据实际情况填写。
    static String host = "cn-hangzhou.log.aliyuncs.com";
    //创建日志服务Client。
    static Client client = new Client(host, accessId, accessKey);
    //Project名称。
    static String projectName = "kuebernetes-production";
    //Logstore名称。
    static String logstoreName = "production-education";
//   查询范围
    int from =1648398682;
    int to =1648481482;

    //通过SQL查询日志。
    public int getLogs(int from, int to, String sql) throws LogException {
        //fromTime和toTime表示查询日志的时间范围,Unix时间戳格式。
        GetLogsResponse getLogsResponse = client.GetLogs(projectName, logstoreName, from, to, "", sql);
        System.out.println("输出日志");
        for (QueriedLog log : getLogsResponse.GetLogs()) {
            for (LogContent mContent : log.mLogItem.mContents) {
                System.out.println(mContent.mKey + " : " + mContent.mValue);
            }
            System.out.println("********************");
        }
        //输出条数
        return getLogsResponse.GetCount();
    }

    public void test() throws LogException {
        System.out.println(this.getLogs(from,to,"220201"));
    }
}

 

posted @ 2022-03-29 19:13  凯宾斯基  阅读(712)  评论(0编辑  收藏  举报