2013-03-31 48 views
1

我正在將SLF4J和Logback添加到我的應用程序,並且我不確定是否應該記錄我在存儲庫層中生成的SQL語句(使用Spring JDBC)。這些語句的級別當然會設置爲DEBUG,因爲它可能會產生大量的日誌語句。在應用程序中記錄SQL語句

記錄應用程序生成的SQL語句常見嗎?

+0

是的,記錄SQL語句沒有錯,因爲它可能有助於調試。但建議將它保持在DEBUG級別 – prasanth

回答

1

是的,這很常見。

所有的ORMs,包括openjpa和hibernate都可以。像MyBatis這樣的所有映射器都有一些日誌記錄機制可以掛接到任何一個日誌記錄實現中。

即使在遠古時代。該驅動程序用來做什麼的,當一個java.sql.DriverManager#setLogStream被調用

;)

0

我會寫這種信息到數據庫,保留統計數據,以便我可以查詢和總結它們。

當然可以用日誌來完成,但它不像從數據庫中總結一樣簡單。沒有非常努力的日誌文件沒有SQL。

+0

這是否意味着如果不將日誌記錄到數據庫中,則不會記錄SQL? – LuckyLuke

+0

記錄在兩種情況下完成;這只是我放置信息的一個選擇。我認爲數據庫在這裏更有意義。 – duffymo

0

其實如果你有一個被認爲是金融資產​​在你的觀點了巨大的應用程序,當然比你應該因爲登錄您的應用程序日誌記錄將被視爲您可以隨時查閱的安全專業。此外,日誌記錄對調試非常有用。 但是你必須考慮你想要選擇的日誌級別,因爲如果你想記錄你所有的SQL語句,它會對數據庫造成巨大的負擔。