superset-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From b...@apache.org
Subject [incubator-superset] branch master updated: Refactor ConsoleLog (#7428)
Date Wed, 08 May 2019 20:05:15 GMT
This is an automated email from the ASF dual-hosted git repository.

beto pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-superset.git


The following commit(s) were added to refs/heads/master by this push:
     new ef13500  Refactor ConsoleLog (#7428)
ef13500 is described below

commit ef13500d1ae7052b22c920fb1ab0c4bcb826a101
Author: Beto Dealmeida <roberto@dealmeida.net>
AuthorDate: Wed May 8 13:05:01 2019 -0700

    Refactor ConsoleLog (#7428)
---
 CONTRIBUTING.md | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 4fc9057..e620e6a 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -326,6 +326,31 @@ cd superset
 FLASK_ENV=development flask run -p 8088 --with-threads --reload --debugger
 ```
 
+#### Logging to the browser console
+
+This feature is only available on Python 3. When debugging your application, you can have
the server logs sent directly to the browser console using the [ConsoleLog](https://github.com/betodealmeida/consolelog)
package. You need to mutate the app, by adding the following to your `config.py` or `superset_config.py`:
+
+```python
+from console_log import ConsoleLog
+
+def FLASK_APP_MUTATOR(app):
+    app.wsgi_app = ConsoleLog(app.wsgi_app, app.logger)
+```
+
+Then make sure you run your WSGI server using the right worker type:
+
+```bash
+FLASK_ENV=development gunicorn superset:app -k "geventwebsocket.gunicorn.workers.GeventWebSocketWorker"
-b 127.0.0.1:8088 --reload
+```
+
+You can log anything to the browser console, including objects:
+
+```python
+from superset import app
+app.logger.error('An exception occurred!')
+app.logger.info(form_data)
+```
+
 ### Frontend Assets
 
 Frontend assets (JavaScript, CSS, and images) must be compiled in order to properly display
the web UI. The `superset/assets` directory contains all NPM-managed front end assets. Note
that there are additional frontend assets bundled with Flask-Appbuilder (e.g. jQuery and bootstrap);
these are not managed by NPM, and may be phased out in the future.


Mime
View raw message