2
0
mirror of https://github.com/acepanel/panel.git synced 2026-02-04 16:10:59 +08:00
Files
panel/internal/bootstrap/logger.go
2024-10-10 21:50:50 +08:00

42 lines
803 B
Go

package bootstrap
import (
"path/filepath"
"time"
"go.uber.org/zap"
"go.uber.org/zap/zapcore"
"gopkg.in/natefinch/lumberjack.v2"
"github.com/TheTNB/panel/internal/app"
)
func initLogger() {
writeSyncer := zapcore.AddSync(&lumberjack.Logger{
Filename: filepath.Join(app.Root, "panel/storage/logs/app.log"),
MaxSize: 10,
MaxBackups: 10,
MaxAge: 30,
Compress: true,
})
level := zapcore.InfoLevel
if app.Conf.Bool("app.debug") {
level = zapcore.DebugLevel
}
config := zap.NewProductionEncoderConfig()
config.EncodeTime = zapcore.TimeEncoderOfLayout(time.DateTime)
core := zapcore.NewCore(
zapcore.NewJSONEncoder(config),
writeSyncer,
level,
)
logger := zap.New(core)
defer func(logger *zap.Logger) {
_ = logger.Sync()
}(logger)
app.Logger = logger
}