使用流处理程序记录消息在控制台中显示为红色

Mie*_*ter 5 python

我使用以下代码设置了一个记录器

def setup_logging():
    import logging
    import logging.handlers
    import os
    #from time import gmtime, strftime
    #import logging.handlers

    logger = logging.getLogger('apt')
    logger.setLevel(logging.DEBUG)

    # create file handler
    fh = logging.handlers.RotatingFileHandler(os.path.join('..','logs','apt.log'), maxBytes=1000000, backupCount=5)
    fh.setLevel(logging.DEBUG)

    # create console handler
    ch = logging.StreamHandler()
    ch.setLevel(logging.DEBUG)

    # create formatter and add it to the handlers
    formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
    ch.setFormatter(formatter)
    fh.setFormatter(formatter)

    # add the handlers to logger
    logger.addHandler(ch)
    logger.addHandler(fh)
Run Code Online (Sandbox Code Playgroud)

将日志消息打印到文件和控制台(这就是我所追求的).唯一的问题是控制台消息是红色的.这让人分心,因为红色使一切看起来像一个错误(当它只是信息).如何更改它以使控制台消息的颜色不同?

理想情况下,黑色用于调试和信息,红色用于警告及以上.

我正在使用Eclipse和PyDev.

Gar*_*eth 8

PyDev控制台默认以红色突出显示消息给stderr.logging的logging.DEBUG将向stderr发送消息.如果您希望更改此行为,请参阅此帖子:Logging,StreamHandler和标准流

要更改PyDev中的颜色,请参见此处:http://pydev.org/manual_adv_interactive_console.html