diff --git a/docs/source/settings.rst b/docs/source/settings.rst index 72db2716f..3aab71635 100644 --- a/docs/source/settings.rst +++ b/docs/source/settings.rst @@ -616,6 +616,18 @@ The Access log file to write to. ``'-'`` means log to stdout. +.. _disable-redirect-access-to-syslog: + +disable-redirect-access-to-syslog +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +* ``--disable-redirect-access-to-syslog`` +* ``False`` + +Disable redirect access logs to syslog. + +.. versionadded:: 19.8 + .. _access-log-format: access_log_format @@ -753,6 +765,11 @@ syslog Send *Gunicorn* logs to syslog. +.. versionchanged:: 19.8 + + You can now disable sending access logs by using the + :ref:`disable-redirect-access-to-syslog` setting. + .. _syslog-prefix: syslog_prefix diff --git a/gunicorn/config.py b/gunicorn/config.py index 0c2276b0e..b1ca06a17 100644 --- a/gunicorn/config.py +++ b/gunicorn/config.py @@ -1187,6 +1187,19 @@ class AccessLog(Setting): ``'-'`` means log to stdout. """ +class DisableRedirectAccessToSyslog(Setting): + name = "disable_redirect_access_to_syslog" + section = "Logging" + cli = ["--disable-redirect-access-to-syslog"] + validator = validate_bool + action = 'store_true' + default = False + desc = """\ + Disable redirect access logs to syslog. + + .. versionadded:: 19.8 + """ + class AccessLogFormat(Setting): name = "access_log_format" @@ -1349,6 +1362,11 @@ class Syslog(Setting): default = False desc = """\ Send *Gunicorn* logs to syslog. + + .. versionchanged:: 19.8 + + You can now disable sending access logs by using the + :ref:`disable-redirect-access-to-syslog` setting. """ diff --git a/gunicorn/glogging.py b/gunicorn/glogging.py index 686319ce5..571fda727 100644 --- a/gunicorn/glogging.py +++ b/gunicorn/glogging.py @@ -221,9 +221,10 @@ def setup(self, cfg): self._set_syslog_handler( self.error_log, cfg, self.syslog_fmt, "error" ) - self._set_syslog_handler( - self.access_log, cfg, self.syslog_fmt, "access" - ) + if not cfg.disable_redirect_access_to_syslog: + self._set_syslog_handler( + self.access_log, cfg, self.syslog_fmt, "access" + ) if cfg.logconfig: if os.path.exists(cfg.logconfig): @@ -316,7 +317,8 @@ def access(self, resp, req, environ, request_time): for format details """ - if not (self.cfg.accesslog or self.cfg.logconfig or self.cfg.syslog): + if not (self.cfg.accesslog or self.cfg.logconfig or + (self.cfg.syslog and not self.cfg.disable_access_log_redirection)): return # wrap atoms: