mirror of
https://github.com/apache/superset.git
synced 2026-05-23 16:55:19 +00:00
Snapshots all four versioned Docusaurus sections at v6.1.0, cut from master after the version-cutting tooling (#39837), broken-internal- links fix (#40102), and user_docs rename (#40171) all landed. With the rename in place, all four sections now produce parallel-named files at the docs/ root (no more bare `versioned_docs/` outlier). Versioning behavior: lastVersion stays at current for every section, so the canonical URLs (/user-docs/..., /admin-docs/..., /developer-docs/..., /components/...) continue to render content from master. The current version is consistently labeled "Next" with an unreleased banner, and 6.1.0 is a historical pin accessible only via its explicit version segment. Component playground: previously disabled: true in versions-config.json, now enabled and versioned. Snapshot includes: - All MDX content for the four sections. - Auto-gen captured fresh: 74 database pages (engine spec metadata), ~1,800 API reference files (openapi.json), 59 component pages (Storybook stories). - Data imports frozen at cut time into snapshot-local _versioned_data/ dirs: user_docs_versioned_docs/version-6.1.0/_versioned_data/src/data/databases.json (canonical 80-database diagnostics from master, preserved by the generator's input-hash cache) admin_docs_versioned_docs/version-6.1.0/_versioned_data/data/countries.json admin_docs_versioned_docs/version-6.1.0/_versioned_data/static/feature-flags.json developer_docs_versioned_docs/version-6.1.0/_versioned_data/static/data/components.json - Import paths in deeply-nested files rewritten so they still resolve from one directory deeper inside the snapshot. - developer_docs/extensions/overview.md snapshot has the FIXED ./mcp.md form (from #40102), so the SPA-nav 404 isn't baked into the 6.1.0 version. Verified via full yarn build: exit 0, no broken links surfaced by onBrokenLinks: throw.
63 lines
2.0 KiB
Plaintext
63 lines
2.0 KiB
Plaintext
---
|
||
title: Event Logging
|
||
sidebar_position: 9
|
||
version: 1
|
||
---
|
||
|
||
# Logging
|
||
|
||
## Event Logging
|
||
|
||
Superset by default logs special action events in its internal database (DBEventLogger). These logs can be accessed
|
||
on the UI by navigating to **Security > Action Log**. You can freely customize these logs by
|
||
implementing your own event log class.
|
||
**When custom log class is enabled DBEventLogger is disabled and logs
|
||
stop being populated in UI logs view.**
|
||
To achieve both, custom log class should extend built-in DBEventLogger log class.
|
||
|
||
Here's an example of a simple JSON-to-stdout class:
|
||
|
||
```python
|
||
def log(self, user_id, action, *args, **kwargs):
|
||
records = kwargs.get('records', list())
|
||
dashboard_id = kwargs.get('dashboard_id')
|
||
slice_id = kwargs.get('slice_id')
|
||
duration_ms = kwargs.get('duration_ms')
|
||
referrer = kwargs.get('referrer')
|
||
|
||
for record in records:
|
||
log = dict(
|
||
action=action,
|
||
json=record,
|
||
dashboard_id=dashboard_id,
|
||
slice_id=slice_id,
|
||
duration_ms=duration_ms,
|
||
referrer=referrer,
|
||
user_id=user_id
|
||
)
|
||
print(json.dumps(log))
|
||
```
|
||
|
||
End by updating your config to pass in an instance of the logger you want to use:
|
||
|
||
```
|
||
EVENT_LOGGER = JSONStdOutEventLogger()
|
||
```
|
||
|
||
## StatsD Logging
|
||
|
||
Superset can be configured to log events to [StatsD](https://github.com/statsd/statsd)
|
||
if desired. Most endpoints hit are logged as
|
||
well as key events like query start and end in SQL Lab.
|
||
|
||
To setup StatsD logging, it’s a matter of configuring the logger in your `superset_config.py`.
|
||
If not already present, you need to ensure that the `statsd`-package is installed in Superset's python environment.
|
||
|
||
```python
|
||
from superset.stats_logger import StatsdStatsLogger
|
||
STATS_LOGGER = StatsdStatsLogger(host='localhost', port=8125, prefix='superset')
|
||
```
|
||
|
||
Note that it’s also possible to implement your own logger by deriving
|
||
`superset.stats_logger.BaseStatsLogger`.
|