Suppress log of a response for clustered interface COUCHDB-2945
Project: http://git-wip-us.apache.org/repos/asf/couchdb-couch/repo Commit: http://git-wip-us.apache.org/repos/asf/couchdb-couch/commit/7cf698e2 Tree: http://git-wip-us.apache.org/repos/asf/couchdb-couch/tree/7cf698e2 Diff: http://git-wip-us.apache.org/repos/asf/couchdb-couch/diff/7cf698e2 Branch: refs/heads/master Commit: 7cf698e2dfb9986f54ad3d02476727d94299b7fc Parents: f58817f Author: ILYA Khlopotov <iil...@ca.ibm.com> Authored: Thu Mar 3 08:08:46 2016 -0800 Committer: ILYA Khlopotov <iil...@ca.ibm.com> Committed: Thu Mar 3 11:38:17 2016 -0800 ---------------------------------------------------------------------- src/couch_httpd.erl | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/couchdb-couch/blob/7cf698e2/src/couch_httpd.erl ---------------------------------------------------------------------- diff --git a/src/couch_httpd.erl b/src/couch_httpd.erl index c88e2e7..645176b 100644 --- a/src/couch_httpd.erl +++ b/src/couch_httpd.erl @@ -649,6 +649,18 @@ log_request(#httpd{mochi_req=MochiReq,peer=Peer}=Req, Code) -> gen_event:notify(couch_plugin, {log_request, Req, Code}) end. +log_response(Code, Body) -> + case erlang:get(dont_log_response) of + true -> + ok; + _ when Code >= 500 -> + couch_log:error("httpd ~p error response:~n ~s", [Code, Body]); + _ when Code >= 400 -> + couch_log:error("httpd ~p error response:~n ~s", [Code, Body]); + _ -> + ok + end. + start_response_length(#httpd{mochi_req=MochiReq}=Req, Code, Headers, Length) -> log_request(Req, Code), couch_stats:increment_counter([couchdb, httpd_status_codes, Code]), @@ -729,15 +741,9 @@ send_response_no_cors(#httpd{mochi_req=MochiReq}=Req, Code, Headers, Body) -> log_request(Req, Code), couch_stats:increment_counter([couchdb, httpd_status_codes, Code]), Headers1 = http_1_0_keep_alive(MochiReq, Headers), - if Code >= 500 -> - couch_log:error("httpd ~p error response:~n ~s", [Code, Body]); - Code >= 400 -> - couch_log:debug("httpd ~p error response:~n ~s", [Code, Body]); - true -> ok - end, Headers2 = Headers1 ++ server_header() ++ couch_httpd_auth:cookie_auth_header(Req, Headers1), - + log_response(Code, Body), {ok, MochiReq:respond({Code, Headers2, Body})}. send_method_not_allowed(Req, Methods) ->