开发人员可以使用.NET、.NET Core、Java、Python、PHP、Node.js、C、Go、iOS、Android、C++等语言的SDK采集、查询和分析日志等。
使用前须知
不同语言的日志服务SDK具体实现细节会有所不同,但是它们都是日志服务API在不同语言上的封装,实现的功能也基本一致。具体包括如下几个方面:
实现对日志服务API接口的统一封装 ,让您不需要关心具体的API请求构建和响应解析。而且各个不同语言的接口使用也非常接近,方便您在不同语言间切换。更多信息,请参见接口规范。
实现日志服务API的数字签名逻辑,让您不需要关心API的签名逻辑细节,降低使用日志服务API的难度。更多信息,请参见请求签名。
实现日志服务日志的ProtoBuffer格式封装,让您在写入日志时不需要关心ProtoBuffer格式的具体细节。更多信息,请参见ProtoBuffer格式。
实现日志服务API中定义的压缩方法,让您不用关心压缩实现的细节。部分语言的SDK支持启用压缩模式写入日志(默认为使用压缩方式)。
提供统一的错误处理机制,让您可以使用语言所熟悉的方式处理请求异常。更多信息,请参见错误处理机制。
目前所有语言实现的SDK仅提供同步请求方式。
SDK列表
下表列举了日志服务不同语言的SDK的参考文档和GitHub源码。
SDK语言 | 参考文档 | GitHub源码 |
Java | ||
.NET Core | ||
.NET | ||
PHP | ||
Python | ||
Node.js | ||
C | ||
GO | ||
iOS | ||
Android | ||
C++ |
调用示例
常见问题
日志服务SDK都支持哪些功能?
日志服务SDK已经实现日志服务大部分功能,包括日志采集、创建索引、查询和分析、数据加工、日志消费、日志投递管理、告警、定时SQL等。若您在SDK调试中发现未实现功能,建议您升级到最新版本SDK重试或关注后续SDK版本更新。
使用日志服务SDK的基本流程是什么?
日志服务SDK提供全流程的日志管理,其使用流程和控制台使用流程基本相似。其使用基本流程大致如下:
开通日志服务。
获取访问密钥。
创建项目Project和日志库Logstore。
日志采集并存储至Logstore。
为日志创建索引。
查询和分析日志,可视化展示。
对日志数据进行加工、投递和告警等操作。
日志服务提供界面化操作控制台,操作更简单。更多信息,请参考日志服务快速入门。
SDK调试常见报错如何处理?
日志服务SDK提供错误处理逻辑。SDK可能出现的异常错误可以分成如下几类:
由日志服务端返回的错误。这类错误由日志服务端返回并由SDK处理。关于这类错误的详细信息可以参见具体的API接口说明、API错误码。关于错误码的更多信息,请参见错误码。
由SDK在向服务端发出请求时出现的网络错误。这类错误包括网络连接不通,服务端返回超时等。
由SDK自身产生的、与平台及语言相关的错误,如内存溢出等。
更多信息,请参见错误处理。
在使用日志服务SDK过程中,您可能遇到日志采集、索引、查询和分析、加工等各类报错,您可以参考日志服务常见问题进行处理。更多信息,请参见常见问题。
使用日志服务SDK是否存在限制?
日志服务对基础资源(例如Project个数、Logstore个数、Shard个数、LogItem大小)设定了合理的限制。建议您在使用前阅读使用限制文档,了解基础资源的使用限制。更多信息,请参见基础资源使用限制。
使用SDK采集日志到日志服务后,您还需要为日志配置合适的索引,之后您就可以进行日志查询和分析、数据加工等操作。更多信息,请参见创建索引和查询和分析日志。
是否有使用SDK的代码示例文档?
相关文档
日志服务SDK调试平台
阿里云OpenAPI开发者门户提供调试、SDK、示例和配套文档。通过OpenAPI,您无需手动封装请求和签名操作,就可以快速对日志服务API进行调试。更多信息,请参见OpenAPI开发者门户。
命令行工具CLI
为满足越来越多的自动化日志服务配置需求,日志服务提供命令行工具CLI。更多信息,请参见命令行工具CLI。
费用说明
使用SDK、OpenAPI开发者门户和日志服务CLI产生的费用和使用控制台产生的费用一致。更多信息,请参见计费概述。