listeners: improve logging
This commit is contained in:
parent
99287f68e3
commit
5fb3d517ed
18
listeners.go
18
listeners.go
@ -130,23 +130,31 @@ func updateListeners(port string) error {
|
|||||||
if _, ok := listeners[host]; ok {
|
if _, ok := listeners[host]; ok {
|
||||||
// confirm found
|
// confirm found
|
||||||
delete(vanished, host)
|
delete(vanished, host)
|
||||||
} else {
|
continue
|
||||||
|
}
|
||||||
|
addr := net.JoinHostPort(host, port)
|
||||||
|
ln, err := net.Listen("tcp", addr)
|
||||||
|
if err != nil {
|
||||||
|
log.Println(err) // err includes enough context
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
log.Printf("now listening on %s", addr)
|
||||||
// add a new listener
|
// add a new listener
|
||||||
srv := &http.Server{
|
srv := &http.Server{
|
||||||
Addr: net.JoinHostPort(host, port),
|
|
||||||
Handler: http.HandlerFunc(authenticated),
|
Handler: http.HandlerFunc(authenticated),
|
||||||
}
|
}
|
||||||
listeners[host] = srv
|
listeners[host] = srv
|
||||||
go func(host string, srv *http.Server) {
|
go func(host string, srv *http.Server) {
|
||||||
err := srv.ListenAndServe()
|
err := srv.Serve(ln)
|
||||||
log.Printf("listener for %q died: %v", host, err)
|
log.Printf("serving on %s: %v", addr, err)
|
||||||
listenersMu.Lock()
|
listenersMu.Lock()
|
||||||
defer listenersMu.Unlock()
|
defer listenersMu.Unlock()
|
||||||
delete(listeners, host)
|
delete(listeners, host)
|
||||||
}(host, srv)
|
}(host, srv)
|
||||||
}
|
|
||||||
}
|
}
|
||||||
for host := range vanished {
|
for host := range vanished {
|
||||||
|
log.Printf("no longer listening on %s", net.JoinHostPort(host, port))
|
||||||
listeners[host].Close()
|
listeners[host].Close()
|
||||||
delete(listeners, host)
|
delete(listeners, host)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user