adjust log behavior for goc server and agent

This commit is contained in:
jichangjun 2020-06-15 17:34:54 +08:00
parent 99fe3e5fe4
commit 76b03178c0
2 changed files with 10 additions and 7 deletions

View File

@ -145,9 +145,10 @@ func clearFileCover(counter []uint32) {
func registerHandlers() { func registerHandlers() {
ln, host, err := listen() ln, host, err := listen()
if err != nil { if err != nil {
log.Fatalf("profile listen failed, err:%v", err) log.Fatalf("listen failed, err:%v", err)
} }
log.Println("profile listen on", host)
fmt.Printf("[goc] goc agent listened on: %s \n", host)
profileAddr := "http://" + host profileAddr := "http://" + host
if resp, err := registerSelf(profileAddr); err != nil { if resp, err := registerSelf(profileAddr); err != nil {
log.Fatalf("register address %v failed, err: %v, response: %v", profileAddr, err, string(resp)) log.Fatalf("register address %v failed, err: %v, response: %v", profileAddr, err, string(resp))
@ -220,7 +221,7 @@ func registerSelf(address string) ([]byte, error) {
resp, err := http.DefaultClient.Do(req) resp, err := http.DefaultClient.Do(req)
if err != nil && isNetworkError(err) { if err != nil && isNetworkError(err) {
log.Printf("[WARN]error occured:%v, try again", err) log.Printf("[goc][WARN]error occured:%v, try again", err)
resp, err = http.DefaultClient.Do(req) resp, err = http.DefaultClient.Do(req)
} }
defer resp.Body.Close() defer resp.Body.Close()

View File

@ -48,16 +48,18 @@ func Run(port string) {
if err != nil { if err != nil {
log.Fatalf("failed to create log file %s, err: %v", LogFile, err) log.Fatalf("failed to create log file %s, err: %v", LogFile, err)
} }
r := GocServer(f)
// both log to stdout and file by default
mw := io.MultiWriter(f, os.Stdout)
r := GocServer(mw)
log.Fatal(r.Run(port)) log.Fatal(r.Run(port))
} }
// GocServer init goc server engine // GocServer init goc server engine
func GocServer(w io.Writer) *gin.Engine { func GocServer(w io.Writer) *gin.Engine {
if w != nil && w != os.Stdout { if w != nil {
gin.DefaultWriter = io.MultiWriter(w, os.Stdout) gin.DefaultWriter = w
} }
r := gin.Default() r := gin.Default()
// api to show the registered services // api to show the registered services
r.StaticFile(PersistenceFile, "./"+PersistenceFile) r.StaticFile(PersistenceFile, "./"+PersistenceFile)