gin icon indicating copy to clipboard operation
gin copied to clipboard

gin.setMode release effect,but console still output run on debug mode

Open awefire opened this issue 1 year ago • 6 comments

  • With issues:
    • Use the search tool before opening a new issue.
    • Please provide source code and commit sha if you found a bug.
    • Review existing issues and provide feedback or react to them.

Description

gin.setMode release effect,but console still output run on debug mode

How to reproduce

gin.SetMode(gin.ReleaseMode)
if gin.Mode() == gin.ReleaseMode {
	f, _ := os.Create(cfg.Section("log").Key("path").String())
	gin.DefaultWriter = io.MultiWriter(f)
}
routes.Run(cfg.Section("httpserver").Key("port").String())

Expectations

[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)

Actual result

[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)

## Environment

- go version:1.19
- gin version (or commit ref):1.8.1
- operating system:windows10

awefire avatar Aug 03 '22 08:08 awefire

in order to set env variable in windows you have to use set:

set GIN_MODE="release"

https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/set_1

Gasoid avatar Aug 09 '22 15:08 Gasoid

@Gasoid why?

in order to set env variable in windows you have to use set:

why doesn't work as code on windows?

SeanTolstoyevski avatar Aug 30 '22 20:08 SeanTolstoyevski

according to code https://github.com/gin-gonic/gin/blob/2ae61570499d8bb5eb05e46d22a3754cf2635e63/mode.go#L57-L78 it is pretty straightforward. Do you have full context of your code ? before gin.SetMode(gin.ReleaseMode)

Gasoid avatar Aug 31 '22 07:08 Gasoid

in order to set env variable in windows you have to use set:

set GIN_MODE="release"

https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/set_1

  • cmd

set GIN_MODE=release

No quotes

  • PowerShell

$env:GIN_MODE="release"

Need quotes

YCF avatar May 25 '23 08:05 YCF

my os is ubuntu 20 and I have the same problem , here is my code:

        gin.SetMode(gin.ReleaseMode)
	gin.DefaultWriter = io.Discard

	router := routers.InitRouter()
	fmt.Println("gin.IsDebugging() : ", gin.IsDebugging())

	server := &http.Server{
		Addr:    "0.0.0.0:8010",
		Handler: router,
	}

	// log.Printf("[info] start http server listening %s", endpoint)
	err := server.ListenAndServe()
	if err != nil {
		log.Fatal("fatal error in serve http : ", err.Error())
	}

and then output :

[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)

gin.IsDebugging() :  false

go : 1.20 gin : 1.9.0

does anyone notice?

mrtdeh avatar May 29 '23 09:05 mrtdeh

I found the problem My mistake is an extra gin.New() was in other files that I forgot to remove and caused this warning.

mrtdeh avatar May 29 '23 10:05 mrtdeh