You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@couchdb.apache.org by Thomas Van de Velde <th...@gmail.com> on 2011/10/07 00:34:18 UTC
[Erlang] Logging
Hi,
Is there a way to log from within an Erlang view? I am trying to reproduce
the unit test for the list function and am getting an error. I'd like to log
the value of "Val" so I can understand the underlying data structure. I
tried error_logger:info_report(Val). Thanks!
Output from view:
{"total_rows": 1,"offset": 0,"rows": [{"id": "1","key": 1,"value": "str1"}]}
List code:
fun(Head, {Req}) ->
Send(<<"head">>),
Fun = fun({Row}, _) ->
Val = couch_util:get_value(<<"value">>, Row, -1),
Send(list_to_binary(integer_to_list(Val))),
{ok, nil}
end,
{ok, _} = FoldRows(Fun, nil),
<<"tail">>
end.
Error:
[Thu, 06 Oct 2011 22:27:53 GMT] [info] [<0.7216.1>] Stacktrace:
[{erlang,list_to_binary,
[[{'EXIT',
{{case_clause,
{'EXIT',
{badarg,
[{erlang,integer_to_list,
[<<"str1">>]},
{erl_eval,do_apply,5},
Re: [Erlang] Logging
Posted by Paul Davis <pa...@gmail.com>.
Its not the prettiest, but you can do this:
Log(lists:flatten(io_lib:format("~p", [Val])))
On Thu, Oct 6, 2011 at 5:34 PM, Thomas Van de Velde
<th...@gmail.com> wrote:
> Hi,
>
> Is there a way to log from within an Erlang view? I am trying to reproduce
> the unit test for the list function and am getting an error. I'd like to log
> the value of "Val" so I can understand the underlying data structure. I
> tried error_logger:info_report(Val). Thanks!
>
> Output from view:
>
> {"total_rows": 1,"offset": 0,"rows": [{"id": "1","key": 1,"value": "str1"}]}
>
> List code:
>
> fun(Head, {Req}) ->
> Send(<<"head">>),
> Fun = fun({Row}, _) ->
> Val = couch_util:get_value(<<"value">>, Row, -1),
> Send(list_to_binary(integer_to_list(Val))),
> {ok, nil}
> end,
> {ok, _} = FoldRows(Fun, nil),
> <<"tail">>
> end.
>
> Error:
>
> [Thu, 06 Oct 2011 22:27:53 GMT] [info] [<0.7216.1>] Stacktrace:
> [{erlang,list_to_binary,
> [[{'EXIT',
> {{case_clause,
> {'EXIT',
> {badarg,
> [{erlang,integer_to_list,
> [<<"str1">>]},
> {erl_eval,do_apply,5},
>