实用程序

sanic.compat

class sanic.compat.Header

基类:multidict._multidict.CIMultiDict

同时用于请求和响应标头的容器。它是的子类 [CIMultiDict] (https://multidict.readthedocs.io/en/stable/multidict.html#cimultidictproxy)

它允许一个键有多个值,以符合HTTP规范。此外,所有密钥都是 case in-sensitive

请结账 [the MultiDict documentation] (https://multidict.readthedocs.io/en/stable/multidict.html#multidict)获取有关如何使用该对象的更多详细信息。一般来说,它的工作方式应该与常规词典非常相似。

get_all(key)

方便方法映射到 getall()

参数:

key (str) --

enum sanic.compat.UpperStrEnum(value)

基类:enum.StrEnum

不区分大小写的字符串枚举的基类。

成员类型:

str

sanic.compat.pypy_os_module_patch()

PyPy os模块缺少‘Readlink’功能,这会导致aiofiles出现问题。此解决方法将缺失的“Readlink”函数替换为“os.path.realpath”,其作用与此相同。

返回类型:

None

sanic.compat.pypy_windows_set_console_cp_patch()

Windows上的PyPy的补丁函数,它将控制台代码页设置为UTF-8编码,以允许正确处理非ASCII字符。此函数使用ctype调用Windows API函数SetConsoleCP和SetConsoleOutputCP来设置代码页。

返回类型:

None

sanic.log

enum sanic.log.Colors(value)

基类:enum.StrEnum

成员类型:

str

有效值如下所示:

END = <Colors.END: '\x1b[0m'>
BOLD = <Colors.BOLD: '\x1b[1m'>
BLUE = <Colors.BLUE: '\x1b[34m'>
GREEN = <Colors.GREEN: '\x1b[32m'>
PURPLE = <Colors.PURPLE: '\x1b[35m'>
RED = <Colors.RED: '\x1b[31m'>
SANIC = <Colors.SANIC: '\x1b[38;2;255;13;104m'>
YELLOW = <Colors.YELLOW: '\x1b[01;33m'>
class sanic.log.VerbosityFilter(name='')

基类:logging.Filter

filter(record)

确定是否要记录指定的记录。

如果应该记录记录,则返回True,否则返回False。如果认为适当,可以就地修改记录。

参数:

record (logging.LogRecord) --

返回类型:

bool

sanic.log.deprecation(message, version)

添加弃用通知

删除功能时的示例。在这种情况下,版本应至少为下一个版本+2

弃用(“有帮助的消息”,99.9)

功能已弃用但未被删除时的示例:

弃用(“帮助消息”,0)

参数:
  • message (str) -- 通知所传达的信息

  • version (float) -- 将删除该功能时的版本。如果它没有被删除,则将版本设置为0。

sanic.log.LOGGING_CONFIG_DEFAULTS: Dict[str, Any] = {'disable_existing_loggers': False, 'formatters': {'access': {'class': 'logging.Formatter', 'datefmt': '[%Y-%m-%d %H:%M:%S %z]', 'format': '%(asctime)s - (%(name)s)[%(levelname)s][%(host)s]: %(request)s %(message)s %(status)s %(byte)s'}, 'generic': {'class': 'logging.Formatter', 'datefmt': '[%Y-%m-%d %H:%M:%S %z]', 'format': '%(asctime)s [%(process)s] [%(levelname)s] %(message)s'}}, 'handlers': {'access_console': {'class': 'logging.StreamHandler', 'formatter': 'access', 'stream': <_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>}, 'console': {'class': 'logging.StreamHandler', 'formatter': 'generic', 'stream': <_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>}, 'error_console': {'class': 'logging.StreamHandler', 'formatter': 'generic', 'stream': <_io.TextIOWrapper name='<stderr>' mode='w' encoding='utf-8'>}}, 'loggers': {'sanic.access': {'handlers': ['access_console'], 'level': 'INFO', 'propagate': True, 'qualname': 'sanic.access'}, 'sanic.error': {'handlers': ['error_console'], 'level': 'INFO', 'propagate': True, 'qualname': 'sanic.error'}, 'sanic.root': {'handlers': ['console'], 'level': 'INFO'}, 'sanic.server': {'handlers': ['console'], 'level': 'INFO', 'propagate': True, 'qualname': 'sanic.server'}}, 'version': 1}

默认日志记录配置

sanic.log.access_logger = <Logger sanic.access (WARNING)>

Sanic用于访问日志记录的记录器

sanic.log.error_logger = <Logger sanic.error (WARNING)>

Sanic用于错误记录的记录器

sanic.log.logger = <Logger sanic.root (WARNING)>

通用卫生记录仪

sanic.log.server_logger = <Logger sanic.server (WARNING)>

Sanic用于服务器相关消息的记录器