本文整理匯總了Golang中github.com/hypertornado/prago.Request.Log方法的典型用法代碼示例。如果您正苦於以下問題:Golang Request.Log方法的具體用法?Golang Request.Log怎麽用?Golang Request.Log使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/hypertornado/prago.Request
的用法示例。
在下文中一共展示了Request.Log方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: DevelopmentRecovery
func DevelopmentRecovery(p *prago.Request, recoveryData interface{}) {
if p.App().DevelopmentMode {
temp, err := template.New("development_error").Parse(developmentErrorTmpl)
if err != nil {
panic(err)
}
byteData := fmt.Sprintf("%s", recoveryData)
buf := new(bytes.Buffer)
err = temp.ExecuteTemplate(buf, "development_error", map[string]interface{}{
"name": byteData,
"subname": "500 Internal Server Error",
"stack": string(debug.Stack()),
})
if err != nil {
panic(err)
}
p.Response().Header().Add("Content-type", "text/html")
p.Response().WriteHeader(500)
p.Response().Write(buf.Bytes())
} else {
p.Response().WriteHeader(500)
p.Response().Write([]byte("We are sorry, some error occured. (500)"))
}
p.Log().Errorln(fmt.Sprintf("500 - error\n%s\nstack:\n", recoveryData))
p.Log().Errorln(string(debug.Stack()))
}
示例2: around
func (s *Sessions) around(request prago.Request, next func()) {
if request.IsProcessed() {
next()
return
}
sessionName := s.app.Data()["appName"].(string)
session, err := s.cookieStore.Get(request.Request(), sessionName)
if err != nil {
request.Log().Errorln("Session not valid")
request.Response().Header().Set("Set-Cookie", sessionName+"=; expires=Thu, 01 Jan 1970 00:00:01 GMT;")
panic(err)
}
flashes := session.Flashes()
if len(flashes) > 0 {
request.SetData("flash_messages", flashes)
prago.Must(session.Save(request.Request(), request.Response()))
}
request.SetData("session", session)
next()
}