彩色控制臺
This commit is contained in:
		
							
								
								
									
										26
									
								
								bin/main.go
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								bin/main.go
									
									
									
									
									
								
							@@ -33,8 +33,25 @@ func stringToInt(str string, defaultValue int) int {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func LogComponent(startTime int64, r *http.Request) {
 | 
			
		||||
	endTime := fmt.Sprintf("%dms", (time.Now().UnixNano()-startTime)/1000000)
 | 
			
		||||
	log.Println(r.Method, r.URL, endTime)
 | 
			
		||||
	ms := (time.Now().UnixNano() - startTime) / 1000000
 | 
			
		||||
	color := "\033[1;32m%d\033[0m"
 | 
			
		||||
	if ms > 800 {
 | 
			
		||||
		color = "\033[1;31m%dms\033[0m" // 紅色加重
 | 
			
		||||
	} else if ms > 500 {
 | 
			
		||||
		color = "\033[1;33m%dms\033[0m" // 黃色加重
 | 
			
		||||
	} else if ms > 300 {
 | 
			
		||||
		color = "\033[1;32m%dms\033[0m" // 綠色加重
 | 
			
		||||
	} else if ms > 200 {
 | 
			
		||||
		color = "\033[1;34m%dms\033[0m" // 藍色加重
 | 
			
		||||
	} else if ms > 100 {
 | 
			
		||||
		color = "\033[1;35m%dms\033[0m" // 紫色加重
 | 
			
		||||
	} else {
 | 
			
		||||
		color = "\033[1;36m%dms\033[0m" // 黑色加重
 | 
			
		||||
	}
 | 
			
		||||
	endTime := fmt.Sprintf(color, ms)
 | 
			
		||||
	method := fmt.Sprintf("\033[1;32m%s\033[0m", r.Method) // 綠色加重
 | 
			
		||||
	url := fmt.Sprintf("\033[1;34m%s\033[0m", r.URL)       // 藍色加重
 | 
			
		||||
	log.Println(method, url, endTime)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type User struct {
 | 
			
		||||
@@ -174,6 +191,11 @@ func main() {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
 | 
			
		||||
		defer LogComponent(time.Now().UnixNano(), r) // 最后打印日志
 | 
			
		||||
		w.Write([]byte("Hello World!"))
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	// 获取浏览记录
 | 
			
		||||
	http.HandleFunc("/history", func(w http.ResponseWriter, r *http.Request) {
 | 
			
		||||
		defer LogComponent(time.Now().UnixNano(), r) // 最后打印日志
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								go.mod
									
									
									
									
									
								
							@@ -39,5 +39,6 @@ require (
 | 
			
		||||
	github.com/chai2010/webp v1.1.1
 | 
			
		||||
	github.com/go-sql-driver/mysql v1.7.0
 | 
			
		||||
	github.com/sizeofint/gif-to-webp v0.0.0-20210224202734-e9d7ed071591
 | 
			
		||||
	golang.org/x/exp v0.0.0-20230321023759-10a507213a29
 | 
			
		||||
	golang.org/x/image v0.0.0-20211028202545-6944b10bf410 // indirect
 | 
			
		||||
)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								go.sum
									
									
									
									
									
								
							@@ -231,6 +231,8 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0
 | 
			
		||||
golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
 | 
			
		||||
golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
 | 
			
		||||
golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
 | 
			
		||||
golang.org/x/exp v0.0.0-20230321023759-10a507213a29 h1:ooxPy7fPvB4kwsA2h+iBNHkAbp/4JxTSwCmvdjEYmug=
 | 
			
		||||
golang.org/x/exp v0.0.0-20230321023759-10a507213a29/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc=
 | 
			
		||||
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
 | 
			
		||||
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
 | 
			
		||||
golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user