logzero icon indicating copy to clipboard operation
logzero copied to clipboard

Allow logging to stdout instead of stderr

Open rsnk96 opened this issue 4 years ago • 0 comments

Allows users to define logging to stdout instead of stderr

  • All instances of disableStdErr are removed. Instead, the below two parameters are added where relevant in the code:
    • log_stream: Used when setting up loggers
    • disable_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

rsnk96 avatar Dec 29 '21 21:12 rsnk96