Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/src/content/docs/commands/index.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -15,6 +15,7 @@ The Sentry CLI provides commands for interacting with various Sentry resources.
| [`project`](./project/) | Project operations |
| [`issue`](./issue/) | Issue tracking |
| [`event`](./event/) | Event inspection |
| [`log`](./log/) | Log viewing and streaming |
| [`api`](./api/) | Direct API access |

## Global Options
Expand Down
103 changes: 103 additions & 0 deletions docs/src/content/docs/commands/log.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
---
title: log
description: Log commands for the Sentry CLI
---

View and stream logs from Sentry projects.

## Commands

### `sentry log list`

List and stream logs from a project.

```bash
# Auto-detect from DSN or config
sentry log list

# Explicit org and project
sentry log list <org>/<project>

# Search for project across all accessible orgs
sentry log list <project>
```

**Arguments:**

| Argument | Description |
|----------|-------------|
| `<org>/<project>` | Explicit organization and project (e.g., `my-org/backend`) |
| `<project>` | Search for project by name across all accessible organizations |

**Options:**

| Option | Description |
|--------|-------------|
| `-n, --limit <n>` | Number of log entries to show (1-1000, default: 100) |
| `-q, --query <query>` | Filter query (Sentry search syntax) |
| `-f, --follow [interval]` | Stream logs in real-time (optional: poll interval in seconds, default: 2) |
| `--json` | Output as JSON |

**Examples:**

```bash
# List last 100 logs (default)
sentry log list
```

```
TIMESTAMP LEVEL MESSAGE
2024-01-20 14:22:01 info User login successful
2024-01-20 14:22:03 debug Processing request for /api/users
2024-01-20 14:22:05 error Database connection timeout
2024-01-20 14:22:06 warn Retry attempt 1 of 3

Showing 4 logs.
```

**Stream logs in real-time:**

```bash
# Stream with default 2-second poll interval
sentry log list -f

# Stream with custom 5-second poll interval
sentry log list -f 5
```

**Filter logs:**

```bash
# Show only error logs
sentry log list -q 'level:error'

# Filter by message content
sentry log list -q 'database'
```

**Limit results:**

```bash
# Show last 50 logs
sentry log list --limit 50

# Show last 500 logs
sentry log list -n 500
```

**Combine options:**

```bash
# Stream error logs from a specific project
sentry log list my-org/backend -f -q 'level:error'
```

## JSON Output

Use `--json` for machine-readable output:

```bash
sentry log list --json | jq '.[] | select(.level == "error")'
```

In streaming mode with `--json`, each log entry is output as a separate JSON object (newline-delimited JSON), making it suitable for piping to other tools.
39 changes: 39 additions & 0 deletions plugins/sentry-cli/skills/sentry-cli/SKILL.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -424,6 +424,45 @@ List logs from a project
- `-f, --follow <value> - Stream logs (optionally specify poll interval in seconds)`
- `--json - Output as JSON`

**Examples:**

```bash
# Auto-detect from DSN or config
sentry log list

# Explicit org and project
sentry log list <org>/<project>

# Search for project across all accessible orgs
sentry log list <project>

# List last 100 logs (default)
sentry log list

# Stream with default 2-second poll interval
sentry log list -f

# Stream with custom 5-second poll interval
sentry log list -f 5

# Show only error logs
sentry log list -q 'level:error'

# Filter by message content
sentry log list -q 'database'

# Show last 50 logs
sentry log list --limit 50

# Show last 500 logs
sentry log list -n 500

# Stream error logs from a specific project
sentry log list my-org/backend -f -q 'level:error'

sentry log list --json | jq '.[] | select(.level == "error")'
```

### Issues

List issues in a project
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/src/content/docs/commands/index.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -15,6 +15,7 @@ The Sentry CLI provides commands for interacting with various Sentry resources.
| [`project`](./project/) | Project operations |
| [`issue`](./issue/) | Issue tracking |
| [`event`](./event/) | Event inspection |
| [`log`](./log/) | Log viewing and streaming |
| [`api`](./api/) | Direct API access |

## Global Options
Expand Down
103 changes: 103 additions & 0 deletions docs/src/content/docs/commands/log.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
---
title: log
description: Log commands for the Sentry CLI
---

View and stream logs from Sentry projects.

## Commands

### `sentry log list`

List and stream logs from a project.

```bash
# Auto-detect from DSN or config
sentry log list

# Explicit org and project
sentry log list <org>/<project>

# Search for project across all accessible orgs
sentry log list <project>
```

**Arguments:**

| Argument | Description |
|----------|-------------|
| `<org>/<project>` | Explicit organization and project (e.g., `my-org/backend`) |
| `<project>` | Search for project by name across all accessible organizations |

**Options:**

| Option | Description |
|--------|-------------|
| `-n, --limit <n>` | Number of log entries to show (1-1000, default: 100) |
| `-q, --query <query>` | Filter query (Sentry search syntax) |
| `-f, --follow [interval]` | Stream logs in real-time (optional: poll interval in seconds, default: 2) |
| `--json` | Output as JSON |

**Examples:**

```bash
# List last 100 logs (default)
sentry log list
```

```
TIMESTAMP LEVEL MESSAGE
2024-01-20 14:22:01 info User login successful
2024-01-20 14:22:03 debug Processing request for /api/users
2024-01-20 14:22:05 error Database connection timeout
2024-01-20 14:22:06 warn Retry attempt 1 of 3

Showing 4 logs.
```

**Stream logs in real-time:**

```bash
# Stream with default 2-second poll interval
sentry log list -f

# Stream with custom 5-second poll interval
sentry log list -f 5
```

**Filter logs:**

```bash
# Show only error logs
sentry log list -q 'level:error'

# Filter by message content
sentry log list -q 'database'
```

**Limit results:**

```bash
# Show last 50 logs
sentry log list --limit 50

# Show last 500 logs
sentry log list -n 500
```

**Combine options:**

```bash
# Stream error logs from a specific project
sentry log list my-org/backend -f -q 'level:error'
```

## JSON Output

Use `--json` for machine-readable output:

```bash
sentry log list --json | jq '.[] | select(.level == "error")'
```

In streaming mode with `--json`, each log entry is output as a separate JSON object (newline-delimited JSON), making it suitable for piping to other tools.
39 changes: 39 additions & 0 deletions plugins/sentry-cli/skills/sentry-cli/SKILL.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -424,6 +424,45 @@ List logs from a project
- `-f, --follow <value> - Stream logs (optionally specify poll interval in seconds)`
- `--json - Output as JSON`

**Examples:**

```bash
# Auto-detect from DSN or config
sentry log list

# Explicit org and project
sentry log list <org>/<project>

# Search for project across all accessible orgs
sentry log list <project>

# List last 100 logs (default)
sentry log list

# Stream with default 2-second poll interval
sentry log list -f

# Stream with custom 5-second poll interval
sentry log list -f 5

# Show only error logs
sentry log list -q 'level:error'

# Filter by message content
sentry log list -q 'database'

# Show last 50 logs
sentry log list --limit 50

# Show last 500 logs
sentry log list -n 500

# Stream error logs from a specific project
sentry log list my-org/backend -f -q 'level:error'

sentry log list --json | jq '.[] | select(.level == "error")'
```

### Issues

List issues in a project
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/src/content/docs/commands/index.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -15,6 +15,7 @@ The Sentry CLI provides commands for interacting with various Sentry resources.
| [`project`](./project/) | Project operations |
| [`issue`](./issue/) | Issue tracking |
| [`event`](./event/) | Event inspection |
| [`log`](./log/) | Log viewing and streaming |
| [`api`](./api/) | Direct API access |

## Global Options
Expand Down
103 changes: 103 additions & 0 deletions docs/src/content/docs/commands/log.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
---
title: log
description: Log commands for the Sentry CLI
---

View and stream logs from Sentry projects.

## Commands

### `sentry log list`

List and stream logs from a project.

```bash
# Auto-detect from DSN or config
sentry log list

# Explicit org and project
sentry log list <org>/<project>

# Search for project across all accessible orgs
sentry log list <project>
```

**Arguments:**

| Argument | Description |
|----------|-------------|
| `<org>/<project>` | Explicit organization and project (e.g., `my-org/backend`) |
| `<project>` | Search for project by name across all accessible organizations |

**Options:**

| Option | Description |
|--------|-------------|
| `-n, --limit <n>` | Number of log entries to show (1-1000, default: 100) |
| `-q, --query <query>` | Filter query (Sentry search syntax) |
| `-f, --follow [interval]` | Stream logs in real-time (optional: poll interval in seconds, default: 2) |
| `--json` | Output as JSON |

**Examples:**

```bash
# List last 100 logs (default)
sentry log list
```

```
TIMESTAMP LEVEL MESSAGE
2024-01-20 14:22:01 info User login successful
2024-01-20 14:22:03 debug Processing request for /api/users
2024-01-20 14:22:05 error Database connection timeout
2024-01-20 14:22:06 warn Retry attempt 1 of 3

Showing 4 logs.
```

**Stream logs in real-time:**

```bash
# Stream with default 2-second poll interval
sentry log list -f

# Stream with custom 5-second poll interval
sentry log list -f 5
```

**Filter logs:**

```bash
# Show only error logs
sentry log list -q 'level:error'

# Filter by message content
sentry log list -q 'database'
```

**Limit results:**

```bash
# Show last 50 logs
sentry log list --limit 50

# Show last 500 logs
sentry log list -n 500
```

**Combine options:**

```bash
# Stream error logs from a specific project
sentry log list my-org/backend -f -q 'level:error'
```

## JSON Output

Use `--json` for machine-readable output:

```bash
sentry log list --json | jq '.[] | select(.level == "error")'
```

In streaming mode with `--json`, each log entry is output as a separate JSON object (newline-delimited JSON), making it suitable for piping to other tools.
39 changes: 39 additions & 0 deletions plugins/sentry-cli/skills/sentry-cli/SKILL.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -424,6 +424,45 @@ List logs from a project
- `-f, --follow <value> - Stream logs (optionally specify poll interval in seconds)`
- `--json - Output as JSON`

**Examples:**

```bash
# Auto-detect from DSN or config
sentry log list

# Explicit org and project
sentry log list <org>/<project>

# Search for project across all accessible orgs
sentry log list <project>

# List last 100 logs (default)
sentry log list

# Stream with default 2-second poll interval
sentry log list -f

# Stream with custom 5-second poll interval
sentry log list -f 5

# Show only error logs
sentry log list -q 'level:error'

# Filter by message content
sentry log list -q 'database'

# Show last 50 logs
sentry log list --limit 50

# Show last 500 logs
sentry log list -n 500

# Stream error logs from a specific project
sentry log list my-org/backend -f -q 'level:error'

sentry log list --json | jq '.[] | select(.level == "error")'
```

### Issues

List issues in a project
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/src/content/docs/commands/index.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -15,6 +15,7 @@ The Sentry CLI provides commands for interacting with various Sentry resources.
| [`project`](./project/) | Project operations |
| [`issue`](./issue/) | Issue tracking |
| [`event`](./event/) | Event inspection |
| [`log`](./log/) | Log viewing and streaming |
| [`api`](./api/) | Direct API access |

## Global Options
Expand Down
103 changes: 103 additions & 0 deletions docs/src/content/docs/commands/log.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
---
title: log
description: Log commands for the Sentry CLI
---

View and stream logs from Sentry projects.

## Commands

### `sentry log list`

List and stream logs from a project.

```bash
# Auto-detect from DSN or config
sentry log list

# Explicit org and project
sentry log list <org>/<project>

# Search for project across all accessible orgs
sentry log list <project>
```

**Arguments:**

| Argument | Description |
|----------|-------------|
| `<org>/<project>` | Explicit organization and project (e.g., `my-org/backend`) |
| `<project>` | Search for project by name across all accessible organizations |

**Options:**

| Option | Description |
|--------|-------------|
| `-n, --limit <n>` | Number of log entries to show (1-1000, default: 100) |
| `-q, --query <query>` | Filter query (Sentry search syntax) |
| `-f, --follow [interval]` | Stream logs in real-time (optional: poll interval in seconds, default: 2) |
| `--json` | Output as JSON |

**Examples:**

```bash
# List last 100 logs (default)
sentry log list
```

```
TIMESTAMP LEVEL MESSAGE
2024-01-20 14:22:01 info User login successful
2024-01-20 14:22:03 debug Processing request for /api/users
2024-01-20 14:22:05 error Database connection timeout
2024-01-20 14:22:06 warn Retry attempt 1 of 3

Showing 4 logs.
```

**Stream logs in real-time:**

```bash
# Stream with default 2-second poll interval
sentry log list -f

# Stream with custom 5-second poll interval
sentry log list -f 5
```

**Filter logs:**

```bash
# Show only error logs
sentry log list -q 'level:error'

# Filter by message content
sentry log list -q 'database'
```

**Limit results:**

```bash
# Show last 50 logs
sentry log list --limit 50

# Show last 500 logs
sentry log list -n 500
```

**Combine options:**

```bash
# Stream error logs from a specific project
sentry log list my-org/backend -f -q 'level:error'
```

## JSON Output

Use `--json` for machine-readable output:

```bash
sentry log list --json | jq '.[] | select(.level == "error")'
```

In streaming mode with `--json`, each log entry is output as a separate JSON object (newline-delimited JSON), making it suitable for piping to other tools.
39 changes: 39 additions & 0 deletions plugins/sentry-cli/skills/sentry-cli/SKILL.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -424,6 +424,45 @@ List logs from a project
- `-f, --follow <value> - Stream logs (optionally specify poll interval in seconds)`
- `--json - Output as JSON`

**Examples:**

```bash
# Auto-detect from DSN or config
sentry log list

# Explicit org and project
sentry log list <org>/<project>

# Search for project across all accessible orgs
sentry log list <project>

# List last 100 logs (default)
sentry log list

# Stream with default 2-second poll interval
sentry log list -f

# Stream with custom 5-second poll interval
sentry log list -f 5

# Show only error logs
sentry log list -q 'level:error'

# Filter by message content
sentry log list -q 'database'

# Show last 50 logs
sentry log list --limit 50

# Show last 500 logs
sentry log list -n 500

# Stream error logs from a specific project
sentry log list my-org/backend -f -q 'level:error'

sentry log list --json | jq '.[] | select(.level == "error")'
```

### Issues

List issues in a project
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/src/content/docs/commands/index.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -15,6 +15,7 @@ The Sentry CLI provides commands for interacting with various Sentry resources.
| [`project`](./project/) | Project operations |
| [`issue`](./issue/) | Issue tracking |
| [`event`](./event/) | Event inspection |
| [`log`](./log/) | Log viewing and streaming |
| [`api`](./api/) | Direct API access |

## Global Options
Expand Down
103 changes: 103 additions & 0 deletions docs/src/content/docs/commands/log.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
---
title: log
description: Log commands for the Sentry CLI
---

View and stream logs from Sentry projects.

## Commands

### `sentry log list`

List and stream logs from a project.

```bash
# Auto-detect from DSN or config
sentry log list

# Explicit org and project
sentry log list <org>/<project>

# Search for project across all accessible orgs
sentry log list <project>
```

**Arguments:**

| Argument | Description |
|----------|-------------|
| `<org>/<project>` | Explicit organization and project (e.g., `my-org/backend`) |
| `<project>` | Search for project by name across all accessible organizations |

**Options:**

| Option | Description |
|--------|-------------|
| `-n, --limit <n>` | Number of log entries to show (1-1000, default: 100) |
| `-q, --query <query>` | Filter query (Sentry search syntax) |
| `-f, --follow [interval]` | Stream logs in real-time (optional: poll interval in seconds, default: 2) |
| `--json` | Output as JSON |

**Examples:**

```bash
# List last 100 logs (default)
sentry log list
```

```
TIMESTAMP LEVEL MESSAGE
2024-01-20 14:22:01 info User login successful
2024-01-20 14:22:03 debug Processing request for /api/users
2024-01-20 14:22:05 error Database connection timeout
2024-01-20 14:22:06 warn Retry attempt 1 of 3

Showing 4 logs.
```

**Stream logs in real-time:**

```bash
# Stream with default 2-second poll interval
sentry log list -f

# Stream with custom 5-second poll interval
sentry log list -f 5
```

**Filter logs:**

```bash
# Show only error logs
sentry log list -q 'level:error'

# Filter by message content
sentry log list -q 'database'
```

**Limit results:**

```bash
# Show last 50 logs
sentry log list --limit 50

# Show last 500 logs
sentry log list -n 500
```

**Combine options:**

```bash
# Stream error logs from a specific project
sentry log list my-org/backend -f -q 'level:error'
```

## JSON Output

Use `--json` for machine-readable output:

```bash
sentry log list --json | jq '.[] | select(.level == "error")'
```

In streaming mode with `--json`, each log entry is output as a separate JSON object (newline-delimited JSON), making it suitable for piping to other tools.
39 changes: 39 additions & 0 deletions plugins/sentry-cli/skills/sentry-cli/SKILL.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -424,6 +424,45 @@ List logs from a project
- `-f, --follow <value> - Stream logs (optionally specify poll interval in seconds)`
- `--json - Output as JSON`

**Examples:**

```bash
# Auto-detect from DSN or config
sentry log list

# Explicit org and project
sentry log list <org>/<project>

# Search for project across all accessible orgs
sentry log list <project>

# List last 100 logs (default)
sentry log list

# Stream with default 2-second poll interval
sentry log list -f

# Stream with custom 5-second poll interval
sentry log list -f 5

# Show only error logs
sentry log list -q 'level:error'

# Filter by message content
sentry log list -q 'database'

# Show last 50 logs
sentry log list --limit 50

# Show last 500 logs
sentry log list -n 500

# Stream error logs from a specific project
sentry log list my-org/backend -f -q 'level:error'

sentry log list --json | jq '.[] | select(.level == "error")'
```

### Issues

List issues in a project
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/src/content/docs/commands/index.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -15,6 +15,7 @@ The Sentry CLI provides commands for interacting with various Sentry resources.
| [`project`](./project/) | Project operations |
| [`issue`](./issue/) | Issue tracking |
| [`event`](./event/) | Event inspection |
| [`log`](./log/) | Log viewing and streaming |
| [`api`](./api/) | Direct API access |

## Global Options
Expand Down
103 changes: 103 additions & 0 deletions docs/src/content/docs/commands/log.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
---
title: log
description: Log commands for the Sentry CLI
---

View and stream logs from Sentry projects.

## Commands

### `sentry log list`

List and stream logs from a project.

```bash
# Auto-detect from DSN or config
sentry log list

# Explicit org and project
sentry log list <org>/<project>

# Search for project across all accessible orgs
sentry log list <project>
```

**Arguments:**

| Argument | Description |
|----------|-------------|
| `<org>/<project>` | Explicit organization and project (e.g., `my-org/backend`) |
| `<project>` | Search for project by name across all accessible organizations |

**Options:**

| Option | Description |
|--------|-------------|
| `-n, --limit <n>` | Number of log entries to show (1-1000, default: 100) |
| `-q, --query <query>` | Filter query (Sentry search syntax) |
| `-f, --follow [interval]` | Stream logs in real-time (optional: poll interval in seconds, default: 2) |
| `--json` | Output as JSON |

**Examples:**

```bash
# List last 100 logs (default)
sentry log list
```

```
TIMESTAMP LEVEL MESSAGE
2024-01-20 14:22:01 info User login successful
2024-01-20 14:22:03 debug Processing request for /api/users
2024-01-20 14:22:05 error Database connection timeout
2024-01-20 14:22:06 warn Retry attempt 1 of 3

Showing 4 logs.
```

**Stream logs in real-time:**

```bash
# Stream with default 2-second poll interval
sentry log list -f

# Stream with custom 5-second poll interval
sentry log list -f 5
```

**Filter logs:**

```bash
# Show only error logs
sentry log list -q 'level:error'

# Filter by message content
sentry log list -q 'database'
```

**Limit results:**

```bash
# Show last 50 logs
sentry log list --limit 50

# Show last 500 logs
sentry log list -n 500
```

**Combine options:**

```bash
# Stream error logs from a specific project
sentry log list my-org/backend -f -q 'level:error'
```

## JSON Output

Use `--json` for machine-readable output:

```bash
sentry log list --json | jq '.[] | select(.level == "error")'
```

In streaming mode with `--json`, each log entry is output as a separate JSON object (newline-delimited JSON), making it suitable for piping to other tools.
39 changes: 39 additions & 0 deletions plugins/sentry-cli/skills/sentry-cli/SKILL.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -424,6 +424,45 @@ List logs from a project
- `-f, --follow <value> - Stream logs (optionally specify poll interval in seconds)`
- `--json - Output as JSON`

**Examples:**

```bash
# Auto-detect from DSN or config
sentry log list

# Explicit org and project
sentry log list <org>/<project>

# Search for project across all accessible orgs
sentry log list <project>

# List last 100 logs (default)
sentry log list

# Stream with default 2-second poll interval
sentry log list -f

# Stream with custom 5-second poll interval
sentry log list -f 5

# Show only error logs
sentry log list -q 'level:error'

# Filter by message content
sentry log list -q 'database'

# Show last 50 logs
sentry log list --limit 50

# Show last 500 logs
sentry log list -n 500

# Stream error logs from a specific project
sentry log list my-org/backend -f -q 'level:error'

sentry log list --json | jq '.[] | select(.level == "error")'
```

### Issues

List issues in a project
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/src/content/docs/commands/index.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -15,6 +15,7 @@ The Sentry CLI provides commands for interacting with various Sentry resources.
| [`project`](./project/) | Project operations |
| [`issue`](./issue/) | Issue tracking |
| [`event`](./event/) | Event inspection |
| [`log`](./log/) | Log viewing and streaming |
| [`api`](./api/) | Direct API access |

## Global Options
Expand Down
103 changes: 103 additions & 0 deletions docs/src/content/docs/commands/log.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
---
title: log
description: Log commands for the Sentry CLI
---

View and stream logs from Sentry projects.

## Commands

### `sentry log list`

List and stream logs from a project.

```bash
# Auto-detect from DSN or config
sentry log list

# Explicit org and project
sentry log list <org>/<project>

# Search for project across all accessible orgs
sentry log list <project>
```

**Arguments:**

| Argument | Description |
|----------|-------------|
| `<org>/<project>` | Explicit organization and project (e.g., `my-org/backend`) |
| `<project>` | Search for project by name across all accessible organizations |

**Options:**

| Option | Description |
|--------|-------------|
| `-n, --limit <n>` | Number of log entries to show (1-1000, default: 100) |
| `-q, --query <query>` | Filter query (Sentry search syntax) |
| `-f, --follow [interval]` | Stream logs in real-time (optional: poll interval in seconds, default: 2) |
| `--json` | Output as JSON |

**Examples:**

```bash
# List last 100 logs (default)
sentry log list
```

```
TIMESTAMP LEVEL MESSAGE
2024-01-20 14:22:01 info User login successful
2024-01-20 14:22:03 debug Processing request for /api/users
2024-01-20 14:22:05 error Database connection timeout
2024-01-20 14:22:06 warn Retry attempt 1 of 3

Showing 4 logs.
```

**Stream logs in real-time:**

```bash
# Stream with default 2-second poll interval
sentry log list -f

# Stream with custom 5-second poll interval
sentry log list -f 5
```

**Filter logs:**

```bash
# Show only error logs
sentry log list -q 'level:error'

# Filter by message content
sentry log list -q 'database'
```

**Limit results:**

```bash
# Show last 50 logs
sentry log list --limit 50

# Show last 500 logs
sentry log list -n 500
```

**Combine options:**

```bash
# Stream error logs from a specific project
sentry log list my-org/backend -f -q 'level:error'
```

## JSON Output

Use `--json` for machine-readable output:

```bash
sentry log list --json | jq '.[] | select(.level == "error")'
```

In streaming mode with `--json`, each log entry is output as a separate JSON object (newline-delimited JSON), making it suitable for piping to other tools.
39 changes: 39 additions & 0 deletions plugins/sentry-cli/skills/sentry-cli/SKILL.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -424,6 +424,45 @@ List logs from a project
- `-f, --follow <value> - Stream logs (optionally specify poll interval in seconds)`
- `--json - Output as JSON`

**Examples:**

```bash
# Auto-detect from DSN or config
sentry log list

# Explicit org and project
sentry log list <org>/<project>

# Search for project across all accessible orgs
sentry log list <project>

# List last 100 logs (default)
sentry log list

# Stream with default 2-second poll interval
sentry log list -f

# Stream with custom 5-second poll interval
sentry log list -f 5

# Show only error logs
sentry log list -q 'level:error'

# Filter by message content
sentry log list -q 'database'

# Show last 50 logs
sentry log list --limit 50

# Show last 500 logs
sentry log list -n 500

# Stream error logs from a specific project
sentry log list my-org/backend -f -q 'level:error'

sentry log list --json | jq '.[] | select(.level == "error")'
```

### Issues

List issues in a project
Expand Down
Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/src/content/docs/commands/index.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -15,6 +15,7 @@ The Sentry CLI provides commands for interacting with various Sentry resources.
| [`project`](./project/) | Project operations |
| [`issue`](./issue/) | Issue tracking |
| [`event`](./event/) | Event inspection |
| [`log`](./log/) | Log viewing and streaming |
| [`api`](./api/) | Direct API access |

## Global Options
Expand Down
103 changes: 103 additions & 0 deletions docs/src/content/docs/commands/log.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
---
title: log
description: Log commands for the Sentry CLI
---

View and stream logs from Sentry projects.

## Commands

### `sentry log list`

List and stream logs from a project.

```bash
# Auto-detect from DSN or config
sentry log list

# Explicit org and project
sentry log list <org>/<project>

# Search for project across all accessible orgs
sentry log list <project>
```

**Arguments:**

| Argument | Description |
|----------|-------------|
| `<org>/<project>` | Explicit organization and project (e.g., `my-org/backend`) |
| `<project>` | Search for project by name across all accessible organizations |

**Options:**

| Option | Description |
|--------|-------------|
| `-n, --limit <n>` | Number of log entries to show (1-1000, default: 100) |
| `-q, --query <query>` | Filter query (Sentry search syntax) |
| `-f, --follow [interval]` | Stream logs in real-time (optional: poll interval in seconds, default: 2) |
| `--json` | Output as JSON |

**Examples:**

```bash
# List last 100 logs (default)
sentry log list
```

```
TIMESTAMP LEVEL MESSAGE
2024-01-20 14:22:01 info User login successful
2024-01-20 14:22:03 debug Processing request for /api/users
2024-01-20 14:22:05 error Database connection timeout
2024-01-20 14:22:06 warn Retry attempt 1 of 3

Showing 4 logs.
```

**Stream logs in real-time:**

```bash
# Stream with default 2-second poll interval
sentry log list -f

# Stream with custom 5-second poll interval
sentry log list -f 5
```

**Filter logs:**

```bash
# Show only error logs
sentry log list -q 'level:error'

# Filter by message content
sentry log list -q 'database'
```

**Limit results:**

```bash
# Show last 50 logs
sentry log list --limit 50

# Show last 500 logs
sentry log list -n 500
```

**Combine options:**

```bash
# Stream error logs from a specific project
sentry log list my-org/backend -f -q 'level:error'
```

## JSON Output

Use `--json` for machine-readable output:

```bash
sentry log list --json | jq '.[] | select(.level == "error")'
```

In streaming mode with `--json`, each log entry is output as a separate JSON object (newline-delimited JSON), making it suitable for piping to other tools.
39 changes: 39 additions & 0 deletions plugins/sentry-cli/skills/sentry-cli/SKILL.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -424,6 +424,45 @@ List logs from a project
- `-f, --follow <value> - Stream logs (optionally specify poll interval in seconds)`
- `--json - Output as JSON`

**Examples:**

```bash
# Auto-detect from DSN or config
sentry log list

# Explicit org and project
sentry log list <org>/<project>

# Search for project across all accessible orgs
sentry log list <project>

# List last 100 logs (default)
sentry log list

# Stream with default 2-second poll interval
sentry log list -f

# Stream with custom 5-second poll interval
sentry log list -f 5

# Show only error logs
sentry log list -q 'level:error'

# Filter by message content
sentry log list -q 'database'

# Show last 50 logs
sentry log list --limit 50

# Show last 500 logs
sentry log list -n 500

# Stream error logs from a specific project
sentry log list my-org/backend -f -q 'level:error'

sentry log list --json | jq '.[] | select(.level == "error")'
```

### Issues

List issues in a project
Expand Down
Loading