Logger

class Logger(**properties: Any)

Superclasses: Object

Implemented Interfaces: SessionFeature

Constructors:

Logger(**properties)
new(level:Soup.LoggerLogLevel) -> Soup.Logger

Constructors

class Logger
classmethod new(level: LoggerLogLevel) Logger

Creates a new Logger with the given debug level.

If you need finer control over what message parts are and aren’t logged, use set_request_filter and set_response_filter.

Parameters:

level – the debug level

Methods

class Logger
get_max_body_size() int

Get the maximum body size for logger.

set_max_body_size(max_body_size: int) None

Sets the maximum body size for logger (-1 means no limit).

Parameters:

max_body_size – the maximum body size to log

set_printer(printer: Callable[[...], None], *printer_data: Any) None

Sets up an alternate log printing routine, if you don’t want the log to go to stdout.

Parameters:
  • printer – the callback for printing logging output

  • printer_data – data to pass to the callback

set_request_filter(request_filter: Callable[[...], LoggerLogLevel], *filter_data: Any) None

Sets up a filter to determine the log level for a given request.

For each HTTP request logger will invoke request_filter to determine how much (if any) of that request to log. (If you do not set a request filter, logger will just always log requests at the level passed to new.)

Parameters:
  • request_filter – the callback for request debugging

  • filter_data – data to pass to the callback

set_response_filter(response_filter: Callable[[...], LoggerLogLevel], *filter_data: Any) None

Sets up a filter to determine the log level for a given response.

For each HTTP response logger will invoke response_filter to determine how much (if any) of that response to log. (If you do not set a response filter, logger will just always log responses at the level passed to new.)

Parameters:
  • response_filter – the callback for response debugging

  • filter_data – data to pass to the callback

Properties

class Logger
props.level: LoggerLogLevel

The level of logging output.

props.max_body_size: int

If level is BODY, this gives the maximum number of bytes of the body that will be logged. (-1 means “no limit”.)