0
我試圖將我的web應用程序錯誤/異常記錄到文件和電子郵件。記錄到文件的作品,但不發送電子郵件。 Python版本是3.4。Python日誌記錄模塊不發送電子郵件
代碼:
# Filename: my_app/log.py
import logging
import logging.handlers
from . import config
LOG_FILENAME = '{}/logs/app.log'.format(config.module_path)
# Logger and it's output level
app_logger = logging.getLogger('my_app')
app_logger.setLevel(logging.DEBUG)
# File handler
file_handler = logging.handlers.RotatingFileHandler(
LOG_FILENAME, maxBytes=50000, backupCount=2)
# Add smtp handler
email_info = {
"mailhost": '{}:{}'.format(config.email["host"], config.email["port"]),
"fromaddr": ['[email protected]'],
"toaddrs": ['[email protected]'],
"subject": 'Kraken escaped!',
"credentials": (config.email["username"], config.email["passwd"]),
"secure":(),
}
smtp_handler = logging.handlers.SMTPHandler(**email_info)
formatter = logging.Formatter(
'<%(asctime)s - %(name)s - %(levelname)s> %(message)s')
file_handler.setFormatter(formatter)
smtp_handler.setFormatter(formatter)
app_logger.addHandler(file_handler)
app_logger.addHandler(smtp_handler)
# Filename: my_app/delivery/controllers.py
import logging
logger = logging.getLogger(__name__)
# ... and when exceptions occurs I do following (in except statement)
logger.exception(exc)
# As I've said - it gets logged to a file, but email is not sent (fails silently?).
我在做什麼錯?
您是否嘗試過' 「安全」:None',而不是' 「安全」:()'? – 2014-09-14 08:29:41
@AnonyKong,是的,我試過了。也嘗試沒有'安全'。沒有什麼變化。 – egis 2014-09-14 11:02:37