improve log feature of ghttp.Server; remove trace for Notice/Warning functions for glog

This commit is contained in:
John
2019-11-15 22:50:31 +08:00
parent 1becc4932c
commit 635f5d36fd
4 changed files with 21 additions and 34 deletions

View File

@ -1,19 +1,12 @@
package main
import (
"crypto/tls"
"fmt"
"net/http"
"github.com/gogf/gf/net/ghttp"
)
func main() {
c := ghttp.NewClient()
c.Transport = &http.Transport{
TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
}
r, e := c.Clone().Get("https://127.0.0.1:8199")
fmt.Println(e)
fmt.Println(r.StatusCode)
r, err := ghttp.Get("http://127.0.0.1:8199/11111/11122")
fmt.Println(err)
fmt.Println(r.Header)
}

View File

@ -3,14 +3,16 @@ package main
import (
"github.com/gogf/gf/frame/g"
"github.com/gogf/gf/net/ghttp"
"github.com/gogf/gf/os/glog"
)
func main() {
s := g.Server()
s.SetIndexFolder(true)
s.BindHandler("/", func(r *ghttp.Request) {
glog.Println(r.Header)
r.Response.Write("hello world")
})
s.SetPort(8199)
s.SetPort(8999)
s.Run()
}

View File

@ -8,10 +8,6 @@ package ghttp
import (
"fmt"
"github.com/gogf/gf/errors/gerror"
"github.com/gogf/gf/os/gtime"
)
const (
@ -27,13 +23,13 @@ func (s *Server) handleAccessLog(r *Request) {
if r.TLS != nil {
scheme = "https"
}
content := fmt.Sprintf(`%d "%s %s %s %s %s"`,
s.config.Logger.File(s.config.AccessLogPattern).StackWithFilter(gPATH_FILTER_KEY).Stdout(s.config.LogStdout).Printf(
`%d "%s %s %s %s %s" %.3f, %s, "%s", "%s"`,
r.Response.Status,
r.Method, scheme, r.Host, r.URL.String(), r.Proto,
float64(r.LeaveTime-r.EnterTime)/1000,
r.GetClientIp(), r.Referer(), r.UserAgent(),
)
content += fmt.Sprintf(` %.3f`, float64(r.LeaveTime-r.EnterTime)/1000)
content += fmt.Sprintf(`, %s, "%s", "%s"`, r.GetClientIp(), r.Referer(), r.UserAgent())
s.config.Logger.File(s.config.AccessLogPattern).StackWithFilter(gPATH_FILTER_KEY).Stdout(s.config.LogStdout).Println(content)
}
// 处理服务错误信息主要是panichttp请求的status由access log进行管理
@ -49,16 +45,12 @@ func (s *Server) handleErrorLog(err error, r *Request) {
scheme = "https"
}
content := fmt.Sprintf(`%v, "%s %s %s %s %s"`, err, r.Method, scheme, r.Host, r.URL.String(), r.Proto)
if r.LeaveTime > r.EnterTime {
content += fmt.Sprintf(` %.3f`, float64(r.LeaveTime-r.EnterTime)/1000)
} else {
content += fmt.Sprintf(` %.3f`, float64(gtime.Microsecond()-r.EnterTime)/1000)
}
content += fmt.Sprintf(` %.3f`, float64(r.LeaveTime-r.EnterTime)/1000)
content += fmt.Sprintf(`, %s, "%s", "%s"`, r.GetClientIp(), r.Referer(), r.UserAgent())
if s.config.ErrorStack {
if stack := gerror.Stack(err); stack != "" {
content += "\n" + stack
}
}
s.config.Logger.File(s.config.AccessLogPattern).Stack(false).Stdout(s.config.LogStdout).Error(content)
s.config.Logger.File(s.config.AccessLogPattern).Stack(s.config.ErrorStack).Stdout(s.config.LogStdout).Errorf(
`%v, "%s %s %s %s %s" %.3f, %s, "%s", "%s"`,
err, r.Method, scheme, r.Host, r.URL.String(), r.Proto,
float64(r.LeaveTime-r.EnterTime)/1000,
r.GetClientIp(), r.Referer(), r.UserAgent(),
)
}

View File

@ -84,7 +84,7 @@ func (l *Logger) Debugf(format string, v ...interface{}) {
// It also prints caller stack info if stack feature is enabled.
func (l *Logger) Notice(v ...interface{}) {
if l.checkLevel(LEVEL_NOTI) {
l.printErr("[NOTI]", v...)
l.printStd("[NOTI]", v...)
}
}
@ -92,7 +92,7 @@ func (l *Logger) Notice(v ...interface{}) {
// It also prints caller stack info if stack feature is enabled.
func (l *Logger) Noticef(format string, v ...interface{}) {
if l.checkLevel(LEVEL_NOTI) {
l.printErr("[NOTI]", l.format(format, v...))
l.printStd("[NOTI]", l.format(format, v...))
}
}
@ -100,7 +100,7 @@ func (l *Logger) Noticef(format string, v ...interface{}) {
// It also prints caller stack info if stack feature is enabled.
func (l *Logger) Warning(v ...interface{}) {
if l.checkLevel(LEVEL_WARN) {
l.printErr("[WARN]", v...)
l.printStd("[WARN]", v...)
}
}
@ -108,7 +108,7 @@ func (l *Logger) Warning(v ...interface{}) {
// It also prints caller stack info if stack feature is enabled.
func (l *Logger) Warningf(format string, v ...interface{}) {
if l.checkLevel(LEVEL_WARN) {
l.printErr("[WARN]", l.format(format, v...))
l.printStd("[WARN]", l.format(format, v...))
}
}