python logging

logge 对象配置?

第一步:import logging;不管做啥,先导入模块总没错吧

第二步:我用生成日志语句,先创建一个对象,怎么创建对象呢?创建一个对象logger:用什么创建这个logger,用导入的模块中的一个getlogger()方法

第三步:现在要把文件  fh 输入和设置等级 filehandler 和setlevel ,输出  ch  也是一样的streamhandler and setlevel

第四步:设置我输入和输出的格式 formatter = logging.formatter()  ,然后再对我输入fh 和ch 调用setformatter(formatter)

第五步:我已经的语句已经生成了,但是他还是没到我的logger对象啊,所以我们要把fh 和 ch语句添加到我们的logger中 使用addhandler。

注意:利用FileHandler将    “log_file”   输入进文件,比basicConfig的好处是想写到哪个文件就写到哪个,basicConfig是一旦设置就不能更改

  logger.addHandler(fh or ch ) 确定程序的ch要写到哪个文件。

import logging
def logger(LOG_TYPE):
    #create logger
    logger = logging.getlogger()
    
    #create file handler and set level
    log_file="%s /log/ %s" %('文件位置','LOG_TYPES')
    fh = logging.FileHandler(log_file)
    fh.setLevel(logging.DEBUG) #don't set default in order to settings
    #fh.setLevel(settings.LOG_LEVEL)

    #create console handler and set level
    ch = logging.StreamHandler()
    ch.setLevel(logging.DEBUG) 
    #ch.setLevel(settings.LOG_LEVEL)

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

    # add fh and ch to logger
    logger.addHandler(fh)
    logger.addHandler(ch)

    return logger

# logger.debug('debug message')
# logger.info('info message')
# logger.warn('warn message')
# logger.error('error message')
# logger.critical('critical message')
原文地址:https://www.cnblogs.com/BBS2013/p/13396897.html