Skip to content

Commit

Permalink
fix doc string and refine code. add more examples for GetProjectLogs
Browse files Browse the repository at this point in the history
  • Loading branch information
wjo1212 authored and laiqiang.dlq committed Nov 21, 2017
1 parent 9d9205a commit 71eb7e0
Show file tree
Hide file tree
Showing 7 changed files with 58 additions and 53 deletions.
27 changes: 22 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -436,9 +436,11 @@ res.log_print()
## 日志消费

有三种方式消费日志:

1. 拉取数据(PullLog): 根据分区游标来消费日志: 需要指定分区(Shard)以及游标.
2. 查询数据(GetLog): 通过索引查询来消费日志: 需要指定日志时间以及(或)查询条件.
3. 实时消费(Consumer Group): 第一种的高级方式, 通过服务器支持的消费组, 来并发可靠的快速拉取日志.
2. 日志库查询数据(GetLog): 通过索引查询来消费特定日志库日志: 需要指定日志库与日志时间以及(或)查询条件.
3. 项目统计查询数据(GetProjectLog): 通过索引查询来消费整个项目组日志: 需要指定日志时间以及(或)统计查询查询条件.
4. 实时消费(Consumer Group): 第一种的高级方式, 通过服务器支持的消费组, 来并发可靠的快速拉取日志.

### 游标操作

Expand Down Expand Up @@ -506,9 +508,9 @@ res.log_print()
**注意:** 默认获取1000条, 可以通过参数`count`来调节. 也可以通过参数`end_cursor`来设定设定一个结束的游标.


### 获取(Get)数据
根据索引获取数据, 需要传入时间范围, 也可以传入查询语句.
下面的例子查询时间是过去一小时的日志.
### 获取(Get)日志库数据
消费特定日志库, 根据索引获取数据, 需要传入时间范围, 也可以传入查询语句.
下面的例子查询时间是过去一小时特定日志库的日志.

```python
from time import time
Expand All @@ -534,6 +536,21 @@ res.log_print()
通过`get_histograms`来根据索引获取数据特定日志时间范围内的分布图.


### 获取(Get)项目组数据
跨日志库的对整个项目组查询, 根据索引获取数据, 需要传入时间范围和查询语句.
**注意:** 因为跨项目组传输数据可能非常大从而影响实际的性能, 推荐使用统计查询SQL来降低传输数据量.

下面的例子查询时间是一段时间内的项目组的几个日志库的日志数量.

```python
from aliyun.log import GetProjectLogsRequest

req = GetProjectLogsRequest("project1","select count(1) from logstore1, logstore2, logstore3 where __date__ >'2017-11-10 00:00:00' and __date__ < '2017-11-13 00:00:00'")
res = client.get_project_logs(req)
res.log_print();
```


## 实时消费
通过消费组(Consumer Group)可以获得可保障的自动扩展的日志消费服务.

Expand Down
3 changes: 1 addition & 2 deletions aliyun/log/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@
from .logclient import LogClient
from .logexception import LogException
from .gethistogramsrequest import GetHistogramsRequest
from .getlogsrequest import GetLogsRequest
from .getprojectlogsrequest import GetProjectLogsRequest
from .getlogsrequest import GetLogsRequest, GetProjectLogsRequest
from .index_config import IndexConfig, IndexKeyConfig, IndexLineConfig
from .listtopicsrequest import ListTopicsRequest
from .listlogstoresrequest import ListLogstoresRequest
Expand Down
30 changes: 30 additions & 0 deletions aliyun/log/getlogsrequest.py
Original file line number Diff line number Diff line change
Expand Up @@ -169,3 +169,33 @@ def set_reverse(self, reverse):
:param reverse: reverse flag
"""
self.reverse = reverse


class GetProjectLogsRequest(LogRequest):
""" The request used to get logs by a query from log cross multiple logstores.
:type project: string
:param project: project name
:type query: string
:param query: user defined query
"""

def __init__(self, project=None, query=None):
LogRequest.__init__(self, project)
self.query = query

def get_query(self):
""" Get user defined query
:return: string, user defined query
"""
return self.query

def set_query(self, query):
""" Set user defined query
:type query: string
:param query: user defined query
"""
self.query = query
43 changes: 0 additions & 43 deletions aliyun/log/getprojectlogsrequest.py

This file was deleted.

4 changes: 2 additions & 2 deletions aliyun/log/logclient.py
Original file line number Diff line number Diff line change
Expand Up @@ -403,8 +403,8 @@ def get_project_logs(self, request):
"""
headers = {}
params = {}
if request.get_query()!=None:
params['query'] = request.get_query();
if request.get_query() is not None:
params['query'] = request.get_query()
project = request.get_project()
resource = "/logs"
(resp, header) = self._send("GET", project, None, resource, params, headers)
Expand Down
2 changes: 1 addition & 1 deletion aliyun/log/version.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
__version__ = '0.6.10'
__version__ = '0.6.11'
USER_AGENT = 'log-python-sdk-v-' + __version__
API_VERSION = '0.6.0'

Expand Down
2 changes: 2 additions & 0 deletions doc/source/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ Request and Config Class
.. autosummary::
GetHistogramsRequest
GetLogsRequest
GetProjectLogsRequest
ListTopicsRequest
ListLogstoresRequest
PutLogsRequest
Expand Down Expand Up @@ -237,6 +238,7 @@ Definitions
.. autoclass:: LogException
.. autoclass:: GetHistogramsRequest
.. autoclass:: GetLogsRequest
.. autoclass:: GetProjectLogsRequest
.. autoclass:: IndexConfig
.. autoclass:: ListTopicsRequest
.. autoclass:: ListLogstoresRequest
Expand Down

0 comments on commit 71eb7e0

Please sign in to comment.