anchor.diff:      , couch_log:info("Log (~w): ~s", [Type, Filename])
       .
   
  +month("01") -> <<"Jan">>;
  +month("02") -> <<"Feb">>;
  +month("03") -> <<"Mar">>;
  +month("04") -> <<"Apr">>;
  +month("05") -> <<"May">>;
  +month("06") -> <<"Jun">>;
  +month("07") -> <<"Jul">>;
  +month("08") -> <<"Aug">>;
  +month("09") -> <<"Sep">>;
  +month("10") -> <<"Oct">>;
  +month("11") -> <<"Nov">>;
  +month("12") -> <<"Dec">>.
   
   %% -*- erlang-indent-level: 4;indent-tabs-mode: nil -*-
   %% ex: ts=4 sw=4 et
  
positive.code: 
  on({log_request, #httpd{mochi_req=MochiReq, peer=Peer, user_ctx=UserCtx}, Code}) -> ok
      % "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""
      , User = case UserCtx
          of #user_ctx{name=null}      -> ?BLANK
          ;  #user_ctx{name=User_name} -> User_name
  
negative.code:         ; Agent0 -> Agent0
          end
  
      , Format = "~s - ~s [~s +0000] \"~s ~s HTTP/~B.~B\" ~B ~s \"~s\" \"~s\""
      , Args = [Peer, User, Timestamp, Method, Path, Ver_maj, Ver_min, Code, Size, Referer, Agent]
      , lager:info([{type,access}], Format, Args)
      ;
  
  % This catch-all handler ignores all other events.
  