Select Git revision
time_series.go
-
Jan Semmelink authoredJan Semmelink authored
logs.go 5.27 KiB
package logs
import (
"errors"
"fmt"
"net/http"
"net/url"
"os"
"runtime"
"strings"
"github.com/MindscapeHQ/raygun4go"
"github.com/aws/aws-lambda-go/events"
log "github.com/sirupsen/logrus"
)
var logger *log.Entry
var apiRequest *events.APIGatewayProxyRequest
var currentRequestID *string
var isDebug = false
var build string
var raygunClient *raygun4go.Client
// TODO
// Sensitive word filtering
func InitLogs(requestID *string, isDebugBuild bool, buildVersion string, request *events.APIGatewayProxyRequest, client *raygun4go.Client) {
currentRequestID = requestID
apiRequest = request
isDebug = isDebugBuild
build = buildVersion
raygunClient = client
if isDebugBuild {
log.SetReportCaller(true)
log.SetFormatter(&log.TextFormatter{
ForceColors: true,
PadLevelText: true,
DisableTimestamp: true,
CallerPrettyfier: func(f *runtime.Frame) (string, string) {
// Exclude the caller, will rather be added as a field
return "", ""
},
})
} else {
log.SetReportCaller(true)
log.SetFormatter(&log.JSONFormatter{
CallerPrettyfier: func(f *runtime.Frame) (string, string) {
// Exclude the caller, will rather be added as a field
return "", ""
}})
}
log.SetLevel(LogLevel())
val, exists := os.LookupEnv("DEBUGGING")
if exists && val == "true" {
log.SetLevel(log.TraceLevel)
log.SetReportCaller(true)
}
logger = log.WithFields(log.Fields{
"environment": getEnvironment(),
})
if requestID != nil {
logger = log.WithFields(log.Fields{
"request_id": *requestID,
})