python-設定log

來源:互聯網
上載者:User

標籤:form   orm   odi   ret   auth   ext   critical   console   message   

#-*- coding: UTF-8 -*-__author__ = ‘007‘__date__ = ‘2016/6/16‘import loggingimport ctypes#STD_INPUT_HANDLE = -10STD_OUTPUT_HANDLE= -11#STD_ERROR_HANDLE = -12FOREGROUND_WHITE = 0x0007FOREGROUND_BLUE = 0x01 # text color contains blue.FOREGROUND_GREEN= 0x02 # text color contains green.FOREGROUND_RED  = 0x04 # text color contains red.FOREGROUND_INTENSITY = 0x08 # text color is intensified.FOREGROUND_YELLOW = FOREGROUND_RED | FOREGROUND_GREENBACKGROUND_BLUE = 0x10 # background color contains blue.BACKGROUND_GREEN= 0x20 # background color contains green.BACKGROUND_RED  = 0x40 # background color contains red.BACKGROUND_INTENSITY = 0x80 # background color is intensified.std_out_handle = ctypes.windll.kernel32.GetStdHandle(STD_OUTPUT_HANDLE)def set_color(color,handle = std_out_handle):    bb = ctypes.windll.kernel32.SetConsoleTextAttribute(handle,color)    return bbclass logger:    def __init__(self,name,path,clevel=logging.DEBUG,flevel=logging.DEBUG):        self.logger = logging.getLogger(name)        self.logger.setLevel(logging.DEBUG)        fmt = logging.Formatter(‘%(asctime)s - %(name)s - %(levelname)s - %(message)s‘)        ch = logging.StreamHandler()        ch.setFormatter(fmt)        ch.setLevel(clevel)        fh = logging.FileHandler(path)        fh.setFormatter(fmt)        fh.setLevel(flevel)        self.logger.addHandler(ch)        self.logger.addHandler(fh)    def debug(self,message):        self.logger.debug(message)    def info(self,message,color=FOREGROUND_GREEN):        set_color(color)        self.logger.info(message)        set_color(FOREGROUND_WHITE)    def warn(self,message,color=FOREGROUND_YELLOW):        set_color(color)        self.logger.warn(message)        set_color(FOREGROUND_WHITE)    def error(self,message,color=FOREGROUND_RED):        set_color(color)        self.logger.error(message)        set_color(FOREGROUND_WHITE)    def critical(self,message,color=FOREGROUND_BLUE):        set_color(color)        self.logger.critical(message)        set_color(FOREGROUND_WHITE)if __name__ == "__main__":    logger1 = logger(‘one‘,‘test.log‘,logging.DEBUG,logging.DEBUG)    logger1.debug("logger1 debug message")    logger1.info("logger1 info message")    logger1.warn("logger1 warn message")    logger1.error("logger1 error message")    logger1.critical("logger1 critical message")    logger2 = logger(‘two‘,‘test.log‘,logging.INFO,logging.INFO)    logger2.debug("logger2 debug message")    logger2.info("logger2 info message")    logger2.warn("logger2 warn message")    logger2.error("logger2 error message")    logger2.critical("logger2 critical message")    logger3 = logger(‘three‘,"test.log",logging.WARNING)    logger3.debug("logger3 debug message")    logger3.info("logger3 info message")    logger3.warn("logger3 warn message")    logger3.error("logger3 error message")    logger3.critical("logger3 critical message")    logger4 = logger(‘four‘,"test.log",logging.ERROR,logging.ERROR)    logger4.debug("logger4 debug message")    logger4.info("logger4 info message")    logger4.warn("logger4 warn message")    logger4.error("logger4 error message")    logger4.critical("logger4 critical message")    logger5 = logger(‘five‘,"test.log",logging.CRITICAL,logging.CRITICAL)    logger5.debug("logger5 debug message")    logger5.info("logger5 info message")    logger5.warn("logger5 warn message")    logger5.error("logger5 error message")    logger5.critical("logger5 critical message")

  

python-設定log

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.