1
我有一個Python應用程序,它使用Apache和mod_wsgi在生產環境中部署。 在我的應用程序,我已經安裝日誌如下:Python mod_wsgi寫入自定義日誌文件,而不是Apache error_log
config
文件:
log_file = os.path.dirname(os.path.abspath(__file__)) + "/app.log"
log_level = logging.DEBUG
__init__.py
文件:
root_logger = logging.getLogger()
root_logger.setLevel(config.log_level)
log_format = logging.Formatter("%(asctime)s [%(levelname)s] [%(name)s] %(message)s")
file_handler = logging.FileHandler(config.log_file)
file_handler.setFormatter(log_format)
stream_handler = logging.StreamHandler()
stream_handler.setFormatter(log_format)
root_logger.addHandler(file_handler)
root_logger.addHandler(stream_handler)
創建瓶應用程序之前,該代碼被執行。
所有不是錯誤/異常的記錄都被正確記錄到此自定義文件中。
但是,如果在Web服務器運行時產生異常,則會將錯誤寫入Apache的錯誤日誌中,而不是寫入此處配置的錯誤日誌中。如何配置Python的logging/mod_wsgi/Apache以便將所有內容寫入此處配置的日誌文件?
這工作一種享受,非常感謝。 – Cristian 2014-09-25 08:08:40
只需添加,我上面設置的日誌記錄配置也可以將錯誤記錄到正確的文件中。我發現解決方案是刪除以下內容:'app.debug = True',然後所有指定的日誌都按預期工作。 – Cristian 2014-09-25 08:32:43
很高興知道您已經找出問題所在。 – 2014-09-25 09:15:41