我的网站之一是在牛仔服务器上使用氮气。
我想记录对网页的每次访问,就像Apache使用access.log一样。
最好的方法是什么?
最佳答案
您可以使用牛仔中间件https://ninenines.eu/docs/en/cowboy/1.0/guide/middlewares/
只需创建一个简单的日志模块:
-module(app_web_log).
-behaviour(cowboy_middleware).
-export([execute/2]).
execute(Req, Env) ->
{{Peer, _}, Req2} = cowboy_req:peer(Req),
{Method, Req3} = cowboy_req:method(Req2),
{Path, Req4} = cowboy_req:path(Req3),
error_logger:info_msg("~p: [~p]: ~p ~p", [calendar:universal_time(), Peer, Method, Path]),
{ok, Req4, Env}.
并将其添加到中间件列表中:
{ok, _} = cowboy:start_http(http, 100, [{port, 8080}], [
{env, [{dispatch, Dispatch}]},
{middlewares, [cowboy_router, app_web_log, cowboy_handler]}]).
关于erlang - 记录访问网页的最佳方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27165682/