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.
2017-03-30 15:36:04 +02:00
|
|
|
package log
|
2017-03-30 14:49:14 +02:00
|
|
|
|
|
|
|
import (
|
|
|
|
"log"
|
|
|
|
"net/http"
|
|
|
|
|
|
|
|
logger "github.com/Sirupsen/logrus"
|
|
|
|
)
|
|
|
|
|
|
|
|
var Log *logger.Logger
|
|
|
|
|
2017-03-30 17:02:20 +02:00
|
|
|
func init() {
|
2017-03-30 14:49:14 +02:00
|
|
|
Log = logger.New()
|
2017-03-30 15:36:04 +02:00
|
|
|
// Enable fallback if core logger is used:
|
2017-03-30 14:49:14 +02:00
|
|
|
log.SetOutput(Log.Writer())
|
|
|
|
}
|
|
|
|
|
2017-03-30 15:36:04 +02:00
|
|
|
// HTTP to add information of a httprequest to 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
|
|
|
})
|
|
|
|
}
|