@@ -2759,8 +2759,9 @@ The default file handler is a SizedTimedRotatingFileHandler, which can rotate lo
27592759
27602760Examples::
27612761
2762+ # 1. Bind a StreamHandler to the "mylogger" logger, output to sys.stdout
27622763 import logging
2763- from morebuiltins.log import LogHelper
2764+ from morebuiltins.logs import LogHelper
27642765
27652766 LogHelper.shorten_level()
27662767 logger = LogHelper.bind_handler(name = " mylogger" , filename = sys.stdout, maxBytes = 100 * 1024 ** 2 , backupCount = 7 )
@@ -2770,6 +2771,23 @@ Examples::
27702771 logger.info(" This is an info message" )
27712772 logger.fatal(" This is a critical message" )
27722773
2774+ # 2. Bind file and stderr in the same logger
2775+ import sys
2776+ import logging
2777+ from morebuiltins.logs import LogHelper
2778+ LogHelper.shorten_level()
2779+ logger = LogHelper.bind_handler(name = " mylogger" , filename = " mylog.log" , maxBytes = 100 * 1024 ** 2 , backupCount = 7 )
2780+ logger = LogHelper.bind_handler(name = " mylogger" , filename = sys.stderr)
2781+ logger.info(" This is an info message" )
2782+
2783+ # 3. Use queue=True to make logging non-blocking, both file and stderr
2784+ import sys
2785+ from morebuiltins.logs import LogHelper
2786+ LogHelper.shorten_level()
2787+ logger = LogHelper.bind_handler(name = " mylogger" , filename = " mylog.log" , maxBytes = 100 * 1024 ** 2 , backupCount = 7 , queue = True )
2788+ logger = LogHelper.bind_handler(name = " mylogger" , filename = sys.stderr, queue = True )
2789+ logger.info(" This is an info message" )
2790+
27732791```
27742792
27752793
0 commit comments