python logging简单使用

发布时间:2019-08-16 10:57:15编辑:auto阅读(1621)

    #coding: UTF-8
    '''
    Created on 2014年1月6日

    @author: mingliu
    '''
    import logging#导入

    mylog = logging.getLogger('mylogger')#申请一个名字
    otherlog = logging.getLogger('mylogger')#同一个工程下面全部logger全可以统一根据名字获得,享用相同配置
    mylog.setLevel(logging.ERROR)#设置输出级别
    fh = logging.FileHandler('test.log')#设置输出信息物理位置(文件)
    fh.setLevel(logging.DEBUG)#设置handler输出级别
    ch = logging.StreamHandler()#设置输出控制台
    ch.setLevel(logging.INFO)
    formatter = logging.Formatter("%(pathname)s-%(module)s - \
    %(lineno)d -%(asctime)s - %(name)s - %(levelname)s-%(levelno)s-%(thread)d\n%(message)s")#输出信息格式

    fh.setFormatter(formatter)  #向handler添加输出格式
    ch.setFormatter(formatter)  
    mylog.addHandler(fh)#向logger添加handler
    mylog.addHandler(ch)
    if __name__ == '__main__':
       pass
       mylog.debug('testDebug')
       mylog.info('testInfo')
       mylog.warn('testWarn')
       mylog.error('testError')
       otherlog.debug('testDebug')
       otherlog.info('testInfo')
       otherlog.warn('testWarn')
       otherlog.error('testError')

    使用配置文件

    程序:

    logging.config.fileConfig("logging.conf")
    mylog = logging.getLogger('mylogger')#申请一个名字

    配置文件:

    [loggers]
    keys=root,mylogger

    [handlers]
    keys=consoleHandler,fileHandler

    [formatters]
    keys=simpleFormatter

    [logger_root]
    level=DEBUG
    handlers=consoleHandler

    [logger_mylogger]
    level=DEBUG
    handlers=consoleHandler,fileHandler
    qualname=simpleExample
    propagate=0

    [handler_fileHandler]
    class=FileHandler
    level=ERROR
    formatter=simpleFormatter
    args=('test.log',)

    [handler_consoleHandler]
    class=StreamHandler
    level=DEBUG
    formatter=simpleFormatter
    args=(sys.stdout,)

    [formatter_simpleFormatter]
    format=%(asctime)s - %(name)s - %(levelname)s - %(message)s

关键字

上一篇: Python中文乱码解决

下一篇: python爬虫