diff --git a/deploy/dockerfile/modelrt.Dockerfile b/deploy/dockerfile/modelrt.Dockerfile new file mode 100644 index 0000000..0bb0e5b --- /dev/null +++ b/deploy/dockerfile/modelrt.Dockerfile @@ -0,0 +1,15 @@ +FROM golang:1.24-alpine AS builder + +WORKDIR /app +COPY go.mod . +COPY go.sum . +RUN GOPROXY="https://goproxy.cn,direct" go mod download +COPY . . +RUN CGO_ENABLED=0 go build -ldflags="-s -w" -o modelrt main.go + +FROM alpine:latest +WORKDIR /app +COPY --from=builder /app/modelrt ./modelrt +COPY configs/config.example.yaml ./configs/config.example.yaml +RUN chmod +x /app/modelrt +CMD ["/app/modelrt"] \ No newline at end of file diff --git a/logger/zap.go b/logger/zap.go index 9f34c9e..5e65db7 100644 --- a/logger/zap.go +++ b/logger/zap.go @@ -77,7 +77,6 @@ func InitLoggerInstance(lCfg config.LoggerConfig) { once.Do(func() { _globalLogger = initLogger(lCfg) }) - defer _globalLogger.Sync() } // GetLoggerInstance define func of returns the global logger instance It's safe for concurrent use. diff --git a/main.go b/main.go index be11bea..df5e066 100644 --- a/main.go +++ b/main.go @@ -6,6 +6,7 @@ import ( "errors" "flag" "fmt" + "log" "net/http" "os" "os/signal" @@ -76,7 +77,7 @@ func main() { configPath := filepath.Join(*modelRTConfigDir, *modelRTConfigName+"."+*modelRTConfigType) if _, err := os.Stat(configPath); os.IsNotExist(err) { - logger.Info(ctx, "configuration file not found,checking for example file") + log.Println("configuration file not found,checking for example file") exampleConfigPath := filepath.Join(*modelRTConfigDir, *modelRTConfigName+".example."+*modelRTConfigType) if _, err := os.Stat(exampleConfigPath); err == nil { @@ -94,6 +95,7 @@ func main() { // init logger logger.InitLoggerInstance(modelRTConfig.LoggerConfig) + defer logger.GetLoggerInstance().Sync() hostName, err := os.Hostname() if err != nil {