upplib 2.9.9__py3-none-any.whl → 3.2.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
upplib/query_log.py CHANGED
@@ -16,13 +16,19 @@ def query_sls_logs(logstore_name: str = '',
16
16
  query_sql: str = None,
17
17
  trace_id_fixed_length: int = None,
18
18
  replace_n_t: bool = True,
19
+ order_by_desc: bool = True,
19
20
  remove_repeat_content: bool = False,
20
21
  time_use_in_content: bool = True,
21
22
  config_name: str = '',
22
23
  country: str = '',
23
24
  start_time: datetime | str | None = None,
25
+ forward_seconds: int = 2,
26
+ backward_seconds: int = 2,
27
+ method_length: int = 31,
24
28
  end___time: datetime | str | None = None,
25
29
  append_file: bool = False,
30
+ only_date_msg: bool = False,
31
+ msg_delete_prefix: int = 0,
26
32
  file_name_suffix: str = '',
27
33
  clean_up_msg_type: int = 0,
28
34
  default_tz: str = '+07:00') -> None:
@@ -31,15 +37,26 @@ def query_sls_logs(logstore_name: str = '',
31
37
  query_sql : 当有 query_sql 的时候 query 就会被 覆盖
32
38
  replace_n_t: 转义 \\n, \\t 这些符号
33
39
  file_name_suffix: 在输出的文件后面加一个后缀
40
+ forward_seconds: 往前查询的秒数
41
+ backward_seconds: 往后查询的秒数
34
42
  """
35
43
  if start_time is None and end___time is None:
36
44
  start_time, end___time = (t[0], t[1]) if (t := get_from_txt()) and t[0] is not None else (get_timestamp() - 60 * minute, get_timestamp())
45
+
46
+ if start_time is None and end___time is not None:
47
+ start_time = end___time
48
+ end___time = end___time
49
+
50
+ if start_time is not None and end___time is None:
51
+ start_time = start_time
52
+ end___time = start_time
53
+
37
54
  if query_sql is not None:
38
55
  query = query_sql
39
56
  if ' limit ' not in query.lower():
40
57
  query += ' LIMIT ' + str(limit)
41
- start_time = get_timestamp(start_time)
42
- end___time = get_timestamp(end___time)
58
+ start_time = get_timestamp(start_time) - forward_seconds
59
+ end___time = get_timestamp(end___time) + backward_seconds
43
60
  if not append_file:
44
61
  to_print_file(country, logstore_name, mode='w', file_path='', file_name=logstore_name + '_' + str(country) + str(file_name_suffix))
45
62
  to_print_file(f'start_time : {to_datetime_str(start_time, tz=default_tz)}')
@@ -60,8 +77,10 @@ def query_sls_logs(logstore_name: str = '',
60
77
  if (
61
78
  msg := clean_up_msg(
62
79
  get_log_msg(log.contents, replace_n_t=replace_n_t, default_tz=default_tz, time_use_in_content=time_use_in_content),
80
+ method_length=method_length,
63
81
  trace_id_fixed_length=trace_id_fixed_length,
64
82
  clean_up_type=clean_up_msg_type)) is not None:
83
+ msg = simplify_msg(msg, only_date_msg=only_date_msg, msg_delete_prefix=msg_delete_prefix)
65
84
  if remove_repeat_content:
66
85
  log_set.add(msg)
67
86
  else:
@@ -69,6 +88,8 @@ def query_sls_logs(logstore_name: str = '',
69
88
  if len(log_set) > 0:
70
89
  log_list = list(log_set)
71
90
  log_list.sort()
91
+ if order_by_desc:
92
+ log_list.reverse()
72
93
  to_print_file(f"从日志库中查询, 一共获得 {response.get_count()} 条日志, 处理完了以后, 共 {len(log_list)} 条日志")
73
94
  for log in log_list:
74
95
  to_print_file(log)
@@ -82,6 +103,7 @@ def query_lts_logs(logstore_name: str = '',
82
103
  trace_id_fixed_length: int = None,
83
104
  query_sql: str = None,
84
105
  replace_n_t: bool = True,
106
+ order_by_desc: bool = True,
85
107
  remove_repeat_content: bool = False,
86
108
  time_use_in_content: bool = True,
87
109
  config_name: str = 'mx_huaweiyun_lts',
@@ -89,8 +111,13 @@ def query_lts_logs(logstore_name: str = '',
89
111
  log_stream_id='f9555059-d0a8-4a8a-acd2-796ac9aeef2e',
90
112
  country: str = '',
91
113
  start_time: datetime | str | None = None,
114
+ forward_seconds: int = 2,
115
+ backward_seconds: int = 2,
116
+ method_length: int = 31,
92
117
  end___time: datetime | str | None = None,
93
118
  append_file: bool = False,
119
+ only_date_msg: bool = False,
120
+ msg_delete_prefix: int = 0,
94
121
  file_name_suffix: str = '',
95
122
  clean_up_msg_type: int = 0,
96
123
  default_tz: str = '-06:00') -> None:
@@ -102,12 +129,21 @@ def query_lts_logs(logstore_name: str = '',
102
129
  """
103
130
  if start_time is None and end___time is None:
104
131
  start_time, end___time = (t[0], t[1]) if (t := get_from_txt()) and t[0] is not None else (get_timestamp() - 60 * minute, get_timestamp())
132
+
133
+ if start_time is None and end___time is not None:
134
+ start_time = end___time
135
+ end___time = end___time
136
+
137
+ if start_time is not None and end___time is None:
138
+ start_time = start_time
139
+ end___time = start_time
140
+
105
141
  if query_sql is not None:
106
142
  query = query_sql
107
143
  if ' limit ' not in query.lower():
108
144
  query += ' LIMIT ' + str(limit)
109
- start_time = get_timestamp_ms(start_time)
110
- end___time = get_timestamp_ms(end___time)
145
+ start_time = get_timestamp_ms(start_time) - forward_seconds * 1000
146
+ end___time = get_timestamp_ms(end___time) + backward_seconds * 1000
111
147
  if not append_file:
112
148
  to_print_file(country, logstore_name, mode='w', file_path='', file_name=logstore_name + '_' + str(country) + str(file_name_suffix))
113
149
  to_print_file(f'start_time : {to_datetime_str(start_time, tz=default_tz)}')
@@ -127,8 +163,12 @@ def query_lts_logs(logstore_name: str = '',
127
163
  whether_to_rows=True,
128
164
  time_range=TimeRange(
129
165
  sql_time_zone="UTC",
130
- start_time=start_time,
131
- end_time=end___time,
166
+ # start_time=start_time,
167
+ # end_time=end___time,
168
+ # 兼容问题, 因为 lts 日志库的时间是 utc 时间, 所以要减去 14 小时
169
+ # 具体的原因可以参考 https://support.huaweicloud.com/intl/zh-cn/api-lts/ListStructuredLogsWithTimeRange.html
170
+ start_time=start_time - 14 * 60 * 60 * 1000,
171
+ end_time=end___time - 14 * 60 * 60 * 1000,
132
172
  start_time_gt=False,
133
173
  end_time_lt=False
134
174
  ),
@@ -136,14 +176,16 @@ def query_lts_logs(logstore_name: str = '',
136
176
  query=query,
137
177
  )
138
178
  response = client.list_structured_logs_with_time_range(request)
139
- to_print_file(f"从日志库中查询, 一共获得 {len(response.body['result'])} 条日志")
179
+ # to_print_file(f"从日志库中查询, 一共获得 {len(response.body['result'])} 条日志")
140
180
  log_set = set()
141
181
  log_list = []
142
182
  for log in response.body['result']:
143
183
  if (msg := clean_up_msg(
144
184
  get_log_msg(log, replace_n_t=replace_n_t, default_tz=default_tz, time_use_in_content=time_use_in_content),
185
+ method_length=method_length,
145
186
  trace_id_fixed_length=trace_id_fixed_length,
146
187
  clean_up_type=clean_up_msg_type)) is not None:
188
+ msg = simplify_msg(msg, only_date_msg=only_date_msg, msg_delete_prefix=msg_delete_prefix)
147
189
  if remove_repeat_content:
148
190
  log_set.add(msg)
149
191
  else:
@@ -151,6 +193,8 @@ def query_lts_logs(logstore_name: str = '',
151
193
  if len(log_set) > 0:
152
194
  log_list = list(log_set)
153
195
  log_list.sort()
196
+ if order_by_desc:
197
+ log_list.reverse()
154
198
  to_print_file(f"从日志库中查询, 一共获得 {len(response.body['result'])} 条日志, 处理完了以后, 共 {len(log_list)} 条日志")
155
199
  for log in log_list:
156
200
  to_print_file(log)
upplib/redis_tool.py CHANGED
@@ -2,7 +2,7 @@ from upplib import *
2
2
  import redis
3
3
 
4
4
 
5
- def get_id(config_redis='redis', key_name='a_b', expire_days=50) -> int | None:
5
+ def get_id(config_redis='redis', key_name='a_b_c', expire_days=5) -> int | None:
6
6
  """
7
7
  获得自增的 id
8
8
  """
upplib/util.py CHANGED
@@ -37,6 +37,8 @@ def get_log_msg(contents: dict,
37
37
  _time_ = to_datetime_str(time_str, default_tz=default_tz)
38
38
  if content is None:
39
39
  return None
40
+ if level is not None and content.strip().startswith(level + ' '):
41
+ content = content[len(level + ' '):].strip()
40
42
  return ' '.join(filter(lambda s: s is not None, [_time_, level, content.replace('\n', '\\n').replace('\t', '\\t') if replace_n_t else content]))
41
43
 
42
44
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: upplib
3
- Version: 2.9.9
3
+ Version: 3.2.2
4
4
  Summary: util
5
5
  Author: Luck
6
6
  Author-email: wantwaterfish@gmail.com
@@ -0,0 +1,23 @@
1
+ upplib/__init__.py,sha256=AzQ1nB4NdyU5Kjnhi6aqjotkljhA2oNioQ1pgxpe8no,828
2
+ upplib/chart.py,sha256=DEcfhr1HlWdITaPWTVlL0CVSr3GiJTV_bWyOPb1UoyA,27667
3
+ upplib/chart_html.py,sha256=39CTD2LbN7LNN3wtb3n-ojN2r_X7RJMWappPgiLSJG4,23144
4
+ upplib/clean_up_msg.py,sha256=yR4D2fIXOT8z9VpClfhBjVnjhexObgNZDhvPu5v_5Y4,19237
5
+ upplib/common_package.py,sha256=2-u66k4WbZnX6-PUaYy8wsblnz41nvtX4Hwo3J5hjO0,832
6
+ upplib/db.py,sha256=-3ZALQSzP92-zIhye6ckrXIctbHsVmwoLiCVOlTyDyo,7058
7
+ upplib/file.py,sha256=R753ZBNE1PxbWNqu9eQ8VvcimahwBkvtu4mlx3qTFoE,8643
8
+ upplib/file_text.py,sha256=JYoRSatwPMVOqXpJ2wszfJ2pVx1Ot2rQ2Jnxm_vj_YY,43106
9
+ upplib/format_data.py,sha256=Qxq-OZ8v6HBRJ-tUcNFem1Imbauk3Y5qJTrAGT0CC4I,10153
10
+ upplib/http_util.py,sha256=8Xya5qpeCKGaglxKnirOlOnbnBU3K52FGV5Y9c8HH9k,16119
11
+ upplib/index.py,sha256=VvQzOzx6vtSLAmFARplPCVNTMq0DKYpMBFRgr7ge1dc,25887
12
+ upplib/mail.py,sha256=pe1ZZlKsah_TiB_Ag3scgiIQegyOznul2awdHur2m4Y,7550
13
+ upplib/mail_html.py,sha256=W2_WT9WhFykmAFageboJ-6E0dnBHBGMG1vQlBb9__M8,4001
14
+ upplib/markdown.py,sha256=YXh2Rtb5gvZ755Ecr3r5FcMoDtd2YcqtOFHFv92jWOQ,5803
15
+ upplib/multi_thread.py,sha256=zOeWG5HGYIzwqiPvef-4ak5bzorf0S3q6Ht8wPit_M0,2705
16
+ upplib/query_log.py,sha256=m93f8wyZeatVs_PF8O5eyC6U5yJfohg7x6muXPUMOJA,9204
17
+ upplib/redis_tool.py,sha256=I1kOqBwfQWVIOAY-hQaaOn1Zrx8BNlK83u-pk4uHPCA,707
18
+ upplib/util.py,sha256=0JXo9eIEC67Cnby-s8IELkbP9m7a6deB4pX7OIGb3zg,4709
19
+ upplib-3.2.2.dist-info/licenses/LICENSE,sha256=WI5JtXXhjcqnIcPllDA1ZtuxNnZ515xjElcILo7z28o,1073
20
+ upplib-3.2.2.dist-info/METADATA,sha256=2xELIy6Z_vIUT8ilixMTe0IVVQz7W9CMt2eyN0v237g,940
21
+ upplib-3.2.2.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
22
+ upplib-3.2.2.dist-info/top_level.txt,sha256=VwdHDDPP79e1LqtRu5_w30hHB4gT0zlj1weuQYOqFoA,7
23
+ upplib-3.2.2.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.9.0)
2
+ Generator: setuptools (80.10.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,21 +0,0 @@
1
- upplib/__init__.py,sha256=nWDutqy89i9JQVsFyjuzCSsFDpT0fPcU7BQv0X7BmgM,764
2
- upplib/chart.py,sha256=DEcfhr1HlWdITaPWTVlL0CVSr3GiJTV_bWyOPb1UoyA,27667
3
- upplib/chart_html.py,sha256=39CTD2LbN7LNN3wtb3n-ojN2r_X7RJMWappPgiLSJG4,23144
4
- upplib/clean_up_msg.py,sha256=qATu9YBCUuHwt-0YR6hjDgCLR1aUn6d_JJ7tcveHbRM,18186
5
- upplib/common_package.py,sha256=2-u66k4WbZnX6-PUaYy8wsblnz41nvtX4Hwo3J5hjO0,832
6
- upplib/db.py,sha256=4wkKL1vaoIWacAseQ6wnKa39X9Sfe0JlTvIALEawLBo,7162
7
- upplib/file.py,sha256=1K9hrIQHIZnkXqkJop2ynQB8-wr92erdIYas_gEhZaQ,6828
8
- upplib/http_util.py,sha256=8Xya5qpeCKGaglxKnirOlOnbnBU3K52FGV5Y9c8HH9k,16119
9
- upplib/index.py,sha256=c9_vetGpLbOX1M-IccTfnrKy4uA566heq9IM_Q-phKE,67679
10
- upplib/mail.py,sha256=pe1ZZlKsah_TiB_Ag3scgiIQegyOznul2awdHur2m4Y,7550
11
- upplib/mail_html.py,sha256=W2_WT9WhFykmAFageboJ-6E0dnBHBGMG1vQlBb9__M8,4001
12
- upplib/markdown.py,sha256=YXh2Rtb5gvZ755Ecr3r5FcMoDtd2YcqtOFHFv92jWOQ,5803
13
- upplib/multi_thread.py,sha256=zOeWG5HGYIzwqiPvef-4ak5bzorf0S3q6Ht8wPit_M0,2705
14
- upplib/query_log.py,sha256=lzV_sxNOpPt4NQ1cV8fOiqspxJJZVZ5RfC3_TLUsR6w,7246
15
- upplib/redis_tool.py,sha256=BJUOGnyC7K0wLz11Jny02e-JTI7KYTcYO3xBBCd5QpA,706
16
- upplib/util.py,sha256=mg6AKh1NVXBgcxK3i2IEGFmrELeqYqQyQVWR4p8R4lo,4586
17
- upplib-2.9.9.dist-info/licenses/LICENSE,sha256=WI5JtXXhjcqnIcPllDA1ZtuxNnZ515xjElcILo7z28o,1073
18
- upplib-2.9.9.dist-info/METADATA,sha256=E-Z68PQNoPm-uNOLhNsTe2lz7Q7J97ZJbyrAUp5EqCY,940
19
- upplib-2.9.9.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
20
- upplib-2.9.9.dist-info/top_level.txt,sha256=VwdHDDPP79e1LqtRu5_w30hHB4gT0zlj1weuQYOqFoA,7
21
- upplib-2.9.9.dist-info/RECORD,,