python日志库loguru            

 import contextlib
from loguru import logger


APPDATA = os.getenv('APPDATA')
log_filepath = APPDATA + '\\your_app\\Logs\\mylog.log'
logger.remove()
logger.add(log_filepath, format="{time:YYYY-MM-DD HH:mm:ss.SSS} [{level}] {message}")
logger.add(sys.__stdout__, colorize=True, format="{time:YYYY-MM-DD HH:mm:ss.SSS}[{level}] {message}")
#logger.debug("block1")
#logger.info("block2")
#logger.warning("block3")

 

后面还可以加上:

 

class StreamToLogger:

    def __init__(self, level="INFO"):
        self._level = level

    def write(self, buffer):
        for line in buffer.rstrip().splitlines():
            logger.opt(depth=1).log(self._level, line.rstrip())

    def flush(self):
        pass

stream = StreamToLogger()
with contextlib.redirect_stdout(stream):
    addons = [FamikitProxy()]

 

redirect_stdout可能不是个好习惯,建议直接用logger.info("xxx")