Erlang *性能记录器中的webmachine访问帖子正文
正在尝试拦截webmachine API上的所有请求。我复制了一份webmachine\u perf\u logger.erl,并更改为发布{verb,resource,module} 对于帖子,我也对BODY感兴趣。因为webmachine\u decision\u core.erl中的日志部分是在不同的过程中触发的Erlang *性能记录器中的webmachine访问帖子正文,erlang,mochiweb,webmachine,Erlang,Mochiweb,Webmachine,正在尝试拦截webmachine API上的所有请求。我复制了一份webmachine\u perf\u logger.erl,并更改为发布{verb,resource,module} 对于帖子,我也对BODY感兴趣。因为webmachine\u decision\u core.erl中的日志部分是在不同的过程中触发的 respond(Code) -> .... spawn(fun() -> do_log(LogData) end), 我不知道如何才能访问
respond(Code) ->
....
spawn(fun() -> do_log(LogData) end),
我不知道如何才能访问it
是否有任何方法可以访问它或其他替代方法,我们对此表示感谢。您是否尝试过
finish\u请求
resource函数()?与任何其他资源函数一样,它接收请求数据和上下文。你可以这样做:
finish_request(ReqData, Context) ->
do_log(extract_log_data(ReqData, Context)),
{true, ReqData, Context}.
这将记录您从每个请求的请求数据和上下文中提取的任何内容。请注意,崩溃的请求可能不会调用
finish\u请求
,这仅适用于每个*\u资源。我想要的是交叉关注。对于finish_请求,如果添加了一个新资源而没有实现finish_请求,那么我将失去对它的监视。我脑子里只知道一个牛仔式的解决办法;)话虽如此。。您应该看看chef\u wm
如何使用finish\u request
。了解其他资源的使用情况以及如何使用chef\u wm\u base
。Opscode在erchef
实现方面做了一项惊人的工作。听起来这很有趣