douba5540 2014-01-08 05:34
浏览 281
已采纳

如何为http.ListenAndServe设置访问/错误日志

I am using the following for a simple server. I am wondering how to setup an access log for all the requests logging the timestamp, method, request url and the http response code.

http.HandleFunc("/foo", funcFoo)
err := http.ListenAndServe("127.0.0.1:2074", nil)
  • 写回答

1条回答 默认 最新

  • dongyiba8082 2014-01-08 07:11
    关注

    Take a look here: http://github.com/gorilla/handlers

    http.Handle("/foo", funcFoo)
    err := http.ListenAndServe("127.0.0.1:2074", handlers.LoggingHandler(os.Stdout, http.DefaultServeMux))
    

    This will log any incoming connections across the whole server. os.Stdout can be replaced by anything that provides an io.Writer (i.e. a file, a HTTP stream, etc). If you want it to be per-route, you can do:

    http.Handle("/foo", handlers.LoggingHandler(os.Stdout, funcFoo))
    

    It will also work with gorilla/mux and other routers/frameworks that are http.Handler compatible.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 怎么在stm32门禁成品上增加记录功能
  • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面
  • ¥50 NT4.0系统 STOP:0X0000007B
  • ¥15 想问一下stata17中这段代码哪里有问题呀
  • ¥15 flink cdc无法实时同步mysql数据
  • ¥100 有人会搭建GPT-J-6B框架吗?有偿
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号