logger

package module
v0.0.0-...-732b385 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 11, 2018 License: MIT Imports: 9 Imported by: 0

README

logger

Build Status Coverage Status

HTTP logger middleware for Go

Installation

go get -u github.com/go-http-utils/logger

Documentation

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

Usage

import (
  "net/http"
  "os"

  "github.com/go-http-utils/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))

Supportted log output format

CombineLoggerType

CombineLoggerType 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 ouput

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DefaultHandler

func DefaultHandler(h http.Handler) http.Handler

DefaultHandler returns a http.Handler that wraps h by using Apache combined log output and print to os.Stdout

func Handler

func Handler(h http.Handler, writer io.Writer, t Type, stats *statsd.Client) http.Handler

Handler returns a http.Hanlder that wraps h by using t type log output and print to writer

Types

type Type

type Type int

Type represents logger's type

const (
	// Version is this package's version
	Version = "0.3.0"

	// CombineLoggerType is the standard Apache combined log output
	//
	// format:
	//
	// :remote-addr - :remote-user [:date[clf]] ":method :url
	// HTTP/:http-version" :status :res[content-length] ":referrer" ":user-agent"
	CombineLoggerType Type = iota
	// CommonLoggerType is the standard Apache common log output
	//
	// format:
	//
	// :remote-addr - :remote-user [:date[clf]] ":method :url
	// HTTP/:http-version" :status :res[content-length]
	CommonLoggerType
	// DevLoggerType is useful for development
	//
	// format:
	//
	// :method :url :status :response-time ms - :res[content-length]
	DevLoggerType
	// ShortLoggerType is shorter than common, including response time
	//
	// format:
	//
	// :remote-addr :remote-user :method :url HTTP/:http-version :status
	// :res[content-length] - :response-time ms
	ShortLoggerType
	// TinyLoggerType is the minimal ouput
	//
	// format:
	//
	// :method :url :status :res[content-length] - :response-time ms
	TinyLoggerType

	// Disable logging
	NoneLoggerType
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL