Skip to content

Commit

Permalink
Merge branch 'main' of github.com:sanic-org/sanic
Browse files Browse the repository at this point in the history
  • Loading branch information
ahopkins committed Sep 22, 2022
2 parents 23a430c + ec158ff commit 23ce4ea
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 8 deletions.
12 changes: 12 additions & 0 deletions sanic/log.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,12 @@
"propagate": True,
"qualname": "sanic.access",
},
"sanic.server": {
"level": "INFO",
"handlers": ["console"],
"propagate": True,
"qualname": "sanic.server",
},
},
handlers={
"console": {
Expand Down Expand Up @@ -101,6 +107,12 @@ def filter(self, record: logging.LogRecord) -> bool:
"""
access_logger.addFilter(_verbosity_filter)

server_logger = logging.getLogger("sanic.server") # no cov
"""
Logger used by Sanic for server related messages
"""
logger.addFilter(_verbosity_filter)


def deprecation(message: str, version: float): # no cov
version_info = f"[DEPRECATION v{version}] "
Expand Down
8 changes: 6 additions & 2 deletions sanic/mixins/startup.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
cast,
)

from sanic.application.ext import setup_ext
from sanic.application.logo import get_logo
from sanic.application.motd import MOTD
from sanic.application.state import ApplicationServerInfo, Mode, ServerStage
Expand Down Expand Up @@ -746,9 +747,12 @@ def serve(

socks = []
sync_manager = Manager()
setup_ext(primary)
try:
main_start = primary_server_info.settings.pop("main_start", None)
main_stop = primary_server_info.settings.pop("main_stop", None)
primary_server_info.settings.pop("main_start", None)
primary_server_info.settings.pop("main_stop", None)
main_start = primary.listeners.get("main_process_start")
main_stop = primary.listeners.get("main_process_stop")
app = primary_server_info.settings.pop("app")
app.setup_loop()
loop = new_event_loop()
Expand Down
10 changes: 6 additions & 4 deletions sanic/server/runners.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
from sanic.application.ext import setup_ext
from sanic.compat import OS_IS_WINDOWS, ctrlc_workaround_for_windows
from sanic.http.http3 import SessionTicketStore, get_config
from sanic.log import error_logger, logger
from sanic.log import error_logger, server_logger
from sanic.models.server_types import Signal
from sanic.server.async_server import AsyncioServer
from sanic.server.protocols.http_protocol import Http3Protocol, HttpProtocol
Expand Down Expand Up @@ -149,12 +149,12 @@ def _setup_system_signals(
def _run_server_forever(loop, before_stop, after_stop, cleanup, unix):
pid = os.getpid()
try:
logger.info("Starting worker [%s]", pid)
server_logger.info("Starting worker [%s]", pid)
loop.run_forever()
except KeyboardInterrupt:
pass
finally:
logger.info("Stopping worker [%s]", pid)
server_logger.info("Stopping worker [%s]", pid)

loop.run_until_complete(before_stop())

Expand Down Expand Up @@ -372,7 +372,9 @@ def serve_multiple(server_settings, workers):
processes = []

def sig_handler(signal, frame):
logger.info("Received signal %s. Shutting down.", Signals(signal).name)
server_logger.info(
"Received signal %s. Shutting down.", Signals(signal).name
)
for process in processes:
os.kill(process.pid, SIGTERM)

Expand Down
6 changes: 4 additions & 2 deletions tests/test_static.py
Original file line number Diff line number Diff line change
Expand Up @@ -503,9 +503,10 @@ def test_stack_trace_on_not_found(app, static_file_directory, caplog):
counter = Counter([(r[0], r[1]) for r in caplog.record_tuples])

assert response.status == 404
assert counter[("sanic.root", logging.INFO)] == 11
assert counter[("sanic.root", logging.INFO)] == 9
assert counter[("sanic.root", logging.ERROR)] == 0
assert counter[("sanic.error", logging.ERROR)] == 0
assert counter[("sanic.server", logging.INFO)] == 2


def test_no_stack_trace_on_not_found(app, static_file_directory, caplog):
Expand All @@ -521,9 +522,10 @@ async def file_not_found(request, exception):
counter = Counter([(r[0], r[1]) for r in caplog.record_tuples])

assert response.status == 404
assert counter[("sanic.root", logging.INFO)] == 11
assert counter[("sanic.root", logging.INFO)] == 9
assert counter[("sanic.root", logging.ERROR)] == 0
assert counter[("sanic.error", logging.ERROR)] == 0
assert counter[("sanic.server", logging.INFO)] == 2
assert response.text == "No file: /static/non_existing_file.file"


Expand Down

0 comments on commit 23ce4ea

Please sign in to comment.