소스 검색

Template debugging

Manu Mtz-Almeida 10 년 전
부모
커밋
2b3aa51738
2개의 변경된 파일18개의 추가작업 그리고 1개의 파일을 삭제
  1. 17 1
      debug.go
  2. 1 0
      gin.go

+ 17 - 1
debug.go

@@ -4,7 +4,11 @@
 
 package gin
 
-import "log"
+import (
+	"bytes"
+	"html/template"
+	"log"
+)
 
 func init() {
 	log.SetFlags(0)
@@ -24,6 +28,18 @@ func debugPrintRoute(httpMethod, absolutePath string, handlers HandlersChain) {
 	}
 }
 
+func debugPrintLoadTemplate(tmpl *template.Template) {
+	if IsDebugging() {
+		var buf bytes.Buffer
+		for _, tmpl := range tmpl.Templates() {
+			buf.WriteString("\t- ")
+			buf.WriteString(tmpl.Name())
+			buf.WriteString("\n")
+		}
+		debugPrint("Loaded HTML Templates (%d): \n%s\n", len(tmpl.Templates()), buf.String())
+	}
+}
+
 func debugPrint(format string, values ...interface{}) {
 	if IsDebugging() {
 		log.Printf("[GIN-debug] "+format, values...)

+ 1 - 0
gin.go

@@ -123,6 +123,7 @@ func (engine *Engine) allocateContext() *Context {
 
 func (engine *Engine) LoadHTMLGlob(pattern string) {
 	if IsDebugging() {
+		debugPrintLoadTemplate(template.Must(template.ParseGlob(pattern)))
 		engine.HTMLRender = render.HTMLDebug{Glob: pattern}
 	} else {
 		templ := template.Must(template.ParseGlob(pattern))