我使用以下代码设置了一个记录器
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)
将日志消息打印到文件和控制台(这就是我所追求的)。 唯一的问题是控制台消息是红色的。 这分散了注意力,因为红色使一切看起来像错误(当它只是信息时)。 如何更改它以使控制台消息是不同的颜色?
理想情况下,黑色表示调试和信息,红色表示警告及以上。
我正在使用Eclipse和PyDev。
默认情况下,PyDev 控制台以红色突出显示发送到 stderr 的消息。Python的日志记录。DEBUG 将向 stderr 发送消息。如果您希望更改此行为,请参阅此帖子:日志记录,流处理程序和标准流
要更改 PyDev 中的颜色,请参阅此处:http://pydev.org/manual_adv_interactive_console.html