MCPcopy Create free account
hub / github.com/LumaAI-API/Luma-API / SetupLogger

Function SetupLogger

common/log.go:20–95  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

18var setupLogLock sync.Mutex
19
20func SetupLogger() {
21 if Logger != nil {
22 return
23 }
24 ok := setupLogLock.TryLock()
25 if !ok {
26 log.Println("setup log is already working")
27 return
28 }
29 defer func() {
30 setupLogLock.Unlock()
31 }()
32 levelEnabler := zapcore.DebugLevel
33 syncers := []zapcore.WriteSyncer{zapcore.AddSync(os.Stdout)}
34
35 if LogDir != "" {
36 var err error
37 LogDir, err = filepath.Abs(LogDir)
38 if err != nil {
39 log.Fatal(err)
40 }
41 if _, err := os.Stat(LogDir); os.IsNotExist(err) {
42 err = os.Mkdir(LogDir, 0777)
43 if err != nil {
44 log.Fatal(err)
45 }
46 }
47
48 if RotateLogs {
49 fd, err := rotatelogs.New(
50 filepath.Join(LogDir, "%Y%m%d", "%H:%M.log"),
51 rotatelogs.WithRotationTime(time.Hour),
52 rotatelogs.WithMaxAge(time.Hour*24*100),
53 )
54 if err != nil {
55 log.Fatal("failed to open rotateLogs")
56 }
57 syncers = append(syncers, zapcore.AddSync(fd))
58 } else {
59 logPath := filepath.Join(LogDir, fmt.Sprintf("luma2api-%s.log", time.Now().Format("20060102")))
60 fd, err := os.OpenFile(logPath, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
61 if err != nil {
62 log.Fatal("failed to open log file")
63 }
64 syncers = append(syncers, zapcore.AddSync(fd))
65 }
66 }
67 enc := zapcore.NewJSONEncoder(zapcore.EncoderConfig{
68 TimeKey: "_time", // Modified
69 LevelKey: "level",
70 NameKey: "logger",
71 CallerKey: "caller",
72 //FunctionKey: zapcore.OmitKey,
73 MessageKey: "msg",
74 StacktraceKey: "stacktrace",
75 LineEnding: zapcore.DefaultLineEnding,
76 EncodeLevel: zapcore.LowercaseLevelEncoder,
77 EncodeTime: zapcore.RFC3339NanoTimeEncoder, // Modified

Callers 1

mainFunction · 0.92

Calls

no outgoing calls

Tested by

no test coverage detected