Logging¶
By default, the incydr.Client uses the Rich library's logging handler,
sending logging to standard err, and defaults to log level logging.WARNING.
Basic request details are logged for every http request made at INFO level:
import incydr
client = incydr.Client(log_level="INFO")
client.cases.v1.get_case(21)
Log custom messages in your scripts from the client.settings.logger object directly:
client.settings.logger.warning("Logged warning message!")
Increase to DEBUG level for much more detailed logging of the request/response cycle:
client.settings.log_level = "DEBUG"
client.cases.v1.get_case(21)
The output from the above code snippets would look like this:
Disable logging to stderr¶
To disable logging to stderr, you can do any of the following:
- Set
INCYDR_LOG_STDERR=falsein your environment - Initialize client with
log_stderrargument set to False:client = incydr.Client(log_stderr=False) - Change the setting property after instantiation:
client.settings.log_stderr = False
Disable Rich formatting¶
To disable Rich formatting in your log output, you can do any of the following:
- Set
INCYDR_USE_RICH=falsein your environment - Initialize client with
use_richargument set to False:client = incydr.Client(use_rich=False) - Change the setting property after instantiation:
client.settings.use_rich = False
Log to a file¶
To output logs to a file, set the client.settings.log_file property to any of the following:
- A string representing a valid file path
- A
pathlib.Pathobject represting a valid file path - A file object inheriting from
io.IOBase