From 9349ad52e4c93fea65dc1cbae8da7d3c5774ce61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guillermo=20R=C3=ADos?= Date: Thu, 8 Jun 2023 17:36:13 +0200 Subject: [PATCH 1/3] Allow setting custom log_function in tornado_settings in SingleUserServer --- jupyterhub/singleuser/extension.py | 4 +++- jupyterhub/singleuser/mixins.py | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/jupyterhub/singleuser/extension.py b/jupyterhub/singleuser/extension.py index f5e2f197..fabf729a 100644 --- a/jupyterhub/singleuser/extension.py +++ b/jupyterhub/singleuser/extension.py @@ -617,7 +617,9 @@ class JupyterHubSingleUser(ExtensionApp): app.web_app.settings[ "page_config_hook" ] = app.identity_provider.page_config_hook - app.web_app.settings["log_function"] = log_request + # allow to override log_function with tornado_settings set in user config + if not app.web_app.settings.get("log_function"): + app.web_app.settings["log_function"] = log_request # add jupyterhub version header headers = app.web_app.settings.setdefault("headers", {}) headers["X-JupyterHub-Version"] = __version__ diff --git a/jupyterhub/singleuser/mixins.py b/jupyterhub/singleuser/mixins.py index 723ff961..3dfe0d5b 100755 --- a/jupyterhub/singleuser/mixins.py +++ b/jupyterhub/singleuser/mixins.py @@ -669,7 +669,9 @@ class SingleUserNotebookAppMixin(Configurable): # load the hub-related settings into the tornado settings dict self.init_hub_auth() s = self.tornado_settings - s['log_function'] = log_request + # allow to override log_function with tornado_settings set in user config + if not s.get('log_function'): + s['log_function'] = log_request s['user'] = self.user s['group'] = self.group s['hub_prefix'] = self.hub_prefix From cf21933a1d191d193014b15763f175eb1412e28f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guillermo=20R=C3=ADos?= Date: Fri, 9 Jun 2023 17:27:38 +0200 Subject: [PATCH 2/3] check for log_function in tornado_settings, not in web_app.settings --- jupyterhub/singleuser/extension.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jupyterhub/singleuser/extension.py b/jupyterhub/singleuser/extension.py index fabf729a..3859b6a9 100644 --- a/jupyterhub/singleuser/extension.py +++ b/jupyterhub/singleuser/extension.py @@ -617,8 +617,8 @@ class JupyterHubSingleUser(ExtensionApp): app.web_app.settings[ "page_config_hook" ] = app.identity_provider.page_config_hook - # allow to override log_function with tornado_settings set in user config - if not app.web_app.settings.get("log_function"): + # if the user has configured a log function in the tornado settings, do not override it + if not 'log_function' in app.config.ServerApp.get('tornado_settings', {}): app.web_app.settings["log_function"] = log_request # add jupyterhub version header headers = app.web_app.settings.setdefault("headers", {}) From b71d1543ca2368672b740c96ca8ea741cfe57048 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guillermo=20R=C3=ADos?= Date: Fri, 9 Jun 2023 17:28:32 +0200 Subject: [PATCH 3/3] use setdefault --- jupyterhub/singleuser/mixins.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/jupyterhub/singleuser/mixins.py b/jupyterhub/singleuser/mixins.py index 3dfe0d5b..8ab43d36 100755 --- a/jupyterhub/singleuser/mixins.py +++ b/jupyterhub/singleuser/mixins.py @@ -669,9 +669,8 @@ class SingleUserNotebookAppMixin(Configurable): # load the hub-related settings into the tornado settings dict self.init_hub_auth() s = self.tornado_settings - # allow to override log_function with tornado_settings set in user config - if not s.get('log_function'): - s['log_function'] = log_request + # if the user has configured a log function in the tornado settings, do not override it + s.setdefault('log_function', log_request) s['user'] = self.user s['group'] = self.group s['hub_prefix'] = self.hub_prefix