How to set gin mode to release mode?

Viewed 27518

I need to set gin mode to release mode. How should I do it?

Now when I run my API there is a hint like this:

[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
 - using env:   export GIN_MODE=release
 - using code:  gin.SetMode(gin.ReleaseMode)

I tried gin.SetMode(gin.ReleaseMode) but it does not work. I initialize my router here:

gin.SetMode(gin.releaseMode)    
router := gin.Default()
5 Answers

You have to call SetMode method before you initialize the gin router. E.x:

gin.SetMode(gin.ReleaseMode)
router := gin.New()

Just add gin.SetMode(gin.ReleaseMode) in your main function.

gin.SetMode(gin.ReleaseMode)

This works. Remember that you need to set this before creating the router in your init function/main. It does not seem to work otherwise i.e Your code would look something like this.

func init() {
    gin.SetMode(gin.ReleaseMode)
    r := NewRouter()
    err := r.Run("8080")
}

The init function is called for each source file after all the packages are imported and the variables are initialized. https://golang.org/doc/effective_go.html#init

It would seem you do this by calling the SetMode method from within your app. Probably in your main, or possibly in an init function.

Related