修改日志功能
This commit is contained in:
parent
83b9e076f9
commit
531d708f7b
19
cmd/frp/log.go
Normal file
19
cmd/frp/log.go
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
package frp
|
||||||
|
|
||||||
|
import "github.com/fatedier/frp/utils/log"
|
||||||
|
|
||||||
|
type FrpLogListener interface {
|
||||||
|
Log(log string)
|
||||||
|
Location() string
|
||||||
|
}
|
||||||
|
|
||||||
|
// type FrpLogListener struct {
|
||||||
|
// name string
|
||||||
|
// }
|
||||||
|
|
||||||
|
// func (l *FrpLogListener) Log(log string) {
|
||||||
|
// }
|
||||||
|
|
||||||
|
func SetFrpLogListener(l FrpLogListener) {
|
||||||
|
log.AppendListener(l)
|
||||||
|
}
|
@ -67,22 +67,27 @@ func SetLogLevel(logLevel string) {
|
|||||||
|
|
||||||
func Error(format string, v ...interface{}) {
|
func Error(format string, v ...interface{}) {
|
||||||
Log.Error(format, v...)
|
Log.Error(format, v...)
|
||||||
|
CallLogListeners("[Error] " + fmt.Sprintf(format, v...))
|
||||||
}
|
}
|
||||||
|
|
||||||
func Warn(format string, v ...interface{}) {
|
func Warn(format string, v ...interface{}) {
|
||||||
Log.Warn(format, v...)
|
Log.Warn(format, v...)
|
||||||
|
CallLogListeners("[Warn] " + fmt.Sprintf(format, v...))
|
||||||
}
|
}
|
||||||
|
|
||||||
func Info(format string, v ...interface{}) {
|
func Info(format string, v ...interface{}) {
|
||||||
Log.Info(format, v...)
|
Log.Info(format, v...)
|
||||||
|
CallLogListeners("[Info] " + fmt.Sprintf(format, v...))
|
||||||
}
|
}
|
||||||
|
|
||||||
func Debug(format string, v ...interface{}) {
|
func Debug(format string, v ...interface{}) {
|
||||||
Log.Debug(format, v...)
|
Log.Debug(format, v...)
|
||||||
|
CallLogListeners("[Debug] " + fmt.Sprintf(format, v...))
|
||||||
}
|
}
|
||||||
|
|
||||||
func Trace(format string, v ...interface{}) {
|
func Trace(format string, v ...interface{}) {
|
||||||
Log.Trace(format, v...)
|
Log.Trace(format, v...)
|
||||||
|
CallLogListeners("[Trace] " + fmt.Sprintf(format, v...))
|
||||||
}
|
}
|
||||||
|
|
||||||
// Logger
|
// Logger
|
||||||
|
33
utils/log/log_extend.go
Normal file
33
utils/log/log_extend.go
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
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()
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user