v1.1 (#751)
* Implement QueryArray and PostArray methods * Refactor GetQuery and GetPostForm * Removed additional Iota I think assigning iota to each constant is not required * Add 1.7 test. * Add codecov.io * corrected a typo in README * remove coveralls services. Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com> * Update TravisCI to Gitter webhook * Add codecov.yml Gitter webhook * Changed imports to gopkg instead of github in README (#733) * Add contribution guide * Update go get for stable version In the future, github default branch will be develop so running `go get github.com/gin-gonic/gin` will pull latest code from develop. * Changed imports to gopkg instead of github in README * Update README.md * Logger: skip ANSI color commands if output is not a tty
This commit is contained in:
committed by
GitHub
parent
bb159f9260
commit
32cab500ec
15
logger.go
15
logger.go
@ -7,7 +7,10 @@ package gin
|
||||
import (
|
||||
"fmt"
|
||||
"io"
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"golang.org/x/crypto/ssh/terminal"
|
||||
)
|
||||
|
||||
var (
|
||||
@ -44,6 +47,11 @@ func Logger() HandlerFunc {
|
||||
// LoggerWithWriter instance a Logger middleware with the specified writter buffer.
|
||||
// Example: os.Stdout, a file opened in write mode, a socket...
|
||||
func LoggerWithWriter(out io.Writer, notlogged ...string) HandlerFunc {
|
||||
isTerm := true
|
||||
if outFile, ok := out.(*os.File); ok {
|
||||
isTerm = terminal.IsTerminal(int(outFile.Fd()))
|
||||
}
|
||||
|
||||
var skip map[string]struct{}
|
||||
|
||||
if length := len(notlogged); length > 0 {
|
||||
@ -71,8 +79,11 @@ func LoggerWithWriter(out io.Writer, notlogged ...string) HandlerFunc {
|
||||
clientIP := c.ClientIP()
|
||||
method := c.Request.Method
|
||||
statusCode := c.Writer.Status()
|
||||
statusColor := colorForStatus(statusCode)
|
||||
methodColor := colorForMethod(method)
|
||||
var statusColor, methodColor string
|
||||
if isTerm {
|
||||
statusColor = colorForStatus(statusCode)
|
||||
methodColor = colorForMethod(method)
|
||||
}
|
||||
comment := c.Errors.ByType(ErrorTypePrivate).String()
|
||||
|
||||
fmt.Fprintf(out, "[GIN] %v |%s %3d %s| %13v | %s |%s %s %-7s %s\n%s",
|
||||
|
Reference in New Issue
Block a user