我有這樣的日志格式:[26830431.7966868][4][0.013590574264526367][30398][api][1374829886.320353][init] GET /foo {"controller"=>"foo", "action"=>"index"}[26830431.7966868][666][2.1876697540283203][30398][api][1374829888.4944339][request_end] 200 OK條目是使用這樣的模式來構造的:[request_id][user_id][time_from_request_started][process_id][app][timestamp][tagline] payload在請求期間,我有很多地方可以記錄一些東西 - 應用程序基本上具有復雜的行為。這有助于我調試很多用戶行為。我想解析它的方式是我想讓目錄結構是這樣的:req_id | |----[time_from_request_started][process_id][timestamp][tagline] | etc基本上每個目錄都有基于 req_id 的名稱,文件名是標語的其余部分。這些文件將包括有效載荷。而且我還會有其他目錄,帶有用戶 ID,其中將包含由該用戶完成的請求的符號鏈接。第一個問題:這個結構是否正確?在我看來,這將使快速的日志訪問變得容易。我想使用目錄和文件的原因是我喜歡unix方法,并嘗試它(自己感受它的缺點和優點)第二個問題:我使用 ruby 來創建這個沒有問題。但是我想學習一些新工具,它更適合于此。我正在考慮只使用 unix 工具(pipe、awk 等)來實現這一點,或者在我現在正在學習的 golang 中編寫解析器(甚至有時間實現簡單的 map reduce)。什么工具最適合這個?
2 回答

ITMISS
TA貢獻1871條經驗 獲得超8個贊
這個結構正確嗎?
只有您自己知道,這直接取決于需要如何訪問和使用數據。
什么工具最適合這個?
您可能可以使用 UNIX 工具來實現這一點,但通過編寫此內容來練習您的 Go 技能也可能是一個很好的練習。它也將更具可擴展性。
- 2 回答
- 0 關注
- 248 瀏覽
添加回答
舉報
0/150
提交
取消