文档首页 > > 用户指南> 日志接入> SDK接入>

云日志服务Java SDK

云日志服务Java SDK

分享
更新时间:2021/03/08 GMT+08:00

云日志服务SDK提供了Java语言上报日志的一系列方法,方便用户直接使用编码方式上报日志到云日志服务后台。

传输协议

HTTPS

使用前提

  • 使用云日志SDK前,您需要注册华为云帐号且开通云日志服务。
  • 需要获取待上报的日志服务所在华为云区域(Region)信息。

使用前配置

使用云日志服务SDK前,您需要进行ConnectionConfig类的初始化配置。配置内容如下:

  1. 确认云日志服务的区域

    使用SDK前首先需要确认当前租户所在的Region(如“华北-北京-1”等),然后选择与其匹配的云日志服务区域。

  2. 配置访问秘钥(AK/SK)

    日志SDK依赖AK(Access Key)和SK(Secret Access Key)进行鉴权,使用SDK前需要先获取AK/SK信息。

使用步骤

  1. 获取华为云帐号的AK/SK,步骤参考:如何获取AK/SK
  2. 安装Java开发环境,日志SDK支持JDK1.6以上开发环境。
  3. 下载并安装日志SDK包

    1. 下载日志SDK包
    2. 下载后解压到指定目录。注:直接解压即可,不需要额外操作。
    3. 将解压后的所有jar包添加到您的java工程。

  4. 在云日志服务创建日志组和日志流。
  5. 开始一个新的Java工程。

    public class sdkTest {
     
        //Demo演示程序
        public static void main(String[] args) {
            //初始化链接信息
            ConnectionConfig config = new ConnectionConfig();
            
            config.setProjectid("1c06fc5dc0814a4da1594a9ade9cb93c");       //当前租户的项目ID
            config.setLogGroupId("4927b522-67b4-4f9d-8320-8a5d7ebd2d61");  //发送日志所属日志组
            config.setLogStreamId("bda48df9-1fd1-43e6-a8fd-906fd600de2c"); //发送日志所属日志流
            
            //iam鉴权信息,鉴权通过了才能上报日志
            config.setAK("QINDZD28DSEZEOF3EFPX");                       //当前租户的Access key
            config.setSK("abc0WGkdXlhX40Z7R4dFsuK384ZhIIdFacIvWBqI");   //当前租户的Secret Access Key
            config.setIamEndpoint("iam.cn-north-7.ulanqab.huawei.com"); //当前region对应的IAM鉴权远端地址
            
            //发送参数设置
            config.setEndpoint("100.95.151.58:31003");//发送日志的远端IP地址和端口。
            config.setBatchSize(60);                  //设置每次发生日志条数
            config.setThreadCount(1);                 //设置同时发送日志的线程数量
            config.setDataQueueSize(10000);           //设置日志发生缓存队列大小。默认500000
       
            Producer producer;
            try {
                //根据配置信息,初始化日志发送的生产者
                producer = ProducerFactory.getInstance().createProceduer(config);
                
                //创建日志发送的结构体
                LogItem item = new LogItem();
                //填充需要发送的日志内容,以及日志发送当前时间,如果超过或滞后云服务的系统时间12小时(云服务采用东八区时间),则直接丢弃
                item.addLog(System.currentTimeMillis(), "hello world I am a software engineer.");
                try {
                    producer.sendData(item, new LogCallback() {
                        @Override
                        public void onCompletion(LogItem item, Exception exception) {
                            if (exception != null) {
                                System.out.println("send result: + " + exception.getMessage());
                            } else {
                                System.out.println("send result: success");
                            }
                        }
                    });
                } catch (Exception e) {
                    e.printStackTrace();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    } 

配置参数说明

ConnectionConfig类方法参数介绍:

参数名称

参数说明

对应方法

取值举例

endPoint

对应Region上报日志的地址IP和Port

SetEndPoint

127.0.0.0:8102

region

租户所在的Region

setRegion

cn-north-4

ak

华为云租户的访问密钥access key

setAk

QINDZD28DSEZEOF3EFPX

sk

华为云租户访问密钥secret key

setSk

abc0WGkdXlhX40Z7R4dFsuK384ZhIIdFacIvWBqI

iamEndpoint

日志上报鉴权IAM地址

setIamEndpoint

iam.myhuaweicloud.com

projectId

当前租户的项目ID

setProjectId

1c06fc5dc0814a4da1594a9ade9cb93c

logGroup

发送日志所属的日志组

setLogGroupId

4927b522-67b4-4f9d-8320-8a5d7ebd2d61

logStreamId

发送日志所属的日志流

setLogStreamId

bda48df9-1fd1-43e6-a8fd-906fd600de2c

threadCount

发送日志的并发线程数

setThreadCount

10(建议不超过20)

dataQueueSize

发送日志的缓存队列长度

setDataQueueSize

默认500000

resultHandQueueSize

日志发送结果缓存队列长度

setResultHandQueueSize

默认500000,建议和发送队列长队保持一致

batchSize

单次上报日志的条数

setBatchSize

1000(单条日志size* batchSize需要小于2MB,否则会发送失败。)

hostIP

上报日志所在的节点IP地址

setHostIP

127.0.0.1

hostName

上报日志所在的节点主机名称

setHostName

Myhuaweihost

参数获取方法

  • 日志组ID:登录云日志服务页面,选择日志管理,日志组名称下面的ID即为日志组ID。

  • 日志流ID:单击日志组名称,跳转至日志流列表,日志流名称下面的ID即为日志流ID。

    • 项目ID/ProjectID:请参见“我的凭证 > API凭证”。
    • 访问密钥access key(AK)/secret access key(SK),请参见“我的凭证 > 访问密钥 ”。
    • 上报日志地址:不同服务不同区域的上报地址不同,请联系华为工程师。
    • IAM 鉴权地址如下表所示:

      区域名称

      区域

      终端节点(Endpoint)

      协议类型

      global

      global

      iam.myhuaweicloud.com

      HTTPS

      华北-北京二

      cn-north-2

      iam.cn-north-2.myhuaweicloud.com

      HTTPS

      华北-北京四

      cn-north-4

      iam.cn-north-4.myhuaweicloud.com

      HTTPS

      华北-北京一

      cn-north-1

      iam.cn-north-1.myhuaweicloud.com

      HTTPS

      华东-上海二

      cn-east-2

      iam.cn-east-2.myhuaweicloud.com

      HTTPS

      华东-上海一

      cn-east-3

      iam.cn-east-3.myhuaweicloud.com

      HTTPS

      华南-广州

      cn-south-1

      iam.cn-south-1.myhuaweicloud.com

      HTTPS

      华南-深圳

      cn-south-2

      iam.cn-south-2.myhuaweicloud.com

      HTTPS

      西南-贵阳一

      cn-southwest-2

      iam.cn-southwest-2.myhuaweicloud.com

      HTTPS

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区论坛频道来与我们联系探讨

智能客服提问云社区提问