Skip to content

Commit 2cfe07c

Browse files
committed
Move Dash logger.setLevel to init + remove now redundant startup message
1 parent f195f8a commit 2cfe07c

File tree

3 files changed

+19
-10
lines changed

3 files changed

+19
-10
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
All notable changes to `dash` will be documented in this file.
33
This project adheres to [Semantic Versioning](https://semver.org/).
44

5+
## [UNRELEASED]
6+
### Added
7+
- [#1355](https://github.com/plotly/dash/pull/1355) Removed redundant log message and consolidated logger initialization. You can now control the log level - for example suppress informational messages from Dash with `app.logger.setLevel(logging.WARNING)`.
8+
59
## [1.14.0] - 2020-07-27
610
### Added
711
- [#1343](https://github.com/plotly/dash/pull/1343) Add `title` parameter to set the

dash/dash.py

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -385,6 +385,8 @@ def __init__(
385385
if self.server is not None:
386386
self.init_app()
387387

388+
self.logger.setLevel(logging.INFO)
389+
388390
def init_app(self, app=None):
389391
"""Initialize the parts of Dash that require a flask app."""
390392
config = self.config
@@ -1351,8 +1353,6 @@ def enable_dev_tools(
13511353
if dev_tools.silence_routes_logging:
13521354
logging.getLogger("werkzeug").setLevel(logging.ERROR)
13531355

1354-
self.logger.setLevel(logging.INFO)
1355-
13561356
if dev_tools.hot_reload:
13571357
_reload = self._hot_reload
13581358
_reload.hash = generate_hash()
@@ -1624,11 +1624,5 @@ def verify_url_part(served_part, url_part, part_name):
16241624
display_url = (protocol, host, ":{}".format(port), path)
16251625

16261626
self.logger.info("Dash is running on %s://%s%s%s\n", *display_url)
1627-
self.logger.info(
1628-
" Warning: This is a development server. Do not use app.run_server"
1629-
)
1630-
self.logger.info(
1631-
" in production, use a production WSGI server like gunicorn instead.\n"
1632-
)
16331627

16341628
self.server.run(host=host, port=port, debug=debug, **flask_run_options)

tests/unit/test_configs.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import os
2+
import logging
23

34
import pytest
45
from flask import Flask
@@ -256,15 +257,25 @@ def test_port_env_fail_range(empty_environ):
256257
)
257258

258259

259-
def test_no_proxy_success(mocker, caplog, empty_environ):
260+
@pytest.mark.parametrize(
261+
"setlevel_warning", [False, True],
262+
)
263+
def test_no_proxy_success(mocker, caplog, empty_environ, setlevel_warning):
260264
app = Dash()
261265

266+
if setlevel_warning:
267+
app.logger.setLevel(logging.WARNING)
268+
262269
# mock out the run method so we don't actually start listening forever
263270
mocker.patch.object(app.server, "run")
264271

265272
app.run_server(port=8787)
266273

267-
assert "Dash is running on http://127.0.0.1:8787/\n" in caplog.text
274+
STARTUP_MESSAGE = "Dash is running on http://127.0.0.1:8787/\n"
275+
if setlevel_warning:
276+
assert caplog.text is None or STARTUP_MESSAGE not in caplog.text
277+
else:
278+
assert STARTUP_MESSAGE in caplog.text
268279

269280

270281
@pytest.mark.parametrize(

0 commit comments

Comments
 (0)