Python log 的正確開啟方式

life4711發表於2017-02-08

儲存程式碼到檔案:logger.py

import os

import logbook
from logbook.more import ColorizedStderrHandler
import smtplib


LOG_DIR = os.path.join('log')
if not os.path.exists(LOG_DIR):
    os.makedirs(LOG_DIR)


def get_logger(name='test', file_log=False):
    logbook.set_datetime_format('local')
    ColorizedStderrHandler(bubble=False).push_application()
    if file_log:
        logbook.TimedRotatingFileHandler(os.path.join(LOG_DIR, '%s.log' % name), date_format='%Y%m%d', bubble=True).push_application()

    return logbook.Logger(name)


LOG = get_logger(file_log=True)


def send_email(email_conf, message):
    smtp = smtplib.SMTP()
    smtp.connect(email_conf['host'], email_conf['port'])
    smtp.login(email_conf['user'], email_conf['password'])
    smtp.sendmail(email_conf['fromaddr'], email_conf['recipients'], message.as_string())

使用方法:

from logger import LOG

if __name__ == "__main__":
    LOG.info('Checking %s:%s ...' % (str(date), str(data_type)))


相關文章