--- 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`.