我使用以下内容作为简单的服务器.我想知道如何为记录时间戳,方法,请求URL和http响应代码的所有请求设置访问日志.
http.HandleFunc("/foo", funcFoo) err := http.ListenAndServe("127.0.0.1:2074", nil)
elithrar.. 26
看看这里:http://github.com/gorilla/handlers
http.Handle("/foo", funcFoo) err := http.ListenAndServe("127.0.0.1:2074", handlers.LoggingHandler(os.Stdout, http.DefaultServeMux))
这将记录整个服务器上的任何传入连接.os.Stdout
可以被提供io.Writer
(即文件,HTTP流等)的任何东西替换.如果您希望它是每个路由,您可以:
http.Handle("/foo", handlers.LoggingHandler(os.Stdout, funcFoo))
它还可以与gorilla/mux和其他与http.Handler兼容的路由器/框架一起使用.
看看这里:http://github.com/gorilla/handlers
http.Handle("/foo", funcFoo) err := http.ListenAndServe("127.0.0.1:2074", handlers.LoggingHandler(os.Stdout, http.DefaultServeMux))
这将记录整个服务器上的任何传入连接.os.Stdout
可以被提供io.Writer
(即文件,HTTP流等)的任何东西替换.如果您希望它是每个路由,您可以:
http.Handle("/foo", handlers.LoggingHandler(os.Stdout, funcFoo))
它还可以与gorilla/mux和其他与http.Handler兼容的路由器/框架一起使用.