点击领取2000元阿里云代金券,付款抵现金用,云服务器69元/年限时抢>>> 点击咨询成为阿里云VIP客户享永久折扣>>>
点击领取2860元腾讯云代金券,付款抵现金用,云服务器88元/年限时抢>>> 点击成为腾讯云VIP客户享永久折扣优惠>>> 点击进入华为云最新优惠活动现场>>> 点击成为华为云VIP客户享永久折扣优惠>>>
云日志服务SDK提供了Java语言上报日志的一系列方法,方便用户直接使用编码方式上报日志到云日志服务后台。
使用前提- 使用云日志SDK前,您需要注册华为云帐号且开通云日志服务。
- 需要获取待上报的日志服务所在华为云区域(Region)信息。
使用前配置使用云日志服务SDK前,您需要进行ConnectionConfig类的初始化配置。配置内容如下:
- 确认云日志服务的区域
使用SDK前首先需要确认当前租户所在的Region(如“华北-北京-1”等),然后选择与其匹配的云日志服务区域。
- 配置访问秘钥(AK/SK)
日志SDK依赖AK(Access Key)和SK(Secret Access Key)进行鉴权,使用SDK前需要先获取AK/SK信息。
使用步骤- 获取华为云帐号的AK/SK,步骤参考:如何获取AK/SK。
- 安装java开发环境,日志SDK支持JDK1.6以上开发环境。
- 下载并安装日志SDK包
- 下载日志SDK包。
- 下载后解压到指定目录。注:直接解压即可,不需要额外操作。
- 将解压后的所有jar包添加到您的java工程。
- 在云日志服务创建日志组和日志流。
- 开始一个新的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
|
|