推荐学习书目
› Learn Python the Hard Way
Python Sites
› PyPI - Python Package Index
› http://diveintopython.org/toc/index.html
› Pocoo
值得关注的项目
› PyPy
› Celery
› Jinja2
› Read the Docs
› gevent
› pyenv
› virtualenv
› Stackless Python
› Beautiful Soup
› 结巴中文分词
› Green Unicorn
› Sentry
› Shovel
› Pyflakes
› pytest
Python 编程
› pep8 Checker
Styles
› PEP 8
› Google Python Style Guide
› Code Style from The Hitchhiker's Guide
qazwsxkevin
V2EX  ›  Python

使用 loggging 模块做日志, console 输出内容,都是红色,应该怎么调?

  •  
  •   qazwsxkevin · Sep 20, 2019 · 4044 views
    This topic created in 2570 days ago, the information mentioned may be changed or developed.

    我是这么干的:

        #生成日志
        logger = logging.getLogger()
        logger.setLevel(logging.INFO)  # Log 等级总开关
        LogFileHandler = logging.FileHandler(MatchDir + 'log.log', mode='a')
        LogFileHandler.setLevel(logging.NOTSET)  # 输出到 file 的 log 等级的开关
        # # 定义在 console 输出的日志颜色
        # COLORS = {
        # 'DEBUG': 'cyan',
        # 'INFO': 'green',
        # 'WARNING': 'yellow',
        # 'ERROR': 'red',
        # 'CRITICAL': 'red',
        # }
        # 输出到 console 的日志
        ConsoleHanler = logging.StreamHandler()
        ConsoleHanler.setLevel(logging.INFO)
        # 定义 handler 的输出格式
        formatter = logging.Formatter("[%(asctime)s]_[line:%(lineno)d]-[%(levelname)s] %(message)s",datefmt='%Y-%m-%d %H:%M:%S')
        LogFileHandler.setFormatter(formatter)
        ConsoleHanler.setFormatter(formatter)
        # 将 logger 添加到 handler 里面
        logger.addHandler(LogFileHandler)
        logger.addHandler(ConsoleHanler)
    

    情况是,在 pccharm console 输出的内容,无论是哪个级别的日志,都是默认红色的字体,
    尽管查过一些资料和 logging 模块的说明,相信应该是 Formatter 上设置,很多介绍没有一个例子来解疑惑,或者能成功的例子不是我上面这种思路的。。。

    2 replies  •  2019-09-20 15:13:19 +08:00
    vkhsyj
        2
    vkhsyj  
       Sep 20, 2019
    StreamHandler 默认输出到 stderr,设置一下就好了
    class logging.StreamHandler(stream=None)
    Returns a new instance of the StreamHandler class. If stream is specified, the instance will use it for logging output; otherwise, sys.stderr will be used.
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2452 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 472ms · UTC 12:37 · PVG 20:37 · LAX 05:37 · JFK 08:37
    ♥ Do have faith in what you're doing.