apifrom.plugins.loggingο
Logging plugin for APIFromAnything.
This module provides a plugin for logging requests and responses.
Overviewο
Classes
Classesο
- class apifrom.plugins.logging.API(debug=False, title='APIFromAnything API', description='API created with APIFromAnything', version='1.0.0', docs_url='/docs', openapi_config=None, swagger_ui_config=None, enable_docs=True)[source]ο
- Parameters:
debug (bool)
title (str)
description (str)
version (str)
docs_url (str)
openapi_config (apifrom.docs.openapi.OpenAPIConfig | None)
swagger_ui_config (apifrom.docs.swagger_ui.SwaggerUIConfig | None)
enable_docs (bool)
Main application container for APIFromAnything.
This class serves as the central registry for all API endpoints, middleware, and configuration. It provides methods for registering endpoints, middleware, and starting the server.
Initialize a new API instance.
- param debug:
Whether to run in debug mode.
- param title:
The title of the API.
- param description:
The description of the API.
- param version:
The version of the API.
- param docs_url:
The URL for the API documentation.
- param openapi_config:
Configuration for OpenAPI documentation.
- param swagger_ui_config:
Configuration for Swagger UI.
- param enable_docs:
Whether to enable API documentation.
- LoggingPlugin(logger = None, level = logging.INFO, log_request_body = False, log_response_body = False, log_headers = False, exclude_paths = None, exclude_methods = None):bases: apifrom.plugins.base.Plugin
Plugin for logging requests and responses.
Initialize the logging plugin.
- param logger:
The logger to use (defaults to a new logger)
- param level:
The logging level
- param log_request_body:
Whether to log request bodies
- param log_response_body:
Whether to log response bodies
- param log_headers:
Whether to log headers
- param exclude_paths:
Paths to exclude from logging
- param exclude_methods:
HTTP methods to exclude from logging
- apifrom.plugins.logging.initialize(api)ο
Initialize the plugin.
- param api:
The API instance
- apifrom.plugins.logging.on_error(error, request)ο
Log an error.
- param error:
The error that occurred
- param request:
The request object
- returns:
None
- apifrom.plugins.logging.on_shutdown()ο
Log server shutdown.
- apifrom.plugins.logging.on_startup()ο
Log server startup.
- apifrom.plugins.logging.post_response(response, request)ο
Log the response.
- param response:
The response object
- param request:
The request object
- returns:
The response object
- apifrom.plugins.logging.pre_request(request)ο
Log the request.
- param request:
The request object
- returns:
The request object
- Plugin:bases: abc.ABC
Base class for all plugins.
This class defines the interface that all plugins must implement, providing hooks for various stages of the API lifecycle.
Initialize the plugin.
- class apifrom.plugins.logging.Request(request=None, path_params=None, method=None, path=None, query_params=None, headers=None, body=None, client_ip=None)[source]ο
Request class for APIFromAnything.
This class wraps a Starlette request and provides methods for accessing request data in a convenient way.
- apifrom.plugins.logging._requestο
The underlying Starlette request.
- apifrom.plugins.logging.path_paramsο
Path parameters extracted from the URL.
- apifrom.plugins.logging.query_paramsο
Query parameters extracted from the URL.
- apifrom.plugins.logging.headersο
HTTP headers.
- apifrom.plugins.logging.methodο
HTTP method.
- apifrom.plugins.logging.pathο
Request path.
- apifrom.plugins.logging._bodyο
Cached request body.
Initialize a new Request instance.
- param request:
The underlying Starlette request.
- param path_params:
Path parameters extracted from the URL.
- param method:
The HTTP method.
- param path:
The request path.
- param query_params:
Query parameters.
- param headers:
HTTP headers.
- param body:
Request body.
- param client_ip:
Client IP address.
- class apifrom.plugins.logging.Response(content=None, status_code=200, headers=None, content_type='application/json')[source]ο
Response class for APIFromAnything.
This class represents an HTTP response and provides methods for setting response data, status code, and headers.
- apifrom.plugins.logging.contentο
The response content.
- apifrom.plugins.logging.status_codeο
The HTTP status code.
- apifrom.plugins.logging.headersο
HTTP headers.
- apifrom.plugins.logging.content_typeο
The content type of the response.
Initialize a new Response instance.
- param content:
The response content.
- param status_code:
The HTTP status code.
- param headers:
HTTP headers.
- param content_type:
The content type of the response.