Bokeh's log level set on import affects Panel/Bokeh apps
- Dominant language
- Python
- Stars
- 1.7k
- Forks
- 778
- Avg merge
- 2h 50m
- Merged PRs (30d)
- 3
Description
**Describe the issue**:
[Panel](https://github.com/holoviz/panel) is a Python dashboarding framework that builds on and extends Bokeh. We have observed (https://github.com/holoviz/panel/issues/2302) that importing `distributed` in a Panel application affects the logs emitted by Bokeh.
The issue is that on import `distributed` configures some loggers, including Bokeh's logger that is set to the `ERROR` level, while it's by default at the `INFO` level.
https://github.com/dask/distributed/blob/50700f381075c8d2be1b17dacc1b5f48dcc93a88/distributed/config.py#L215
https://github.com/dask/distributed/blob/50700f381075c8d2be1b17dacc1b5f48dcc93a88/distributed/config.py#L97-L102
I would say that setting Bokeh's logger should not be done on import but only when the Dask dashboard is launched.
**Minimal Complete Verifiable Example**:
Install panel, launch this app with `panel serve app.py` and visit it at http://localhost:5006.
```python
# app.py
import distributed
import panel as pn
pn.panel("Hello world!").servable()
```
You will get these logs printed in the console:
```
2024-07-04 15:19:44,133 Starting Bokeh server version 3.5.0rc1 (running on Tornado 6.4)
2024-07-04 15:19:44,135 User authentication hooks NOT provided (default user enabled)
2024-07-04 15:19:44,137 Bokeh app running at: http://localhost:5006/app
2024-07-04 15:19:44,137 Starting Bokeh server with process id: 75848
```
However, you should get these logs (comment out `import distributed`), with two additional lines.
```
2024-07-04 15:19:10,793 Starting Bokeh server version 3.5.0rc1 (running on Tornado 6.4)
2024-07-04 15:19:10,808 User authentication hooks NOT provided (default user enabled)
2024-07-04 15:19:10,810 Bokeh app running at: http://localhost:5006/app
2024-07-04 15:19:10,810 Starting Bokeh server with process id: 75753
2024-07-04 15:19:12,419 WebSocket connection opened
2024-07-04 15:19:12,419 ServerConnection created
```
**Anything else we need to know?**:
There's been some discussion already on this topic in 2019 when the bokeh log level set by `distributed` was decreased from CRITICAL to ERROR.
https://github.com/dask/distributed/issues/1683
https://github.com/dask/distributed/pull/3087
**Environment**:
- Dask version: 2024.6.2
- Python version: 3.12
- Operating System: MacOS
- Install method (conda, pip, source): conda
Contributor guide
Assessment
This issue has not been assessed yet.