Template debugging

This commit is contained in:
Manu Mtz-Almeida 2015-08-03 17:28:12 +02:00
parent fd5d4294a5
commit 2b3aa51738
2 changed files with 18 additions and 1 deletions

View File

@ -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
gin.go
View File

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