genofire/hs_monolith
genofire
/
hs_monolith
Archived
1
0
Fork 0
This repository has been archived on 2020-09-27. You can view files and clone it, but cannot push or open issues or pull requests.
hs_monolith/lib/log/log.go

33 lines
667 B
Go
Raw Permalink Normal View History

2017-05-03 07:16:45 +02:00
// Package that provides the functionality to start und initialize the logger
package log
2017-03-30 14:49:14 +02:00
import (
"log"
"net/http"
logger "github.com/Sirupsen/logrus"
)
2017-05-15 10:22:24 +02:00
// Current logger with it's configuration
2017-03-30 14:49:14 +02:00
var Log *logger.Logger
2017-04-28 10:14:59 +02:00
// Function to initiate a new logger
2017-03-30 17:02:20 +02:00
func init() {
2017-03-30 14:49:14 +02:00
Log = logger.New()
2017-05-15 10:22:24 +02:00
// Enable fallback, if core logger
log.SetOutput(Log.Writer())
2017-03-30 14:49:14 +02:00
}
2017-04-28 10:14:59 +02:00
// Function to add the information of a http request to the log
func HTTP(r *http.Request) *logger.Entry {
2017-03-30 14:49:14 +02:00
ip := r.Header.Get("X-Forwarded-For")
if len(ip) <= 1 {
ip = r.RemoteAddr
}
return Log.WithFields(logger.Fields{
2017-03-30 17:02:20 +02:00
"remote": ip,
2017-03-30 14:49:14 +02:00
"method": r.Method,
2017-03-30 17:02:20 +02:00
"url": r.URL.RequestURI(),
2017-03-30 14:49:14 +02:00
})
}