logzero
logzero copied to clipboard
Allow logging to stdout instead of stderr
Allows users to define logging to stdout instead of stderr
- All instances of
disableStdErrare removed. Instead, the below two parameters are added where relevant in the code:log_stream: Used when setting up loggersdisable_stream_loggers: Used when cleaning up logging handlers
- A user can disable stdout+stderr logging altogether by passing
log_stream=None
How the code was verified:
# Default behaviour: Use stderr
>>> import logzero
>>> logzero.logger.handlers
[<StreamHandler <stderr> (DEBUG)>]
# Sample usage of stdout
>>> import logzero
>>> custom_logger_1 = logzero.setup_logger(log_stream='stdout')
>>> custom_logger_1.handlers
[<StreamHandler <stdout> (DEBUG)>]
# Sample usage of neither stdout nor stderr
>>> import logzero
>>> custom_logger_2 = logzero.setup_logger(log_stream=None)
>>> custom_logger_2.handlers
[]
# What happens when invalid stream type is passed
>>> import logzero
>>> custom_logger_3 = logzero.setup_logger(log_stream='streamy_stream')
Log stream must be one of `'stderr'`, `'stdout'` or `None`. Using `'stderr'`
Mentioned at https://github.com/metachris/logzero/issues/340 too