changeset 7788:3ea66ef563f2

kallithea-cli: use null handler to mute all console logging for ssh-serve Augment logger_root to use the null handler when running ssh-serve. Set the log level to CRITICAL to filter early and minimize the amount of logging sent to the null handler. It is however recommended to configure the system to use some logging facility that can handle logging for SSH access from many different processes.
author Mads Kiilerich <mads@kiilerich.com>
date Wed, 31 Jul 2019 03:15:06 +0200
parents efd088f7903b
children 75b128508fa8
files development.ini kallithea/lib/paster_commands/template.ini.mako
diffstat 2 files changed, 36 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/development.ini	Wed Jul 31 21:53:59 2019 +0200
+++ b/development.ini	Wed Jul 31 03:15:06 2019 +0200
@@ -495,3 +495,21 @@
 class = kallithea.lib.colored_formatter.ColorFormatterSql
 format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
 datefmt = %Y-%m-%d %H:%M:%S
+
+#################
+## SSH LOGGING ##
+#################
+
+# The default loggers use 'handler_console' that uses StreamHandler with
+# destination 'sys.stderr'. In the context of the SSH server process, these log
+# messages would be sent to the client, which is normally not what you want.
+# By default, when running ssh-serve, just use NullHandler and disable logging
+# completely. For other logging options, see:
+# https://docs.python.org/2/library/logging.handlers.html
+
+[ssh_serve:logger_root]
+level = CRITICAL
+handlers = null
+
+# Note: If logging is configured with other handlers, they might need similar
+# muting for ssh-serve too.
--- a/kallithea/lib/paster_commands/template.ini.mako	Wed Jul 31 21:53:59 2019 +0200
+++ b/kallithea/lib/paster_commands/template.ini.mako	Wed Jul 31 03:15:06 2019 +0200
@@ -677,3 +677,21 @@
 class = kallithea.lib.colored_formatter.ColorFormatterSql
 format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
 datefmt = %Y-%m-%d %H:%M:%S
+
+<%text>#################</%text>
+<%text>## SSH LOGGING ##</%text>
+<%text>#################</%text>
+
+# The default loggers use 'handler_console' that uses StreamHandler with
+# destination 'sys.stderr'. In the context of the SSH server process, these log
+# messages would be sent to the client, which is normally not what you want.
+# By default, when running ssh-serve, just use NullHandler and disable logging
+# completely. For other logging options, see:
+# https://docs.python.org/2/library/logging.handlers.html
+
+[ssh_serve:logger_root]
+level = CRITICAL
+handlers = null
+
+# Note: If logging is configured with other handlers, they might need similar
+# muting for ssh-serve too.