2013-03-08 104 views
2

我在AppHarbor上託管應用程序,該應用程序使用NLog進行日誌記錄。我一直在嘗試使用Logentries加載項,這是一項很好的服務,可以管理所有應用程序日誌記錄,然後通過其Web界面進行查看。現在已經到了免費試用期的結束,我想在付費購買之前先做自己的日誌。AppHarbor和亞馬遜S3的良好日誌記錄策略

因爲我使用的是AppHarbor,所以他們建議不要寫入文件系統,因爲它在每次部署時都會被擦除,並且在進行流式處理時,我會每天進行多次部署。無論如何,我使用S3來存儲圖像,所以在那裏存儲日誌似乎也很自然。

我可以用這種方法看到的問題是,我會將日誌語句觸發到存儲在S3上的文本文件中,我需要將其附加到該文件中。一旦網站獲得了一些流量,將會有多個同時調用來存儲日誌條目,這可能最終會鎖定寫入機制。有沒有更好的方法來做到這一點,我不知道?也許在發送它們之前以某種方式批處理日誌條目?我使用Raven作爲我的數據庫,因此如果沒有更好的選擇,可以直接將日誌寫入Raven

回答

2

它看起來並不像有對S3或RavenDB NLOG目標,但也有一堆或其他選項:http://nlog-project.org/wiki/Targets

+0

感謝@friism - 看起來像一個人寫了一RavenDB目標:https://開頭的github .com/mswietlicki/NLog.RavenDb – levelnis 2013-03-09 09:53:04

+0

但仔細觀察,這是我以前無法工作的項目,這就是爲什麼我首先使用Logentries的原因 – levelnis 2013-03-09 09:56:57

+1

現在我已經得到了它的工作。我在我的解決方案中有兩個項目,只將這個包添加到了Web項目中。一旦我將其添加到域項目以及它開始工作。 – levelnis 2013-03-09 22:11:18