Преглед изворни кода

Print warning log when user create one engine using gin.Default in debug mode (#1121)

* empty string check

* add log when use Default

* fix unit test error

* fix unit test error
田欧 пре 8 година
родитељ
комит
0cb7c44abc
3 измењених фајлова са 25 додато и 0 уклоњено
  1. 6 0
      debug.go
  2. 18 0
      debug_test.go
  3. 1 0
      gin.go

+ 6 - 0
debug.go

@@ -46,6 +46,12 @@ func debugPrint(format string, values ...interface{}) {
 	}
 }
 
+func debugPrintWARNINGDefault() {
+	debugPrint(`[WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.
+
+`)
+}
+
 func debugPrintWARNINGNew() {
 	debugPrint(`[WARNING] Running in "debug" mode. Switch to "release" mode in production.
  - using env:	export GIN_MODE=release

+ 18 - 0
debug_test.go

@@ -86,6 +86,24 @@ func TestDebugPrintWARNINGSetHTMLTemplate(t *testing.T) {
 	assert.Equal(t, "[GIN-debug] [WARNING] Since SetHTMLTemplate() is NOT thread-safe. It should only be called\nat initialization. ie. before any route is registered or the router is listening in a socket:\n\n\trouter := gin.Default()\n\trouter.SetHTMLTemplate(template) // << good place\n\n", w.String())
 }
 
+func TestDebugPrintWARNINGDefault(t *testing.T) {
+	var w bytes.Buffer
+	setup(&w)
+	defer teardown()
+
+	debugPrintWARNINGDefault()
+	assert.Equal(t, "[GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.\n\n", w.String())
+}
+
+func TestDebugPrintWARNINGNew(t *testing.T) {
+	var w bytes.Buffer
+	setup(&w)
+	defer teardown()
+
+	debugPrintWARNINGNew()
+	assert.Equal(t, "[GIN-debug] [WARNING] Running in \"debug\" mode. Switch to \"release\" mode in production.\n - using env:\texport GIN_MODE=release\n - using code:\tgin.SetMode(gin.ReleaseMode)\n\n", w.String())
+}
+
 func setup(w io.Writer) {
 	SetMode(DebugMode)
 	log.SetOutput(w)

+ 1 - 0
gin.go

@@ -144,6 +144,7 @@ func New() *Engine {
 
 // Default returns an Engine instance with the Logger and Recovery middleware already attached.
 func Default() *Engine {
+	debugPrintWARNINGDefault()
 	engine := New()
 	engine.Use(Logger(), Recovery())
 	return engine