python日志的使用
示例代码:
import logging
import logging.handlers
import datetime
logger = logging.getLogger('mylogger')
logger.setLevel(logging.DEBUG)
rf_handler = logging.handlers.TimedRotatingFileHandler('all.log', when='midnight', interval=1, backupCount=7, atTime=datetime.time(0, 0, 0, 0))
rf_handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(message)s"))
f_handler = logging.FileHandler('error.log')
f_handler.setLevel(logging.ERROR)
f_handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(filename)s[:%(lineno)d] - %(message)s"))
logger.addHandler(rf_handler)
logger.addHandler(f_handler)
logger.debug('debug message')
logger.info('info message')
logger.warning('warning message')
logger.error('error message')
logger.critical('critical message')
eg:
import logging
import logging.handlers
import datetime
logger = logging.getLogger('mylogger')
# logging.disable(logging.INFO)
# logging.disable(logging.DEBUG)
# logger.disabled = True
# logger.disabled = False
logger.setLevel(logging.DEBUG)
# logger.setLevel(logging.INFO)
# logging.basicConfig(level=logging.INFO)
# handler0 = logging.StreamHandler()
# handler0.setLevel(logging.WARNING)
# handler0.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(filename)s[:%(lineno)d] - %(message)s"))
rf_handler = logging.handlers.TimedRotatingFileHandler('./log/all.log', encoding="utf-8") #, when='midnight', interval=1, backupCount=7, atTime=datetime.time(0, 0, 0, 0))
# rf_handler = logging.handlers.TimedRotatingFileHandler('./log/all_{}.log'.format(now_dt_ms)) #, when='midnight', interval=1, backupCount=7, atTime=datetime.time(0, 0, 0, 0))
rf_handler.setLevel(logging.DEBUG)
rf_handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(message)s"))
f_handler = logging.FileHandler('./log/error.log', encoding="utf-8")
f_handler.setLevel(logging.ERROR)
f_handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(filename)s[:%(lineno)d] - %(message)s"))
info_handler = logging.FileHandler('./log/info.log', encoding="utf-8")
info_handler.setLevel(logging.INFO)
info_handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(filename)s[:%(lineno)d] - %(message)s"))
# rf_handler = logging.handlers.TimedRotatingFileHandler('./log/all_{}.log'.format(now_dt_ms), encoding="utf-8") #, when='midnight', interval=1, backupCount=7, atTime=datetime.time(0, 0, 0, 0))
# # rf_handler = logging.handlers.TimedRotatingFileHandler('./log/all_{}.log'.format(now_dt_ms)) #, when='midnight', interval=1, backupCount=7, atTime=datetime.time(0, 0, 0, 0))
# rf_handler.setLevel(logging.DEBUG)
# rf_handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(message)s"))
# f_handler = logging.FileHandler('./log/error_{}.log'.format(now_dt_ms), encoding="utf-8")
# f_handler.setLevel(logging.ERROR)
# f_handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(filename)s[:%(lineno)d] - %(message)s"))
# info_handler = logging.FileHandler('./log/info_{}.log'.format(now_dt_ms), encoding="utf-8")
# info_handler.setLevel(logging.INFO)
# info_handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(filename)s[:%(lineno)d] - %(message)s"))
logger.addHandler(rf_handler)
logger.addHandler(f_handler)
logger.addHandler(info_handler)
logger.info('spark_name:{}'.format(spark_name))
logger.info("starttime dt_ms:{}".format(now_dt_ms))
参考文献:
https://www.cnblogs.com/yyds/p/6901864.html
https://www.jianshu.com/p/7b5e4752932e