2014-09-28 138 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