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

 xinzhugedonny 发布于 2023-02-05 12:01

我使用以下内容作为简单的服务器.我想知道如何为记录时间戳,方法,请求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兼容的路由器/框架一起使用.

1 个回答
  • 看看这里: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兼容的路由器/框架一起使用.

    2023-02-05 12:03 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有