Python的日志配置和处理


前言

日志1

import datetime
import logging

# 配置日志的等级、文件名、时间格式、输出格式
logging.basicConfig(level=logging.INFO,
                    filename='basic_info.log',
                    datefmt='%Y/%m/%d %H:%M:%S',
                    format='%(asctime)s - %(name)s - %(levelname)s - %(lineno)d - %(module)s - %(message)s')
logger = logging.getLogger()


try:
    logging.info('success start at time %s', datetime.datetime.now())
    for i in range(10):
        print(i)
        logging.info('success execute at time %s and print number %d',
                     datetime.datetime.now(), i)
    logging.info('success end at time %s', datetime.datetime.now())
except Exception as error_message:
    logging.error('error end at time %s, error message is %s',
                  datetime.datetime.now(), error_message)

日志2

import datetime
import logging

# 声明一个logger对象
logger = logging.getLogger()
# 配置logger最低记录级别
logger.setLevel(level=logging.INFO)
# 配置logger的输出文件
log_handler = logging.FileHandler('basic_info.log')
# 配置logger的输出格式
log_formatter = logging.Formatter(
    '%(asctime)s - %(name)s - %(levelname)s - %(message)s')
# 应用logger的输出格式
log_handler.setFormatter(log_formatter)
# 给logger对象添加对应的handler 
logger.addHandler(log_handler)

try:
    logging.info('success start at time %s', datetime.datetime.now())
    for i in range(10):
        print(i)
        logging.info('success execute at time %s and print number %d',
                     datetime.datetime.now(), i)
    logging.info('success end at time %s', datetime.datetime.now())
except Exception as error_message:
    logging.error('error end at time %s, error message is %s',
                  datetime.datetime.now(), error_message)

日志3

import time
import datetime
import schedule
import logging
import logging.handlers


# 声明一个logger对象
logger = logging.getLogger()
# 配置logger最低记录级别
logger.setLevel(level=logging.INFO)
# 配置日志文件大小,超过指定文件大小则生成新文件
log_handler = logging.handlers.RotatingFileHandler(
    filename='wahaha.log', maxBytes=20*1024, backupCount=5)
# 配置logger的输出格式
log_formatter = logging.Formatter(
    '%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s')
# 应用logger的输出格式
log_handler.setFormatter(log_formatter)
# 给logger对象添加对应的handler
logger.addHandler(log_handler)


def schedule_job():
    print('start schedule job')
    try:
        logging.info('success start at time %s' % datetime.datetime.now())
        for i in range(10):
            print(i)
            logging.info(
                'success execute at time %s and print number %d', datetime.datetime.now(), i)
        logging.info('success end at time %s' % datetime.datetime.now())
    except Exception as e:
        logging.error(e)
    print('end schedule job')


# 配置定时任务的时间间隔
schedule.every(5).seconds.do(schedule_job)
while True:
    schedule.run_pending()
    time.sleep(1)

posted @ 2019-02-16 11:24  野火冫吹又生  阅读(398)  评论(0编辑  收藏  举报