frp/pkg/util/log/log_extend.go
曹海迪 7b5d6913f9 Merge branch '0341'
# Conflicts:
#	client/admin_api.go
#	client/control.go
#	client/proxy/proxy.go
#	client/service.go
#	cmd/frpc/sub/root.go
#	pkg/util/log/log_extend.go
#	pkg/util/net/kcp.go
#	pkg/util/net/udp.go
#	server/group/tcp.go
#	server/ports/ports.go
#	server/service.go
2020-11-06 08:57:59 +08:00

34 lines
559 B
Go

package log
import (
"sync"
"time"
)
var logListeners = make([]LogListener, 0)
var lock sync.Mutex
type LogListener interface {
Log(log string)
Location() string
}
func AppendListener(l LogListener) {
lock.Lock()
logListeners = append(logListeners, l)
lock.Unlock()
}
func CallLogListeners(log string) {
lock.Lock()
for _, l := range logListeners {
location, _ := time.LoadLocation(l.Location())
if location == nil {
location = time.UTC
}
l.Log(time.Now().In(location).Format("2006/01/02 15:04:05") + ": " + log)
}
lock.Unlock()
}