2009-12-03 59 views
0

我正在用web.py編寫一個使用python的web應用程序,並且我想實現我自己的日誌記錄系統。我想記錄關於python每個請求的詳細信息(靜態文件由Web服務器處理)。python web應用程序通過管道登錄? (有關性能)

目前我正在考慮將日誌寫入管道。另一方面,應該有cronolog。

我最關心的是表現會不錯?與正常處理請求(小於5個數據庫查詢以及從模板生成頁面)相比,管理日誌時耗費的時間/資源如何?

還有其他更好的方法嗎?我不想用python編寫日誌文件,因爲fastcgi會啓動數十個進程。

+1

您是否打算編寫一些類似於http://docs.python.org/library/logging.html#useful-handlers中描述的處理程序的'PipeHandler'? – 2009-12-03 11:33:53

+0

我剛剛決定只有一個進程由fastcgi產生。和flup將添加多線程功能web.py python日誌記錄已經線程安全,情況更簡單:) 謝謝。 – qingbo 2009-12-15 08:33:37

回答

1

管道是可用的最快的I/O機制之一。這只是一個共享緩衝區。而已。如果您的管道接收端完全不堪重負,則可能有問題。但你現在沒有證據。

如果你有10個由FastCGI啓動的進程,每個進程都可以有自己的獨立日誌文件。這是理想的情況:使用Python日誌記錄 - 使每個進程都有唯一的日誌文件。

在極少數情況下,您需要檢查所有日誌文件,將它們組合在一起進行分析。