静态文件服务器
最近和服务端联调,
由于服务端的同志比较忙,
在需要排除服务端报错的情况下,
需要去找服务端大哥看日志。
然后今天想想,
服务端大哥忙的话,
不如把日志直接开放给我看好了。
于是想起之前写过python的静态文件服务器,
但是似乎挺卡的。
之前写的node静态文件服务器,
似乎不错。
于是开始搞过来,
改啊改。
突然又想到好久之前写了个go语言版本的静态文件服务器,
打包到对应平台的可执行包,
不用像node那样需要下载node,
下载npm包。
于是就愉快的打了个go的exe个服务端大哥,
扔到日志目录下,
双击运行。
然后直接我在自己的电脑上访问他的地址就可以实时的看到服务端的日志了。
全部代码就这么点,
编译一下就可以了。
package main
import (
"flag"
"fmt"
"log"
"net/http"
"os"
"github.com/gorilla/handlers"
)
var port = flag.Int("port", 3333, "static server port")
var dir = flag.String("dir", "./", "static server directory")
func Run() {
flag.Parse()
portstr := fmt.Sprintf(":%d", *port)
log.Println("Config", portstr, *dir)
err := http.ListenAndServe(portstr, handlers.CombinedLoggingHandler(os.Stdout, http.FileServer(http.Dir(*dir))))
log.Fatal(err)
}
func main() {
Run()
}
就这么方便:
2018-2-1更新:
加入了服务端日志输出,使用第三方库:github.com/gorilla/handlers
这样可以在服务端控制台输出访问日志了: