2014-04-23 61 views
1

我們有一個perl web界面,目前我正在努力將其慢慢轉換爲使用Dancer 2和PSGI,而不是我們緩慢的普通香草CGI模型。Perl Website with Dancer2 - 如何記錄用戶活動,歷史記錄等?

在我們的舊模型中,我們在會話中存儲了的所有內容 - 用戶所做的事情,調用堆棧,數據輸入的歷史........您明白了。

我們做不是想要做到這一點,以便我們可以保持會議小而高效。但是,我們仍然想記錄用戶所做的事情(這樣當錯誤被報告時,我們可以看到他們做了什麼來解決錯誤,他們輸入了什麼輸入等等)。

我看着Logging上Dancer2文檔,但是這似乎並沒有完全得到什麼,我們需要的 - 這隻會記錄Dancer2消息+我把什麼其他消息 這一次,我發現Dancer2::Logger不似乎也相當削減它。

我還可以使用其他什麼庫來做我需要的東西?我嚴重懷疑perl沒有這樣做的一些好處...

+0

你想記錄一切,而不必實際調用日誌記錄功能/方法? –

+0

哦不,我想知道最好的登錄方式是什麼。有一個模塊可以滿足我的需要,所以我只需要在該模塊中調用一些東西。舞蹈家2的日誌記錄功能並不廣泛,據我所知可以記錄我需要的東西。 – Joe

+0

您可以在配置文件中使用'log_level:core'記錄所有內容。它記錄了所有活動,幾乎無處不在。另外,你也可以在你想要登錄的應用程序上使用'log'。 (我知道這可能來不及幫助你,但它可以幫助別人來這裏尋求幫助) – jjmerelo

回答

0

只是我的頭頂,我可以想到Log::log4perlLog::Dispatch,雖然有無數其他人。

您可以使用它們建立自己的日誌文件,與舞者的日誌分開。

至於最好的方法,大多數日誌記錄接口具有相同的日誌記錄API,但運行時實例化和配置語法不同。所以請閱讀其中的一些文檔,也許可以嘗試一些大小的文檔。

+0

我認爲log4perl看起來非常好 - 你還有其他建議嗎?對我們來說,性能將是一個關鍵的事情 - 我們的老CGI方法保持會話中的一切都相當緩慢,所以... – Joe

+0

有很多方法來加速日誌記錄。有些依賴於你使用的是哪個http服務器(有一些愚蠢的apache技巧可以實現),但大多數情況下,一旦日誌打開,當你調用日誌記錄方法時,你會得到一些可配置的裝飾(時間戳等)。 )然後打印到文件。 –