Thứ Hai, 23 tháng 12, 2013

Logging Application Errors

Logging Application Errors


Dù code của bạn đúng 100% thì một lúc nào đó bạn cũng sẽ tìm thấy các exceptions.
Nếu app của bạn chạy trong production mode, flask sẽ đưa ra một page rất đơn giản cho bạn và log lại các exception tới Logger( các logger có tác dụng ghi lại các message)
 Nhưng bạn có thể làm tốt hơn thế với một số các các thiết lập sau:

 Error mails


ADMINS = ['yourname@example.com']
if not app.debug:
    import logging
    from logging.handlers import SMTPHandler
    mail_handler = SMTPHandler('127.0.0.1',
                               'server-error@example.com',
                               ADMINS, 'YourApplication Failed')
    mail_handler.setLevel(logging.ERROR)
    app.logger.addHandler(mail_handler)


 +create a SMTPHandler, sẽ gửi các mail báo lỗi cho bạn khi chương trình chay trên localhost 127.0.0.1 , với Subject là 'Your Application Failed'

+ Các Handler có thể chỉ gửi khi có lỗi hoặc gửi các tin nhắn cảnh báo theo ý của chúng ta


Logging to a file


Mặc dù bạn có thể nhận mail cảnh báo nhưng có lẽ bạn vẫn thích lưu lại các cảnh báo và báo lỗi ở một file của bạn để có được nhiều thông tin hơn. Bạn có thể làm theo cách sau:


if not app.debug:
    import logging
    from themodule import TheHandlerYouWant
    file_handler = TheHandlerYouWant(...)
    file_handler.setLevel(logging.WARNING)
    app.logger.addHandler(file_handler)


có thể dụng các handler sau:

FileHandler : ghi laị các tin trong filesystem
RoratingFilehandler: ghi lại các tin trong filesystem và luân phiên sau một lượng tin nào đó











1 nhận xét:

  1. nội dung thì nói về các log handler mà phần dẫn thì liên thiên
    "Dù code của bạn đúng 100% thì một lúc nào đó bạn cũng sẽ tìm thấy các exceptions." => sai và thiếu hiểu biết :v

    Trả lờiXóa