Total Lines | 38 |
Duplicated Lines | 0 % |
Changes | 0 |
1 | package logger |
||
2 | |||
3 | import ( |
||
4 | "os" |
||
5 | |||
6 | "github.com/memnix/memnix-rest/config" |
||
7 | "github.com/memnix/memnix-rest/infrastructures" |
||
8 | "github.com/newrelic/go-agent/v3/integrations/logcontext-v2/zerologWriter" |
||
9 | "github.com/rs/zerolog" |
||
10 | "github.com/rs/zerolog/diode" |
||
11 | "github.com/rs/zerolog/log" |
||
12 | ) |
||
13 | |||
14 | func CreateNewRelicLogger() { |
||
15 | wr := diode.NewWriter(newRollingFile(), config.DiodeLoggerSize, config.DiodeLoggerTime, func(missed int) { |
||
16 | log.Printf("Logger Dropped %d messages", missed) |
||
17 | }) |
||
18 | writer := zerologWriter.New(wr, infrastructures.GetRelicApp()) |
||
19 | switch os.Getenv("LOG_LEVEL") { |
||
20 | case "debug": |
||
21 | zerolog.SetGlobalLevel(zerolog.DebugLevel) |
||
22 | writer = zerologWriter.New(prettyLogger(), infrastructures.GetRelicApp()) |
||
23 | |||
24 | case "info": |
||
25 | zerolog.SetGlobalLevel(zerolog.InfoLevel) |
||
26 | case "warn": |
||
27 | zerolog.SetGlobalLevel(zerolog.WarnLevel) |
||
28 | case "error": |
||
29 | zerolog.SetGlobalLevel(zerolog.ErrorLevel) |
||
30 | case "none": |
||
31 | zerolog.SetGlobalLevel(zerolog.Disabled) |
||
32 | default: |
||
33 | zerolog.SetGlobalLevel(zerolog.WarnLevel) |
||
34 | } |
||
35 | |||
36 | writer.DebugLogging(true) |
||
37 | |||
38 | log.Logger = zerolog.New(writer) |
||
39 | } |
||
40 |