2014-09-28 136 views
0

是否可以從couchapp中寫入couchdb服務器日誌(由default.ini或local.ini中的[log]定義的日誌)? (但從somewhere else than a view自couchapp在couch.log中自定義日誌記錄?

如果這是不可能的,也許有一種解決方法,可以記錄在couchdb服務器日誌中成功或不成功的身份驗證嘗試?我想處理此服務器端,想避免記錄所有的httpd活動和grepping爲用戶登錄模式,這似乎並不容易,也不漂亮......

乾杯,

回答

0

一年後我發現,它實際上可能使用log()功能從視圖(或列表或any Javascript Design Doc functions)登錄:http://docs.couchdb.org/en/1.6.1/query-server/javascript.html#log

日誌(消息)

記錄一條消息給CouchDB日誌(在INFO級別)。

參數:
消息 - 消息要記錄

function(doc){ 
    log('Procesing doc ' + doc['_id']); 
    emit(doc['_id'], null); 
} 

在地圖功能運行後,下面的行可以在CouchDB中日誌中找到(例如位於/ var /日誌/ CouchDB的/couch.log):

[Sat, 03 Nov 2012 17:38:02 GMT] [info] [<0.7543.0>] OS Process #Port<0.3289> Log :: Processing doc 8d300b86622d67953d102165dbe99467 

誰會想到:)

0

我敢肯定,你不能從視圖寫入couch.log,它是一個沙盒系統。

獲取連接到服務器的記錄雖然可能。下面是從我couch.log轉儲,與HTTP錯誤有:

/ 
[Sat, 13 Sep 2014 08:18:57 GMT] [info] [<0.160.0>] Opening index for db: test idx: _design/ivet sig: "f6b64ef8593e23cac644c13b895b7607" 
[Sat, 13 Sep 2014 08:18:57 GMT] [info] [<0.121.0>] 127.0.0.1 - - GET /test/_design/ivet/_view/medicationWHP/foobar?include_docs=true 200 
[Sat, 13 Sep 2014 08:18:57 GMT] [info] [<0.121.0>] 127.0.0.1 - - GET /test/_design/ivet/_view/medicationWHP/foobar?include_docs=true 500 
[Sat, 13 Sep 2014 08:18:57 GMT] [error] [<0.121.0>] httpd 500 error response: 
{"error":"json_encode","reason":"{bad_term,{key,null}}"} 

[Sat, 13 Sep 2014 08:19:05 GMT] [info] [<0.36.0>] Apache CouchDB has started on http://127.0.0.1:5984/ 

你可以看到它的每一行動詞路徑代碼的格式,所以你可以過濾任何你所需要的。 (未授權爲401)您還可以通過/ _log訪問日誌。對細節的位置:

http://docs.couchdb.org/en/latest/api/server/common.html#log

要獲得所有這些信息,你需要有設置信息的日誌級別。您可以在蒲團的配置屏幕上執行此操作。

要做到服務器端,你可能需要使用node.js或類似的東西。只要它使用/ _log端點,並通過HTTP響應代碼篩選每一行。

+0

嘿,謝謝你的回答,我對此感到驚訝,並在我的問題中提到:「想避免記錄所有httpd活動和grepping用戶日誌模式,這似乎並不容易或漂亮.. 「。但無論如何,很高興知道以其他方式可能無法實現。你有沒有看到爲什麼不是?它似乎並不是一個安全問題,它會對很多事情有用(度量,自定義錯誤......) – jun 2014-09-29 14:12:38

+0

我認爲原因是建築。 CouchDB和視圖服務器實際上是通過stdio進行通信的獨立程序。視圖服務器沒有自己的日誌,並且CouchDB和視圖服務器之間的通信協議沒有任何內容來促進日誌消息的傳輸。這不僅僅是在視圖服務器中調用log()的簡單情況。 – ddouglascarr 2014-10-03 11:06:07