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')