diff --git a/.gitignore b/.gitignore
index 0549ae86..73e923d3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,5 +14,3 @@ settings.py
docs/_build/
docs/_api/
build/*
-access.log
-error.log
diff --git a/docs/sanic/logging.md b/docs/sanic/logging.md
index be2aa9b3..0fd9c75c 100644
--- a/docs/sanic/logging.md
+++ b/docs/sanic/logging.md
@@ -76,13 +76,6 @@ By default, log_config parameter is set to use sanic.config.LOGGING dictionary f
(Notice that in Docker you have to enable everything by yourself)
-- accessTimedRotatingFile (using [logging.handlers.TimedRotatingFileHandler](https://docs.python.org/3/library/logging.handlers.html#logging.handlers.TimedRotatingFileHandler))
- For requests information logging to file with daily rotation support.
-
-
-- errorTimedRotatingFile (using [logging.handlers.TimedRotatingFileHandler](https://docs.python.org/3/library/logging.handlers.html#logging.handlers.TimedRotatingFileHandler))
- For error message and traceback logging to file with daily rotation support.
-
And `filters`:
- accessFilter (using sanic.log.DefaultFilter)
diff --git a/examples/plotly_example/plotlyjs_example.py b/examples/plotly_example/plotlyjs_example.py
index f536067c..d32491a6 100644
--- a/examples/plotly_example/plotlyjs_example.py
+++ b/examples/plotly_example/plotlyjs_example.py
@@ -1,85 +1,25 @@
from sanic import Sanic
-
-from sanic_session import InMemorySessionInterface
-from sanic_jinja2 import SanicJinja2
-
-import json
+from sanic.response import html
import plotly
-
-import pandas as pd
-import numpy as np
+import plotly.graph_objs as go
app = Sanic(__name__)
-jinja = SanicJinja2(app)
-session = InMemorySessionInterface(cookie_name=app.name, prefix=app.name)
-
-@app.middleware('request')
-async def print_on_request(request):
- print(request.headers)
- await session.open(request)
-
-@app.middleware('response')
-async def print_on_response(request, response):
- await session.save(request, response)
-
-
@app.route('/')
async def index(request):
- rng = pd.date_range('1/1/2011', periods=7500, freq='H')
- ts = pd.Series(np.random.randn(len(rng)), index=rng)
+ trace1 = go.Scatter(
+ x=[0, 1, 2, 3, 4, 5],
+ y=[1.5, 1, 1.3, 0.7, 0.8, 0.9]
+ )
+ trace2 = go.Bar(
+ x=[0, 1, 2, 3, 4, 5],
+ y=[1, 0.5, 0.7, -1.2, 0.3, 0.4]
+ )
- graphs = [
- dict(
- data=[
- dict(
- x=[1, 2, 3],
- y=[10, 20, 30],
- type='scatter'
- ),
- ],
- layout=dict(
- title='first graph'
- )
- ),
-
- dict(
- data=[
- dict(
- x=[1, 3, 5],
- y=[10, 50, 30],
- type='bar'
- ),
- ],
- layout=dict(
- title='second graph'
- )
- ),
-
- dict(
- data=[
- dict(
- x=ts.index, # Can use the pandas data structures directly
- y=ts
- )
- ]
- )
- ]
-
- # Add "ids" to each of the graphs to pass up to the client
- # for templating
- ids = ['graph-{}'.format(i) for i, _ in enumerate(graphs)]
-
- # Convert the figures to JSON
- # PlotlyJSONEncoder appropriately converts pandas, datetime, etc
- # objects to their JSON equivalents
- graphJSON = json.dumps(graphs, cls=plotly.utils.PlotlyJSONEncoder)
-
- return jinja.render('index.html', request,
- ids=ids,
- graphJSON=graphJSON)
+ data = [trace1, trace2]
+ return html(plotly.offline.plot(data, auto_open=False, output_type='div'))
if __name__ == '__main__':
- app.run(host='0.0.0.0', port=8000, debug=True)
\ No newline at end of file
+ app.run(host='0.0.0.0', port=8000, debug=True)
diff --git a/examples/plotly_example/requirements.txt b/examples/plotly_example/requirements.txt
index 91875907..8e1e92c2 100644
--- a/examples/plotly_example/requirements.txt
+++ b/examples/plotly_example/requirements.txt
@@ -1,5 +1,2 @@
-pandas==0.19.2
-plotly==2.0.7
-sanic==0.5.0
-sanic-jinja2==0.5.1
-sanic-session==0.1.3
\ No newline at end of file
+plotly>=2.0.7
+sanic>=0.5.0
\ No newline at end of file
diff --git a/examples/plotly_example/templates/index.html b/examples/plotly_example/templates/index.html
deleted file mode 100644
index e69de29b..00000000
diff --git a/sanic/config.py b/sanic/config.py
index 2f2cf49b..8ffdb6c4 100644
--- a/sanic/config.py
+++ b/sanic/config.py
@@ -77,24 +77,6 @@ LOGGING = {
'filters': ['errorFilter'],
'formatter': 'simple'
},
- 'accessTimedRotatingFile': {
- 'class': 'logging.handlers.TimedRotatingFileHandler',
- 'filters': ['accessFilter'],
- 'formatter': 'access',
- 'when': 'D',
- 'interval': 1,
- 'backupCount': 7,
- 'filename': 'access.log'
- },
- 'errorTimedRotatingFile': {
- 'class': 'logging.handlers.TimedRotatingFileHandler',
- 'filters': ['errorFilter'],
- 'when': 'D',
- 'interval': 1,
- 'backupCount': 7,
- 'filename': 'error.log',
- 'formatter': 'simple'
- }
},
'loggers': {
'sanic': {