royallthefourth / logger

:writing_hand:HTTP logger middleware for Go

Home Page:https://godoc.org/github.com/go-http-utils/logger

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

logger

HTTP logger middleware for Go. Forked from the apparently dead repo github.com/go-http-utils/logger

Installation

go get -u github.com/royallthefourth/logger

Documentation

https://godoc.org/github.com/royallthefourth/logger

Usage

import (
  "net/http"
  "os"

  "github.com/royallthefourth/logger"
)

mux := http.NewServeMux()
mux.HandleFunc("/", func(res http.ResponseWriter, req *http.Request) {
  res.Write([]byte("Hello World"))
})

http.ListenAndServe(":8080", logger.Handler(mux, os.Stdout, logger.DevLoggerType))

Supported log output formats

CombinedLoggerType

CombinedLoggerType is the standard Apache combined log output

:remote-addr - :remote-user [:date[clf]] ":method :url HTTP/:http-version" :status :res[content-length] ":referrer" ":user-agent"

CommonLoggerType

CommonLoggerType is the standard Apache common log output

:remote-addr - :remote-user [:date[clf]] ":method :url HTTP/:http-version" :status :res[content-length]

DevLoggerType

DevLoggerType is useful for development

:method :url :status :response-time ms - :res[content-length]

ShortLoggerType

ShortLoggerType is shorter than common, including response time

:remote-addr :remote-user :method :url HTTP/:http-version :status :res[content-length] - :response-time ms

TinyLoggerType

TinyLoggerType is the minimal output

:method :url :status :res[content-length] - :response-time ms

About

:writing_hand:HTTP logger middleware for Go

https://godoc.org/github.com/go-http-utils/logger

License:MIT License


Languages

Language:Go 100.0%