diff --git a/CHANGES/2615.feature b/CHANGES/2615.feature new file mode 100644 index 00000000000..1afdeea8ce5 --- /dev/null +++ b/CHANGES/2615.feature @@ -0,0 +1 @@ +Add param access_log_class to web.run_app function diff --git a/CONTRIBUTORS.txt b/CONTRIBUTORS.txt index b57b76924db..f60411588f9 100644 --- a/CONTRIBUTORS.txt +++ b/CONTRIBUTORS.txt @@ -202,6 +202,7 @@ Will McGugan Willem de Groot Wilson Ong Wei Lin +Weiwei Wang Yannick Koechlin Yannick PĂ©roux Yegor Roganov diff --git a/aiohttp/web.py b/aiohttp/web.py index 199319a25aa..87bdb89586e 100644 --- a/aiohttp/web.py +++ b/aiohttp/web.py @@ -5,8 +5,8 @@ from collections import Iterable from importlib import import_module -from . import (web_exceptions, web_fileresponse, web_middlewares, web_protocol, - web_request, web_response, web_runner, web_server, +from . import (helpers, web_exceptions, web_fileresponse, web_middlewares, + web_protocol, web_request, web_response, web_runner, web_server, web_urldispatcher, web_ws) from .http import HttpVersion # noqa from .log import access_logger @@ -38,12 +38,14 @@ def run_app(app, *, host=None, port=None, path=None, sock=None, shutdown_timeout=60.0, ssl_context=None, - print=print, backlog=128, access_log_format=None, - access_log=access_logger, handle_signals=True): + print=print, backlog=128, access_log_class=helpers.AccessLogger, + access_log_format=None, access_log=access_logger, + handle_signals=True): """Run an app locally""" loop = asyncio.get_event_loop() runner = AppRunner(app, handle_signals=handle_signals, + access_log_class=access_log_class, access_log_format=access_log_format, access_log=access_log) diff --git a/docs/web_reference.rst b/docs/web_reference.rst index f30a44f438c..1926806f8df 100644 --- a/docs/web_reference.rst +++ b/docs/web_reference.rst @@ -2270,6 +2270,7 @@ Utilities .. function:: run_app(app, *, host=None, port=None, path=None, \ sock=None, shutdown_timeout=60.0, \ ssl_context=None, print=print, backlog=128, \ + access_log_class=aiohttp.helpers.AccessLogger, \ access_log_format=None, \ access_log=aiohttp.log.access_logger, \ handle_signals=True) @@ -2330,6 +2331,10 @@ Utilities system will allow before refusing new connections (``128`` by default). + :param access_log_class: class for `access_logger`. Default: + :data:`aiohttp.helpers.AccessLogger`. + Must to be a subclass of :class:`aiohttp.abc.AbstractAccessLogger`. + :param access_log: :class:`logging.Logger` instance used for saving access logs. Use ``None`` for disabling logs for sake of speedup. @@ -2341,6 +2346,9 @@ Utilities :param bool handle_signals: override signal TERM handling to gracefully exit the application. + .. versionadded:: 3.0 + + Support *access_log_class* parameter. Constants ---------