f0f81ec458
* Add ability to log all exceptions * Fix linting 🙄 * Remove shorthand * Make `ErrorHandler.log` backwards-compat * Ignore mypy error * Don't store `noisy_exceptions` attribute in app * Added tests * Store noisy exceptions setting in config * Default to not-noisy if config key not available * Add CLI tests for `noisy-exceptions` * Remove debugging line I left in 😅 * Fix tests Co-authored-by: Adam Hopkins <admhpkns@gmail.com>
38 lines
815 B
Python
38 lines
815 B
Python
import json
|
|
import logging
|
|
|
|
from sanic import Sanic, text
|
|
from sanic.log import LOGGING_CONFIG_DEFAULTS, logger
|
|
|
|
|
|
LOGGING_CONFIG = {**LOGGING_CONFIG_DEFAULTS}
|
|
LOGGING_CONFIG["formatters"]["generic"]["format"] = "%(message)s"
|
|
LOGGING_CONFIG["loggers"]["sanic.root"]["level"] = "DEBUG"
|
|
|
|
app = Sanic(__name__, log_config=LOGGING_CONFIG)
|
|
|
|
|
|
@app.get("/")
|
|
async def handler(request):
|
|
return text(request.ip)
|
|
|
|
|
|
@app.before_server_start
|
|
async def app_info_dump(app: Sanic, _):
|
|
app_data = {
|
|
"access_log": app.config.ACCESS_LOG,
|
|
"auto_reload": app.auto_reload,
|
|
"debug": app.debug,
|
|
"noisy_exceptions": app.config.NOISY_EXCEPTIONS,
|
|
}
|
|
logger.info(json.dumps(app_data))
|
|
|
|
|
|
@app.after_server_start
|
|
async def shutdown(app: Sanic, _):
|
|
app.stop()
|
|
|
|
|
|
def create_app():
|
|
return app
|