我的grails web應用程序當前將大量調試信息記錄到文件中,幾乎可以滿足每個請求。很多調試日誌記錄會減慢我的(grails)Web應用程序的性能嗎?
根據您的經驗,我應該將它移動到生產(這將使它很難跟蹤到課程的缺陷)前關閉這個功能,還是有幾乎在我的應用程序的性能,即使有很多用戶在沒有影響同一時間?
我的grails web應用程序當前將大量調試信息記錄到文件中,幾乎可以滿足每個請求。很多調試日誌記錄會減慢我的(grails)Web應用程序的性能嗎?
根據您的經驗,我應該將它移動到生產(這將使它很難跟蹤到課程的缺陷)前關閉這個功能,還是有幾乎在我的應用程序的性能,即使有很多用戶在沒有影響同一時間?
伐木確實會減慢速度。特別是寫入文件非常緩慢。即使創建要記錄的字符串的過程也會對性能產生負面影響。我強烈建議您關閉此日誌記錄。如果你的應用程序有問題,那麼你最好在開發環境中調試而不是生產。
我同意@tzhx。我將只添加2點:
1)您可能希望根據日誌語句的重要性,使用log.info,.warn,.error,然後在您的配置中進行調整,以便在您使用的生產中進行調整適用於不同軟件包的級別。你可能會想要一些基線級別的日誌記錄,甚至在prod中。
2)絕對不要在產品中記錄sql。如果您遇到問題,請在開發環境或您的qa環境中記錄sql以確定問題。
同意以前的答案。通常我在生產中將日誌級別設置爲WARN或ERROR。如果您需要在運行時調整日誌記錄級別,則可以使用http://www.grails.org/plugin/runtime-logging插件。這允許您增加日誌記錄以追蹤僅在生產中出現的問題。錯誤分析後,您可以將日誌記錄級別恢復到正常級別。
如果您的用例需要大量日誌記錄(例如,出於審計跟蹤原因等),您應該有單獨的光盤用於日誌記錄或登錄到某個專用遠程設備。
如前所述,如果將大量信息記錄到文件中,可能會影響性能。 我建議你做到以下幾點:
if (log.debugEnabled) log.debug "This is a debug log line"
。請注意0的用法,如果您不希望在生產中對您的調試消息進行評估,則這一點很重要。日誌記錄本身帶有性能成本。
但是你知道什麼可以真正毀了你的應用程序性能嗎?控制檯日誌記錄