@optima-chat/dev-skills 0.1.6 → 0.1.7
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.
- package/.claude/commands/logs.md +13 -36
- package/.claude/skills/logs/SKILL.md +6 -15
- package/package.json +1 -1
package/.claude/commands/logs.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
快速查看服务日志,支持 Stage/Prod 两个环境。
|
|
4
4
|
|
|
5
|
-
**版本**: v0.1.
|
|
5
|
+
**版本**: v0.1.7
|
|
6
6
|
|
|
7
7
|
## 使用场景
|
|
8
8
|
|
|
@@ -48,20 +48,13 @@
|
|
|
48
48
|
|
|
49
49
|
**步骤**:
|
|
50
50
|
```bash
|
|
51
|
+
# IMPORTANT: 必须使用单行命令,不要使用反斜杠换行
|
|
52
|
+
|
|
51
53
|
# 1. 获取最新的 log stream
|
|
52
|
-
STREAM=$(aws logs describe-log-streams
|
|
53
|
-
--log-group-name /ecs/commerce-backend-stage \
|
|
54
|
-
--order-by LastEventTime \
|
|
55
|
-
--descending \
|
|
56
|
-
--max-items 1 \
|
|
57
|
-
| jq -r '.logStreams[0].logStreamName')
|
|
54
|
+
STREAM=$(aws logs describe-log-streams --log-group-name /ecs/commerce-backend-stage --order-by LastEventTime --descending --max-items 1 | jq -r '.logStreams[0].logStreamName')
|
|
58
55
|
|
|
59
56
|
# 2. 获取日志内容(纯文本)
|
|
60
|
-
aws logs get-log-events
|
|
61
|
-
--log-group-name /ecs/commerce-backend-stage \
|
|
62
|
-
--log-stream-name "$STREAM" \
|
|
63
|
-
--limit 50 \
|
|
64
|
-
| jq -r '.events[] | .message'
|
|
57
|
+
aws logs get-log-events --log-group-name /ecs/commerce-backend-stage --log-stream-name "$STREAM" --limit 50 | jq -r '.events[] | .message'
|
|
65
58
|
```
|
|
66
59
|
|
|
67
60
|
**服务映射**:
|
|
@@ -79,12 +72,8 @@ aws logs get-log-events \
|
|
|
79
72
|
# 获取日志内容(纯文本)
|
|
80
73
|
# 注意:Prod 环境的 log stream 通常是固定的 "backend"
|
|
81
74
|
# 使用 --no-start-from-head 从最新日志开始读取
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
--log-stream-name backend \
|
|
85
|
-
--limit 50 \
|
|
86
|
-
--no-start-from-head \
|
|
87
|
-
| jq -r '.events[] | .message'
|
|
75
|
+
# IMPORTANT: 必须使用单行命令,不要使用反斜杠换行
|
|
76
|
+
aws logs get-log-events --log-group-name /optima/prod/commerce-backend --log-stream-name backend --limit 50 --no-start-from-head | jq -r '.events[] | .message'
|
|
88
77
|
```
|
|
89
78
|
|
|
90
79
|
**服务映射**:
|
|
@@ -102,35 +91,23 @@ aws logs get-log-events \
|
|
|
102
91
|
|
|
103
92
|
### Stage 环境
|
|
104
93
|
```bash
|
|
94
|
+
# IMPORTANT: 使用单行命令
|
|
105
95
|
SERVICE="commerce-backend"
|
|
106
96
|
LINES=50
|
|
107
97
|
|
|
108
|
-
# 获取最新 stream
|
|
109
|
-
STREAM=$(aws logs describe-log-streams
|
|
110
|
-
|
|
111
|
-
--order-by LastEventTime --descending --max-items 1 \
|
|
112
|
-
| jq -r '.logStreams[0].logStreamName')
|
|
113
|
-
|
|
114
|
-
# 显示日志
|
|
115
|
-
aws logs get-log-events \
|
|
116
|
-
--log-group-name /ecs/${SERVICE}-stage \
|
|
117
|
-
--log-stream-name "$STREAM" \
|
|
118
|
-
--limit $LINES \
|
|
119
|
-
| jq -r '.events[] | .message'
|
|
98
|
+
# 获取最新 stream 并显示日志
|
|
99
|
+
STREAM=$(aws logs describe-log-streams --log-group-name /ecs/${SERVICE}-stage --order-by LastEventTime --descending --max-items 1 | jq -r '.logStreams[0].logStreamName')
|
|
100
|
+
aws logs get-log-events --log-group-name /ecs/${SERVICE}-stage --log-stream-name "$STREAM" --limit $LINES | jq -r '.events[] | .message'
|
|
120
101
|
```
|
|
121
102
|
|
|
122
103
|
### Prod 环境
|
|
123
104
|
```bash
|
|
105
|
+
# IMPORTANT: 使用单行命令
|
|
124
106
|
SERVICE="commerce-backend"
|
|
125
107
|
LINES=50
|
|
126
108
|
|
|
127
109
|
# 显示主服务日志(从最新开始)
|
|
128
|
-
aws logs get-log-events
|
|
129
|
-
--log-group-name /optima/prod/${SERVICE} \
|
|
130
|
-
--log-stream-name backend \
|
|
131
|
-
--limit $LINES \
|
|
132
|
-
--no-start-from-head \
|
|
133
|
-
| jq -r '.events[] | .message'
|
|
110
|
+
aws logs get-log-events --log-group-name /optima/prod/${SERVICE} --log-stream-name backend --limit $LINES --no-start-from-head | jq -r '.events[] | .message'
|
|
134
111
|
```
|
|
135
112
|
|
|
136
113
|
## 常见错误处理
|
|
@@ -142,18 +142,13 @@ INFO - Database query took 3200ms: SELECT * FROM products WHERE...
|
|
|
142
142
|
|
|
143
143
|
**实现方式**:
|
|
144
144
|
```bash
|
|
145
|
+
# IMPORTANT: 使用单行命令,避免反斜杠换行导致的参数解析错误
|
|
146
|
+
|
|
145
147
|
# 1. 获取最新 log stream
|
|
146
|
-
STREAM=$(aws logs describe-log-streams
|
|
147
|
-
--log-group-name /ecs/commerce-backend-stage \
|
|
148
|
-
--order-by LastEventTime --descending --max-items 1 \
|
|
149
|
-
| jq -r '.logStreams[0].logStreamName')
|
|
148
|
+
STREAM=$(aws logs describe-log-streams --log-group-name /ecs/commerce-backend-stage --order-by LastEventTime --descending --max-items 1 | jq -r '.logStreams[0].logStreamName')
|
|
150
149
|
|
|
151
150
|
# 2. 获取日志
|
|
152
|
-
aws logs get-log-events
|
|
153
|
-
--log-group-name /ecs/commerce-backend-stage \
|
|
154
|
-
--log-stream-name "$STREAM" \
|
|
155
|
-
--limit 100 \
|
|
156
|
-
| jq -r '.events[] | .message'
|
|
151
|
+
aws logs get-log-events --log-group-name /ecs/commerce-backend-stage --log-stream-name "$STREAM" --limit 100 | jq -r '.events[] | .message'
|
|
157
152
|
```
|
|
158
153
|
|
|
159
154
|
### Prod 环境
|
|
@@ -170,13 +165,9 @@ aws logs get-log-events \
|
|
|
170
165
|
|
|
171
166
|
**实现方式**:
|
|
172
167
|
```bash
|
|
168
|
+
# IMPORTANT: 使用单行命令,使用 --no-start-from-head 而不是 --start-from-head false
|
|
173
169
|
# 获取主服务日志
|
|
174
|
-
aws logs get-log-events
|
|
175
|
-
--log-group-name /optima/prod/commerce-backend \
|
|
176
|
-
--log-stream-name backend \
|
|
177
|
-
--limit 100 \
|
|
178
|
-
--start-from-head false \
|
|
179
|
-
| jq -r '.events[] | .message'
|
|
170
|
+
aws logs get-log-events --log-group-name /optima/prod/commerce-backend --log-stream-name backend --limit 100 --no-start-from-head | jq -r '.events[] | .message'
|
|
180
171
|
```
|
|
181
172
|
|
|
182
173
|
**可用的 log streams**:
|